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?
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.
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.
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.
fourcc = cv2.VideoWriter_fourcc('m','p','4','v')
Semble toujours fonctionner.