opencv: 解决保存视频失败的问题

文章讲述了在使用OpenCV处理视频时,遇到编码不支持导致保存失败的问题,提出了解决方案:更换文件扩展名至avi并指定MJPEG编码格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘要:opencv能读取视频,但保存视频时报错。

一、首先要确保已经下载了openh264.dll文件,否则保存的视频无法打开,详细可以浏览这个:opencv:保存视频

二、保存视频时出现一下问题:
在这里插入图片描述

OpenCV:FFMPEG:tag 0x63766568/'hevc'is not supported with codec id 173 and format 'mp4 MP4 (MPEG-4 Part 14)
OpenCV:FFMPEG:fallback to use tag 0x31766568/'hev1'
[ERROR:0015.854]global /croot/opencv-suite_1676452025216/work/modules/videoio/src/cap_ffmpeg_impl.hpp (2927)open Could not find encoder for codec_id=173,error:Encoder not found
[ERROR:0015.854]global /croot/opencv-suite_1676452025216/work/modules/videoio/src/cap_ffmpeg_impl.hpp (3002)open VIDEOIO/FFMPEG:Failed to initialize VideoWriter
(python:20055):GStreamer-CRITICAL **12:13:57.995:gst_element_make_from_uri:assertion 'gst_uri_is_valid (uri)'failed
WARN:0015.857]global /croot/opencv-suite 1676452025216/work/modules/videoio/src/cap gstreamer.cpp (1813)close OpenCV GStreamer warning:No source in GStreamer pipeline.Ignore

我遇到这个问题时,读取的视频是mp4格式,保存时也按照原来的mp4保存,结果出现了图中的错误,估计是编码不合适。想要保存视频,需要改两行代码。
1、把保存的视频文件的后缀(原来的.mp4)改成 .avi:

video_out_file = video_name.replace('.mp4', '.avi')  # 视频名称

2、把ffmpeg保存的编码格式改成*mjpg:

fourcc = cv2.VideoWriter_fourcc('M', 'J', 'P', 'G')

修改以上两行代码,就可以保存成视频了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值