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

时间:2012-06-08 08:29:53

标签: parsing ffmpeg wav flac

我需要解析ffmpegs元数据输出,但由于某种原因在wav和flac文件之间存在差异。

拉​​克:

(int) 14 => '  Duration: 00:03:18.93, bitrate: 1045 kb/s',
(int) 15 => '    Stream #0:0: Audio: flac, 44100 Hz, stereo, s16',

的Wav:

(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',

我也可以从持续时间线获得比特率,但我觉得它有什么不同?未来版本会有更多差异吗?真的很糟糕,从ffmpeg获取信息没有比解析它的输出更好的方法了。有更好的想法吗?

这是我的整个ffmpeg输出和我的解析结果:

http://pastebin.com/4qJfzZNL

2 个答案:

答案 0 :(得分:0)

流线提供不同的信息,因为每个编解码器都有不同的参数。您将需要解析该行,并根据您需要的音频类型来理解它之后的那些参数。

您可以在持续时间行中使用比特率,但如果不知道正在使用哪个编解码器,这可能会产生误导。

答案 1 :(得分:0)

我最后使用ffmpeg附带的ffprobe解决了它。

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

See the writers section关于它支持的格式的文档,我使用过json,但也支持xml,csv和ini。