【发布时间】:2022-01-11 18:31:02
【问题描述】:
我正在使用opencv-python==4.5.1.48 和python3.9 码头工人。我想以 h264 格式保存视频。这是我保存视频的功能:
import cv2
def save_video(frames):
fps = 30
video_path = '/home/save_test.mp4'
fourcc = cv2.VideoWriter_fourcc(*'h264')
video_writer = cv2.VideoWriter(video_path, fourcc, fps, (112, 112))
for frame in frames:
video_writer.write(frame)
video_writer.release()
当我使用 .mp4 格式保存视频时,出现以下错误:
OpenCV:FFMPEG:标签 0x34363268/'h264' 不支持编解码器 ID 27 和格式 'mp4 / MP4 (MPEG-4 Part 14)' OpenCV: FFMPEG: fallback to 使用标签 0x31637661/'avc1' 找不到编解码器 id 27 的编码器: 未找到编码器
我搜索并阅读了一些解决方案,但没有一个能解决我的问题。
更新:
我还安装了libx264-dev,这是在这个post 中推荐的,但是没有用。
【问题讨论】:
-
使用
avc1fourcc -- opencv 可能使用它自己的ffmpeg,所以你在系统中安装什么并不重要 -
谢谢。我将
h264更改为avc1并收到此错误:Could not find encoder for codec id 27: Encoder not found -
因为没有帮助,我猜你不能使用 H.264 github.com/opencv/opencv-python/issues/207 或者你必须自己构建 OpenCV,或者找到一个无视 GPL 的包——使用不同的编解码器.
MJPG始终有效,因为它内置于 OpenCV 中。或者mp4v,那是H.264的前身。