我使用的是 ubuntu 22.04。
我用apt安装了ffmpeg。
我正在使用 python/opencv2 (通过 pip 安装)从一些图像文件创建视频
当我使用时:
cv2.VideoWriter_fourcc(*"mp4v")
视频创建成功,但firefox不支持。
我在网上看到 H264 编码器更适合网络浏览器支持。
ffmpeg -codecs | grep h264
显示:
DEV.LS h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 第 10 部分(解码器:h264 h264_v4l2m2m h264_qsv h264_cuvid )(编码器:libx264 libx264rgb h264_nvenc h264_omx h264_qsv h264_v4 l2m2m h264_vaapi nvenc nvenc_h264 )
但是
cv2.VideoWriter_fourcc(*"h264")
结果:
OpenCV:FFMPEG:编解码器 ID 27 和格式“mp4 / MP4(MPEG-4 第 14 部分)”不支持标签 0x34363268/'h264'
我在网上找不到问题所在(h264没有安装,如何安装?h264的'fourcc'不是'h264'?我不应该创建*.mp4文件?)
要编写H.264,需要使用fourcc
*"avc1"
如果仍然不起作用,OpenCV 中内置的 ffmpeg 可能有限制,禁止与 x264 编码器捆绑。有带有 x264 编码器的 ffmpeg 版本。使用它需要自己构建 OpenCV。
如果该选项可用,OpenCV/ffmpeg 会通知您可以使用“OpenH264”库。这需要从 Cisco 下载 DLL。