![](/img/trans.png)
[英]Saving video from frames in with fourcc codec h264 and h265 with opencv
[英]Save video in opencv with H264 codec
我正在使用opencv-python==4.5.1.48
和python3.9
docker。我想保存一个h264格式的视频。 这是我的 function 保存视频:
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 第 14 部分)' OpenCV:FFMPEG:回退使用标签 0x31/6avc 代码无法找到编码器 0x316avc 代码id 27: 未找到编码器
我搜索并阅读了一些解决方案,但没有一个能解决我的问题。
更新:
我还安装了这篇文章中推荐的libx264-dev
,但没有用。
下面是我在ubuntu20.04上的解决方案:
sudo apt install build-essential cmake git python3-dev python3-numpy \
libavcodec-dev libavformat-dev libswscale-dev \
libgstreamer-plugins-base1.0-dev \
libgstreamer1.0-dev libgtk-3-dev \
libpng-dev libjpeg-dev libopenexr-dev libtiff-dev libwebp-dev \
libopencv-dev x264 libx264-dev libssl-dev ffmpeg
python -m pip install --no-binary opencv-python opencv-python
最后,我找到了解决方案。 我可以在ubuntu:20.04
docker 中解决我的问题。 您应该注意的重要一点是,您应该通过apt-get install python3-opencv
安装 OpenCV 而不是使用pip
。
您可以自己构建 opencv(如上所述)或做一个更快的解决方案:安装 anaconda3 并在创建新环境后运行“conda install -c conda-forge opencv”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.