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

Fel*_*arz 6 python video gstreamer

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

我想也许gstreamer可以帮助我,但我无法找到一个可以帮助我的API.

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

Nic*_*ack 10

ffprobe -show_format -show_streams -loglevel quiet -print_format json YOUR_FILE
Run Code Online (Sandbox Code Playgroud)

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

ffprobe附带ffmpeg.


Mr *_*ooz 3

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

其他一些替代方案:


编辑:

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