FFMPEG gem 未为 rails 中的视频生成正确的比特率值

FFMPEG gem is not generate correct bitrate value for a video in rails

提问人:Francis 提问时间:6/12/2023 最后编辑:Francis 更新时间:6/23/2023 访问量:61

问:

我在 rails 中使用 FFMPEG gem,我想将视频的比特率值存储在表中

我把这段代码放在实用程序库/模块中

movie = FFMPEG::Movie.new(path)
media_detail = {duration: movie.duration, bitrate: movie.bitrate, resolution: movie.resolution}

在显示页面上,我使用 rails helper 方法进行更易于理解的表示number_to_human_size

number_to_human_size(convert_bit_to_byte(file.bitrate))

def convert_bit_to_byte(bitrate_value)
     (bitrate_value.to_i*125)
end

因此,我想要一个视频的平均比特率值(以字节为单位),以便获得良好的表示方法,但我没有得到平均值,FFMPEG gem 按预期生成所有内容,但仅在比特率方面存在一些问题。number_to_human_size

Ruby-on-Rails 宝石 Ruby-on-Rails-3 FFmpeg 红宝石

评论

1赞 Holger Just 6/12/2023
究竟什么是“某些问题”?请编辑您的问题(而不仅仅是添加评论)以添加有关您的问题的更多详细信息。
0赞 Francis 6/12/2023
@HolgerJust我更新了我的问题

答:

0赞 Francis 6/14/2023 #1

在所有 FFMPEG gem 中,Airst 以每秒比特为单位为视频生成比特率,我正在尝试将 b/ps 传递给需要以每秒字节数而不是每秒比特数为单位的数据的 rails 辅助方法。number_to_human_size

为此,我从一开始就没有改变任何东西

movie = FFMPEG::Movie.new(path)
media_detail = {duration: movie.duration, bitrate: movie.bitrate, resolution: movie.resolution}

但是从终点开始,我将像这样将我的数据转换为字节

number_to_human_size(convert_byte(file.bitrate))
def convert_byte(bitrate_value)
     (bitrate_value.to_i/8)
end