7

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

我想也许 gstreamer 可以在这里帮助我,但我找不到可以在这里帮助我的 API。

有任何想法吗?我也愿意接受任何建议,只要它是免费软件就不需要是 gstreamer :-) fs

4

3 回答 3

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

只需使用 subprocess.check_output 调用它,您将获得媒体文件的精美 JSON 描述。如果您需要它从标准输入中获取数据,请将 YOUR_FILE 替换为 pipe:0。

ffprobe 带有 ffmpeg。

于 2012-02-02T23:36:14.383 回答
3

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

其他一些选择:


编辑:

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

于 2010-07-31T12:25:16.497 回答
1

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

于 2010-08-04T13:15:20.330 回答