ffmpeg/ffprobe 中的持续比特率和流比特率有什么区别?
What is the difference of duration bitrate and stream bitrate in ffmpeg/ffprobe?
为什么 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 -i file -c copy -map 0:a -f null -
记下最后一行的音频流大小,例如audio:8624kB
及其上方一行的持续时间,例如time=00:03:43.16
。将第一个除以第二个得到流的平均比特率。
如果您想要名义比特率,即为编码器设置的目标,那么它就是流的读数。
格式比特率,即 start:
旁边的比特率,是粗略的,只是将文件大小除以持续时间。但这包括所有流和 headers。对于单视频+单音频的文件有用,但对其他文件无效。
为什么 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 -i file -c copy -map 0:a -f null -
记下最后一行的音频流大小,例如audio:8624kB
及其上方一行的持续时间,例如time=00:03:43.16
。将第一个除以第二个得到流的平均比特率。
如果您想要名义比特率,即为编码器设置的目标,那么它就是流的读数。
格式比特率,即 start:
旁边的比特率,是粗略的,只是将文件大小除以持续时间。但这包括所有流和 headers。对于单视频+单音频的文件有用,但对其他文件无效。