web-dev-qa-db-fra.com

quel est le codec pour les vidéos mp4 dans python OpenCV

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

La ligne ci-dessus est utilisée pour la vidéo avi. De la même manière, quel codec utilisons-nous pour les vidéos mp4 dans Ubuntu?

15

Le codec est H.264.

L'un d'eux devrait fonctionner pour vous:

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

Cependant, je dois vous avertir que vous devrez probablement avoir ffmpeg et x264 bibliothèques installées donc depuis que vous êtes sous Ubuntu, essayez de faire cette commande dans le terminal :

Sudo apt-get install ffmpeg x264 libx264-dev

Consultez également ce lien des didacticiels OpenCV pour plus de détails sur les types de codes FourCC disponibles pour votre plate-forme.

Dans le lien ci-dessus, il est indiqué X264 est le code FourCC que vous devez utiliser, mais passez de l'un à l'autre jusqu'à ce qu'il fonctionne.

10
rayryeng

Vous pouvez aussi utiliser mp4v

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

où le vidéaste devrait ressembler à ceci:

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

Mais il y a plus de codecs disponibles pour mp4. Vous pouvez voir leur liste en définissant fourcc = -1, il affichera une liste comme celle-ci:

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
....

Tous supportent mp4 mais h264 est pris en charge par les navigateurs Web si vous souhaitez diffuser la vidéo sur le Web.

5
Gonzalo Garcia

C'est une vieille question. Mais, si quelqu'un est confronté à un problème récemment en utilisant le codec qui ne peut pas obtenir une vidéo enregistrée. Ils peuvent utiliser 0X00000021 comme valeur de codec pour OpenCV 3 et versions ultérieures.

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

Semble toujours fonctionner.

0
PeterB