You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用CV2将图片合成视频时输出文件过小无有效内容问题求助

问题根因

你得到无效小体积视频的核心原因是 VideoWriter 初始化时指定的帧尺寸 frameSize 和实际读取的图片尺寸不匹配,OpenCV 不会自动适配帧尺寸,尺寸不符时帧数据不会被成功写入,最终仅生成空的视频头文件,也就是你拿到的6KB无效文件。

修复方案

  • 读取每张图片后统一缩放到你指定的(500, 500)尺寸,再写入视频
  • 可更换兼容性更强的编码格式,避免部分Windows以外的系统不支持DIVX编码导致写入失败
  • 可选:对glob读取的文件名做排序,避免最终视频的帧顺序错乱

修改后完整代码

import cv2
import numpy as np
import glob

frameSize = (500, 500)
# 若需要生成兼容性更强的mp4格式,可替换为下方编码配置
# out = cv2.VideoWriter('output_video.mp4', cv2.VideoWriter_fourcc(*'mp4v'), 2, frameSize)
out = cv2.VideoWriter('output_video.avi', cv2.VideoWriter_fourcc(*'DIVX'), 2, frameSize)

for filename in glob.glob('thumbnails/*.jpg'):
    print(filename)
    img = cv2.imread(filename)
    # 新增缩放逻辑,统一帧尺寸
    img = cv2.resize(img, frameSize)
    out.write(img)

out.release()

内容的提问来源于stack exchange,提问作者lorenz saladin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 17:24:07