我正在寻找一种确定音频或视频文件中使用的编解码器的可靠方法。我目前使用的两件事是文件扩展名(很明显),以及通过在文件上运行“file -ib”确定的 mime 类型。
这似乎并没有让我一路走好:许多格式是“包装”格式,它们隐藏了其中使用的确切编解码器——例如,“.ogg”文件可以在内部使用 Vorbis、Speex 或 FLAC 编解码器。它们的 MIME 类型通常也隐藏在“application/ogg”或类似名称下。
`file' 程序显然能够告诉我使用了哪个编解码器,但它以人类可读的散文形式返回:
kb.ogg: Ogg data, Vorbis audio, stereo, 44100 Hz, ~0 bps
因此,以编程方式使用是不可靠的。
我实质上要问的是:是否有一个脚本(任何语言)可以遍历这些包装格式并告诉我文件的内容是什么?