我目前正在使用python中的OpenCV来读取视频.mp4文件,该文件大小约为300kb,长度为1分钟和20秒。我注意到如果我从文件中读取每个帧,并使用OpenCV的功能将所述帧写入新文件,我的新视频副本大约为50Mb ...有人可以解释这是如何可行的以及如何解决它?
两个文件的编解码器是相同的:H.264
以下是代码:
import numpy as np
import cv2
cap = cv2.VideoCapture('/Users/video.mp4')
# Define the codec and create VideoWriter object
fourcc = cv2.VideoWriter_fourcc(*'avc1')
out = cv2.VideoWriter('output.mp4',fourcc, 50.0, (160, 210))
while(cap.isOpened()):
ret, frame = cap.read()
if ret==True:
out.write(frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
else:
break
# Release everything if job is finished
cap.release()
out.release()
cv2.destroyAllWindows()