Python:检测视频容器中使用的编解码器
问题描述:
我有几个视频容器文件,其中包含各种编解码器中的音频和视频。现在我想从Python脚本中检查容器,以了解哪个编解码器用于音频+视频。这是在Linux机器上,所以我有必要的所有工具。Python:检测视频容器中使用的编解码器
我想也许gstreamer可以帮助我,但我无法找到一个可以帮助我的API。
任何想法?我也打开任何建议,只要它是免费软件,不需要成为gstreamer :-) fs
答
尝试下载ffmpeg源代码并查看其命令行程序的源代码。我过去曾经篡改过类似的公用事业。我没有发布我的解决方案,因为ffmpeg喜欢更改他们的API,所以我的旧代码不太可能用当前版本进行编译。您需要做足够的工作来创建编解码器上下文,您可以检查它以获取所需的内容。
其他一些备选方案:
的MediaInfo:http://mediainfo.sourceforge.net/en
G点(仅Windows):http://www.headbands.com/gspot/
编辑:
http://code.google.com/p/pyffmpeg/可能有你想要的东西(我没有使用它自己)。
答
ffprobe -show_format -show_streams -loglevel quiet -print_format json YOUR_FILE
只需使用subprocess.check_output调用此代码,就可以获得媒体文件的美丽JSON描述。如果你需要它从stdin中获取数据,用pipe替换YOUR_FILE:0。
ffprobe附带ffmpeg。
这意味着没有可以返回该信息的库吗? – 2010-07-31 14:23:06
我看着pyffmpeg,但我无法弄清楚如何获得我想要的信息。它也不会在我的Mac上进行编译而没有从邮件列表中大量修补,甚至当我试图用它打开一个文件时,它只是给我一个总线错误10。 – 2012-02-04 01:19:13