私は与えられたファイルを開き、 "これはMP4ファイルです"または "これはwebm"ファイル、または "これは有効なビデオではないようです"Python3でビデオフォーマットを特定する方法はありますか?
https://code.google.com/p/pyffmpeg/でFFmpegラッパーを見ましたが、その内部にget_codec関数の種類がありませんでした。
思考?
私は与えられたファイルを開き、 "これはMP4ファイルです"または "これはwebm"ファイル、または "これは有効なビデオではないようです"Python3でビデオフォーマットを特定する方法はありますか?
https://code.google.com/p/pyffmpeg/でFFmpegラッパーを見ましたが、その内部にget_codec関数の種類がありませんでした。
思考?
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
もう一つのオプションはpython-magic(libmagic wrapper)です。これは、人に知られているほとんどすべてのファイルタイプをサポートしています。さらに網羅的なメタデータについては、MediaInfoのラッパーであるpython-mediainfoを調べることができます。このMediaInfoは、ほぼすべてのビデオフォーマット(およびその他のもの)の網羅的なメタデータを提供します。 – Dakota
私のpythonはちょっと錆びますが、モジュールをすばやく見てみると、これらが上になります。
Track.Codec
AVCodecはコーデック名が含まれています。コーデック自体(AVCodec)を取得するには
Track.CodecCtx.codec_id
:コーデックIDを取得するには
。
[PythonでファイルのMIMEタイプを見つける方法?](http://stackoverflow.com/questions/43580/how- pythonのファイルタイプを見つけるために)には、これを行うためのいくつかのテクニックが含まれていますので、答えがこれにも当てはまります(たとえそれがタイトルから明白でなかったとしても)。 –
AVI/MKVのMIMEタイプを取得すると、内部データストリームではなくAVI/MKVがAVI/MKVとして返され、他の多くのフォーマットは圧縮ストリームのコンテナです。 – Geoffrey
@Geoffrey:まあ、「フォーマット」という言葉はあいまいです。 webmはコンテナであり、mp4も同様です。しかし、彼は "get_codec"と書いています。これは別のものです。 –