【发布时间】:2015-05-07 13:49:02
【问题描述】:
fourcc = cv2.cv.CV_FOURCC(*'XVID')
以上行用于 avi 视频。同样,我们在 Ubuntu 中为 mp4 视频使用哪种编解码器?
【问题讨论】:
-
您认为这些答案中的任何一个都是正确的吗?可以标记一下吗?
标签: python opencv ubuntu mp4 codec
fourcc = cv2.cv.CV_FOURCC(*'XVID')
以上行用于 avi 视频。同样,我们在 Ubuntu 中为 mp4 视频使用哪种编解码器?
【问题讨论】:
标签: python opencv ubuntu mp4 codec
你也可以使用mp4v
fourcc = cv2.VideoWriter_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。
【讨论】:
编解码器是 H.264。
其中一个应该适合您:
fourcc = cv2.VideoWriter_fourcc(*'h264')
#or
#fourcc = cv2.VideoWriter_fourcc(*'x264')
#or
#fourcc = cv2.VideoWriter_fourcc(*'mp4v')
但是,我应该警告您,您可能需要安装 ffmpeg 和 x264 库,所以既然您在 Ubuntu 中,请尝试在 终端 中执行以下命令:
sudo apt-get install ffmpeg x264 libx264-dev
另外,请查看 OpenCV 教程中的 this link,了解有关适用于您的平台的 FourCC 代码种类的更多详细信息。
在上面的链接中,它说X264 是您应该使用的 FourCC 代码,但要在它们之间切换,直到您让它工作为止。
【讨论】:
sudo apt-get install ffmpeg x264 libx264-dev 将编解码器与打开的 cv 4 分开安装的所有解决方案中,都能让它在我的 Raspberry Pi 3 上运行。谢谢!
fourcc = cv2.VideoWriter_fourcc('m','p','4','v')
似乎总是有效。
【讨论】:
这是一个老问题。但是,如果有人最近在使用无法获取已保存视频的编解码器时遇到问题。他们可以使用0X00000021 作为 OpenCV 3 及更高版本的编解码器值。
【讨论】:
我必须重新安装 ffmpeg 并从源代码编译 opencv 才能使其正常工作。我在blog post 中记录了这些步骤。
【讨论】: