为什么当我使用opencv的VideoWriter复制视频时,数据变得非常大,是原始视频的6倍

时间:2019-12-25 11:17:16

标签: python opencv

video = "myVideo.mp4"
out_vidoe_path = "cooy_myVideo.mp4"
cap = cv2.VideoCapture(video)    
video_FourCC = int(cap.get(cv2.CAP_PROP_FOURCC))
video_fps = cap.get(cv2.CAP_PROP_FPS)
video_size = (int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)),
              int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)))
vwriter = cv2.VideoWriter(out_vidoe_path, video_FourCC,video_fps, video_size, isColor=True)

flag = True
while flag:
    flag, dis = cap.read()
    newDis = dis
    vwriter.write(newDis)

cap.release()
vwriter.release()
  

此代码仅用于复制原始视频,没想到要复制   大很多之后,我哪里不好做

1 个答案:

答案 0 :(得分:0)

这是因为VideoWriter创建的视频的压缩率与原始视频的压缩率不同。您可以通过更改FourCC来选择其他方法,但是很遗憾,您无法控制压缩率。

我要做的是我通过OpenCV创建视频,然后在Linux中通过以下命令使用FFMPEG对其进行压缩: ffmpeg -i uncompressed.avi -c:v libx264 -preset veryslow -qp 0 compressed.mkv
您可以在此处更改压缩率0(无损)。