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

ekqde3dh  于 2023-06-22  发布在  Ruby
关注(0)|答案(1)|浏览(121)

我在rails中使用FFMPEG gem,我想在一个表中存储视频的比特率值
我把这段代码放在实用程序库/模块中

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

在show页面上,我使用了number_to_human_size rails helper方法,以便更容易理解

number_to_human_size(convert_bit_to_byte(file.bitrate))

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

因此,我想要一个平均比特率值为视频字节为number_to_human_size方法良好的代表性,但我没有得到平均值和FFMPEG的宝石产生一切预期,但只有在比特率有一些问题。

8aqjt8rx

8aqjt8rx1#

所有FFMPEG gem中的Airst为视频生成比特率,以比特每秒为单位,我试图将b/ps传递给rails助手方法number_to_human_size,后者需要每秒字节而不是每秒比特数的数据。
为此我已经转换了数据从初始点

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

从这样的终点开始

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

相关问题