python 合成视频段

有多个视频,为了测试方便,从每个视频中取一段合成为一个视频。

import cv2
import argparse

def parse_args():
    args = argparse.ArgumentParser()
    args.add_argument('videos',nargs='+')
    return args.parse_args()

def videos2img(videos):
	fps = 25
	size = (1920, 1080)
	fourcc = cv2.VideoWriter_fourcc(*'MJPG')
	videoWriter = cv2.VideoWriter('concat.mp4', fourcc, fps, size)

	for video in videos:
		videoCapture = cv2.VideoCapture(video)
	
		count = 0
		success, frame = videoCapture.read()
		while success:
			if count < 300:
				videoWriter.write(frame)
				# cv2.imshow("winname", frame)
				# cv2.waitKey()
				success, frame = videoCapture.read()
				if frame.shape[1] < 1920:
					frame = cv2.resize(frame, size, interpolation=cv2.INTER_CUBIC)
					# cv2.imshow("winname", frame)
					# cv2.waitKey()
				count += 1
			else:
				break

if __name__ == "__main__":
	args = parse_args()
	videos2img(args.videos)


猜你喜欢

转载自blog.csdn.net/u012420309/article/details/78972416