【问题标题】:What is the difference of duration bitrate and stream bitrate in ffmpeg/ffprobe?ffmpeg / ffprobe中的持续时间比特率和流比特率有什么区别?
【发布时间】:2019-02-09 16:25:38
【问题描述】:

为什么 ffmpeg / ffprobe 为流和整个文件提供不同的比特率值?

当我使用 ffprobe 分析 mp3 文件时,它会在第一行和第二行给出不同的比特率。 有谁知道,有什么区别?

// File 1, there is problem
Duration: 02:05:47.04, start: 0.000000, bitrate: 193 kb/s
Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 192 kb/s

// File 2, no problem
Duration: 02:05:51.05, start: 0.000000, bitrate: 192 kb/s
Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 192 kb/s

(我需要获取有关文件的正确信息,因为我会处理这些文件以进行指纹识别)

【问题讨论】:

    标签: ffmpeg ffprobe


    【解决方案1】:

    如果您想要音频流的实际比特率,则需要对其进行解析。

    ffmpeg -i file -c copy -map 0:a -f null -
    

    记下最后一行的音频流大小,例如audio:8624kB 和上面一行的持续时间,例如time=00:03:43.16。将第一个除以第二个得到流的平均比特率。

    如果您想要名义比特率,即为编码器设置的目标,那么它就是 Stream 的读数。

    格式比特率,即start: 旁边的格式比特率是粗略的,只是将文件大小除以持续时间。但这包括所有流和标头。对于具有单个视频 + 单个音频的文件很有用,但对其他人无效。

    【讨论】:

      猜你喜欢
      • 2013-12-30
      • 1970-01-01
      • 1970-01-01
      • 2020-01-25
      • 1970-01-01
      • 1970-01-01
      • 2016-11-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多