![](/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.