fourcc = cv2.cv.CV_FOURCC(*'XVID')
Вышеприведенная строка используется для видео AVI. Таким же образом, какой кодек мы используем для mp4-видео в Ubuntu?
fourcc = cv2.cv.CV_FOURCC(*'XVID')
Вышеприведенная строка используется для видео AVI. Таким же образом, какой кодек мы используем для mp4-видео в Ubuntu?
Кодек H.264.
Один из них должен работать для вас:
fourcc = cv2.cv.CV_FOURCC(*'H264')
#or
#fourcc = cv2.cv.CV_FOURCC(*'X264')
Однако я должен предупредить вас, что вам, вероятно, понадобится установить библиотеки ffmpeg
и x264
поэтому, поскольку вы находитесь в Ubuntu, попробуйте выполнить следующую команду в терминале:
sudo apt-get install ffmpeg x264 libx264-dev
Также ознакомьтесь с этой ссылкой из учебных пособий OpenCV для получения более подробной информации о видах кодов FourCC, доступных для вашей платформы.
В приведенной выше ссылке написано, что X264
- это код FourCC, который вы должны использовать, но переключайтесь между ними, пока он не заработает.
Вы также можете использовать 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, но h264
поддерживается веб-браузерами, если вы хотите разместить видео в Интернете.
Это старый вопрос. Но если кто-то сталкивается с проблемой в последнее время, используя кодек, который не может получить сохраненное видео. Они могут использовать 0X00000021
как значение кодека для OpenCV 3 и более поздних версий.