Parsing flac和wav的ffmpeg输出不同,为什么?

Parsing flac和wav的ffmpeg输出不同,为什么?,parsing,ffmpeg,wav,flac,Parsing,Ffmpeg,Wav,Flac,我需要解析ffmpegs元数据输出,但由于某种原因,wav和flac文件之间有所不同 Flac: Wav: 我想我也可以从持续时间行中得到比特率,但为什么不同呢?将来的版本会有更多的差异吗?从ffmpeg中获取信息的最好方法就是解析其输出,这真是太糟糕了。还有更好的主意吗 以下是我的全部ffmpeg输出和解析结果: 由于每个编解码器具有不同的参数,因此流线提供不同的信息。您需要解析该行,并且根据音频类型,您需要理解该行后面的参数 您可以只在持续时间行中使用比特率,但在不知道使用哪种编解码器的情况

我需要解析ffmpegs元数据输出,但由于某种原因,wav和flac文件之间有所不同

Flac:

Wav:

我想我也可以从持续时间行中得到比特率,但为什么不同呢?将来的版本会有更多的差异吗?从ffmpeg中获取信息的最好方法就是解析其输出,这真是太糟糕了。还有更好的主意吗

以下是我的全部ffmpeg输出和解析结果:


由于每个编解码器具有不同的参数,因此流线提供不同的信息。您需要解析该行,并且根据音频类型,您需要理解该行后面的参数


您可以只在持续时间行中使用比特率,但在不知道使用哪种编解码器的情况下,这可能会产生误导。

我最终通过使用ffmpeg附带的ffprobe解决了这个问题

ffprobe -v quiet -show_streams -show_format -show_error -print_format <format> <file>
ffprobe-v quiet-show_streams-show_format-show_error-print_format

在关于它支持的格式的文档中,我使用了json,但也支持xml、csv和ini。

那么理论上每种格式都可以有另一种流数据结构?我找到了ffprobe,它允许我以更好的可解析方式获得输出,但请查看流部分第24行,我可以在今晚晚些时候尝试查看,但我无法从工作中访问pastebin,抱歉。嘿,感谢您的努力,但我最终将使用ffprobe,检查我的答案,它可能会帮助或改进您的工作。这使得解析数据变得非常容易。
(int) 13 => '  Duration: 00:00:15.00, bitrate: 1411 kb/s',
(int) 14 => '    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s',
ffprobe -v quiet -show_streams -show_format -show_error -print_format <format> <file>