Surefire确定媒体文件编解码器的方法

时间:2010-01-10 15:13:19

标签: wrapper codec

我正在寻找一种确定音频或视频文件中使用的编解码器的可靠方法。我目前使用的两件事是文件扩展名(显而易见),以及通过在文件上运行`file -ib'确定的mime类型。

这似乎并没有让我一路走来:大量的格式是“包装”格式,隐藏了其中使用的确切编解码器 - 例如,'.ogg'文件可以在内部使用Vorbis,Speex或FLAC编解码器。它们的MIME类型通常也隐藏在'application / ogg'或类似的名称下。

`file'程序显然能够告诉我使用了哪个编解码器,但它将此作为人类可读的散文返回:

kb.ogg: Ogg data, Vorbis audio, stereo, 44100 Hz, ~0 bps

因此以编程方式使用是狡猾的。

我基本上要问的是:是否有一个脚本(任何语言)可以浏览这些包装格式并告诉我该文件的内容是什么?

2 个答案:

答案 0 :(得分:2)

ffmpeg包含一个名为libavformat的库,可以打开和解压几乎任何媒体格式。显然这比实际需要的多,但我认为你不能找到其他任何完整的东西。我自己用它并取得了巨大的成功。请查看this article的介绍。对于某些常见的脚本语言,还有这些库的绑定,例如python

(如果您不想使用库构建某些内容,则可以使用常规的ffmpeg二进制文件。)

答案 1 :(得分:0)

您始终可以使用自己的magic文件,从预先安装的magic文件中复制和修改,并更改返回字符串,以便程序可以轻松解析它。

请参阅:

相关问题