什么是python OpenCV中mp4视频的编解码器

问题描述 投票:10回答:3
fourcc = cv2.cv.CV_FOURCC(*'XVID')

以上行用于avi视频。以同样的方式,我们在Ubuntu中使用哪种编解码器用于mp4视频?

python opencv ubuntu mp4 codec
3个回答
9
投票

编解码器是H.264。

其中一个应该适合你:

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

但是,我应该警告你,你可能需要安装ffmpegx264库,因为你在Ubuntu中,尝试在终端中执行以下命令:

sudo apt-get install ffmpeg x264 libx264-dev

另外,请查看OpenCV教程中的this link,了解有关适用于您的平台的FourCC代码类型的更多详细信息。

在上面的链接中,它说X264是你应该使用的FourCC代码,但是在它们之间切换直到你让它工作。


2
投票

你也可以使用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


1
投票

这是一个老问题。但是,如果有人在最​​近使用无法获取已保存视频的编解码器时遇到问题。他们可以使用0X00000021作为OpenCV 3及更高版本的编解码器值。

© www.soinside.com 2019 - 2024. All rights reserved.