如何在Python3中识别视频格式?
我想打开一个指定的文件,然后看到类似“这是一个MP4文件”或者“这是一个webm文件”,甚至是“这似乎不是一个有效的视频”的提示。
我看到有一个FFmpeg的封装库,地址在https://code.google.com/p/pyffmpeg/,但是我没有找到里面有什么获取编码格式的函数。
大家有什么想法吗?
3 个回答
0
你可以通过 python-magic
来使用和 Unix 系统中 file
工具相同的功能。具体可以参考这个链接:有没有和 Unix 中的 "file" 工具相对应的 Python 工具?
3
我的Python有点生疏了,不过快速看了一下这个模块,发现了一些东西。
要获取编码器的ID:
Track.CodecCtx.codec_id
要获取编码器本身(AVCodec):
Track.Codec
AVCodec里面包含了编码器的名称。
4
看看这个Hachoir。它的功能是“从多媒体文件中提取元数据”。
下面是他们从一个AVI文件中提取元数据的例子:
$ hachoir-metadata pacte_des_gnous.avi
Common:
- Duration: 4 min 25 sec
- Comment: Has audio/video index (248.9 KB)
- MIME type: video/x-msvideo
- Endian: Little endian
Video stream:
- Image width: 600
- Image height: 480
- Bits/pixel: 24
- Compression: DivX v4 (fourcc:"divx")
- Frame rate: 30.0
Audio stream:
- Channel: stereo
- Sample rate: 22.1 KHz
- Compression: MPEG Layer 3