opencv - 多帧图片串联成视频

fourcc = cv2.VideoWriter_fourcc(*'mp4v')
fourcc = cv2.VideoWriter_fourcc(*'X264')
fourcc的类型介绍:
http://www.fourcc.org/codecs.php

当采用H264的时候, 有时候生成视频会找不到编码器
Could not find encoder for codec id 27: Encoder not found
首先查看自己电脑是否装了: opencv-pythonopencv-contrib-python
pip install opencv-python
pip install opencv-contrib-python
如果2个都装了, 那么卸载重装试试。我是这样解决的, 我也不知道原因。。。但这并不是一个有效的解决办法。

我发现很多人都有这个问题, 想直接用opencv保存成h264的视频, 都会出现各种的问题, 保存成mpeg编码格式的, 就没有问题。 其实, opencv在生成h264编码的视频时, 调用的是ffmpeg, 所以我们不如直接尝试用ffmpeg串联图片合成视频。

当然, 我们还可以生成mpeg编码的视频, 然后再使用ffmpeg转成h264的, 这也是个不错的选择。
ffmpeg -i old_video.mp4 new_output.mp4

import cv2
# 输出路径
videoPath = './output_video.mp4'
# 表示视频流格式
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
# 25表示输出视频每秒25帧, (512,288)表示输出的视频的尺寸
videoWriter = cv2.VideoWriter(videoPathTmp, fourcc, 25, (512, 288))
for i in range(1000):
    framePath = 'videoFrame' + '/' + str(i) + '.png'
    frame = cv2.imread(framePath)
    frame = cv2.resize(frame, (512,288))
    videoWriter.write(frame)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值