簡體   English   中英

使用 H264 編解碼器將視頻保存在 opencv 中

[英]Save video in opencv with H264 codec

我正在使用opencv-python==4.5.1.48python3.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM