Hai*_*ran 2 ffmpeg mediainfo ffprobe
mediainfo我正在检查一个音频文件,注意到和返回的频道数量ffprobe不同。
命令mediainfo:
mediainfo audio.mp4
Run Code Online (Sandbox Code Playgroud)
命令ffprobe(查看channels值):
ffprobe -i audio.mp4 -show_streams
Run Code Online (Sandbox Code Playgroud)
有谁知道发生了什么事?这是供您自己测试的音频文件。
小智 5
AAC 内容,宣布为单声道。但 AAC 可能有一个隐藏的参数立体声功能,这使得这个公告在 99.99% 的情况下都不是现实(HE-AAC 很少用于单声道内容)。
\n如果在解码器初始化后检测到立体声,FFmpeg 无法从单声道切换到立体声,因此由于预期在某个时刻获得参数立体声,它会强制其输出为立体声。
\nMediaInfo 没有此限制,因此仅在检测到参数立体声时才显示立体声。此文件中未检测到参数立体声。
\n在这种情况下,MediaInfo 显示正确的值(单声道),而 FFmpeg 显示错误的值(立体声)。这里不怪罪 FFmpeg,他们的开发人员决定这样做是有充分理由的(解码和处理许多无法处理文件中间通道数变化的工具),只是不是您想要的。
\n如果您不相信,请尝试解码不同文件中的每个通道,然后比较文件。两个文件之间只有 1 个字节不同,该字节表示这是左声道还是右声道。音频数据是相同的:您的文件实际上是单声道的,甚至 FFmpeg 在解码时也同意这一点(实际上它会复制单声道)。
\nJ\xc3\xa9r\xc3\xb4me,MediaInfo的开发者。
\n| 归档时间: |
|
| 查看次数: |
1275 次 |
| 最近记录: |