Python:检测视频容器中使用的编解码器

时间:2010-07-31 12:01:31

标签: python video gstreamer

我有几个视频容器文件,其中包含各种编解码器中的音频和视频。现在,我想从Python脚本检查容器,以了解哪个编解码器用于音频+视频。这是在linux盒子上,所以如果有必要我可以使用所有工具。

我认为也许gstreamer可以帮助我,但我无法找到一个可以帮助我的API。

有什么想法吗?我也对任何建议持开放态度,只要是免费软件就不需要gstreamer :-) FS

3 个答案:

答案 0 :(得分:9)

ffprobe -show_format -show_streams -loglevel quiet -print_format json YOUR_FILE

只需使用subprocess.check_output调用它,您就可以获得媒体文件的漂亮JSON描述。如果需要它从stdin中获取数据,请用管道替换YOUR_FILE:0。

ffprobe附带ffmpeg。

答案 1 :(得分:3)

尝试下载ffmpeg源并查看其命令行程序的源代码。我过去曾经破解过类似的公用事业。我没有发布我的解决方案因为ffmpeg喜欢更改他们的API,所以我的旧代码不太可能用当前版本编译。您需要做足够的工作来创建编解码器上下文,您可以检查它以获得所需的内容。

其他一些选择:


编辑:

http://code.google.com/p/pyffmpeg/可能有你想要的东西(我自己没有用过它)。

答案 2 :(得分:1)

您可以在Gstreamer中使用decodebin2。请查看TAE代码示例。