fourcc = cv2.cv.CV_FOURCC(*'XVID')
上述行用于avi视频。以同样的方式,我们在Ubuntu中使用哪种编解码器用于mp4视频?
答案 0 :(得分:9)
编解码器是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教程中的this link,了解有关适用于您平台的FourCC代码种类的详细信息。
在上面的链接中,它说X264
是您应该使用的FourCC代码,但在它们之间切换,直到您开始工作。
答案 1 :(得分:2)
您也可以使用mp4v
fourcc = cv2.cv.CV_FOURCC(*'mp4v')
视频编写器应如下所示:
out = cv.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
受Web浏览器支持。
答案 2 :(得分:1)
这是一个老问题。但是,如果有人在最近使用无法获得已保存视频的编解码器时遇到问题。他们可以使用0X00000021
作为OpenCV 3及更高版本的编解码器值。
答案 3 :(得分:0)
fourcc = cv2.VideoWriter_fourcc('m','p','4','v')
似乎总是可行。
答案 4 :(得分:0)
我必须重新安装ffmpeg并从源代码编译opencv才能使它正常工作。我在此blog post中记录了步骤。