web-dev-qa-db-ja.com

python OpenCVのmp4ビデオのコーデックは何ですか

fourcc = cv2.cv.CV_FOURCC(*'XVID')

上記の行は、aviビデオに使用されます。同様に、Ubuntuのmp4ビデオにはどのコーデックを使用しますか?

15

コーデックはH.264です。

これらの1つはあなたのために働くはずです:

fourcc = cv2.cv.CV_FOURCC(*'H264')
#or 
#fourcc = cv2.cv.CV_FOURCC(*'X264')

ただし、おそらくffmpegおよびx264ライブラリがインストールされている必要があるので、Ubuntuを使用しているため、このコマンドをターミナル

Sudo apt-get install ffmpeg x264 libx264-dev

また、プラットフォームで使用できるFourCCコードの種類の詳細については、OpenCVチュートリアルの このリンク を確認してください。

上記のリンクでは、X264は使用するFourCCコードですが、機能するまでコードを切り替えます。

10
rayryeng

mp4vも使用できます

fourcc = cv2.cv.CV_FOURCC(*'mp4v')

ビデオライターは次のようになります。

out = cv2.VideoWriter('output.mp4',fourcc, 15, size)

ただし、mp4で使用できるコーデックは他にもあります。 fourcc = -1を設定すると、これらのリストを表示できます。次のようなリストが表示されます。

OpenCV: FFMPEG: format mp4 / MP4 (MPEG-4 Part 14)
fourcc tag 0x7634706d/'mp4v' codec_id 000C
fourcc tag 0x31637661/'avc1' codec_id 001B
fourcc tag 0x33637661/'avc3' codec_id 001B
fourcc tag 0x31766568/'hev1' codec_id 00AD
fourcc tag 0x31637668/'hvc1' codec_id 00AD
fourcc tag 0x7634706d/'mp4v' codec_id 0002
fourcc tag 0x7634706d/'mp4v' codec_id 0001
fourcc tag 0x7634706d/'mp4v' codec_id 0007
fourcc tag 0x7634706d/'mp4v' codec_id 003D
....

これらはすべてmp4をサポートしていますが、ビデオをWebに配信する場合は、h264がWebブラウザーでサポートされています。

5
Gonzalo Garcia

これは古い質問です。ただし、保存されたビデオを取得できないコーデックを使用して最近問題に直面している場合。 0X00000021 OpenCV 3以降のコーデック値として。

1
Ibrahim Yousuf
fourcc = cv2.VideoWriter_fourcc('m','p','4','v')

常に動作するようです。

0
PeterB