Moh*_*ahi 11 python video opencv
我正在使用opencv-python==4.5.1.48和python3.9docker。我想以 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()
Run Code Online (Sandbox Code Playgroud)
当我使用 .mp4 格式保存视频时,出现以下错误:
OpenCV:FFMPEG:编解码器 ID 27 和格式“mp4 / MP4(MPEG-4 第 14 部分)”不支持标记 0x34363268/'h264' OpenCV:FFMPEG:回退使用标记 0x31637661/'avc1' 找不到编解码器的编码器id 27:未找到编码器
我搜索并阅读了一些解决方案,但没有一个解决我的问题。
更新:
我也安装了这篇文章libx264-dev中推荐的但没有用。
以下是我在 ubuntu20.04\xef\xbc\x9a 上的解决方案
\nsudo apt install build-essential cmake git python3-dev python3-numpy \\\nlibavcodec-dev libavformat-dev libswscale-dev \\\nlibgstreamer-plugins-base1.0-dev \\\nlibgstreamer1.0-dev libgtk-3-dev \\\nlibpng-dev libjpeg-dev libopenexr-dev libtiff-dev libwebp-dev \\\nlibopencv-dev x264 libx264-dev libssl-dev ffmpeg\n\n\npython -m pip install --no-binary opencv-python opencv-python\nRun Code Online (Sandbox Code Playgroud)\n\n
最后,我找到了解决方案。我可以在ubuntu:20.04docker中解决我的问题。您应该注意的重要一点是,您应该通过apt-get install python3-opencv不使用pip.