如何用Python合并多个视频

2022-11-21 13:48:12 浏览数 (1)

视频处理的本质就是对图像的连续处理。那么视频的合并和剪切其实就是对图片的组合,多个视频的合并和剪切就是读取视频中的图片进行重新排列组合。这次分享的内容,是把多个视频合并成一个视频。

当然,你也可以使用目前比较流行的视频剪辑软件,进行合并也非常方便。但是,当视频打到一定的数量之后,处理效率也会下降。这时通过程序自动化合并,是非常高效的。

具体如何实现,我们通过下面的程序来完成:

代码语言:javascript复制
# 合并多个视频文件
def merge_video(src,new_video_name="merge.avi"):
    vw = cv2. cv2.VideoWriter(new_video_name,cv2.VideoWriter_fourcc('X', 'V', 'I', 'D'), 24, (600, 480))
    mp4_list = [x for x in os.listdir(src) if x[-4:] == ".mp4"]

    for mp4 in mp4_list:
        capture = cv2.VideoCapture("../%s"% mp4)
        fps = capture.get(cv2.CAP_PROP_FPS)
        if capture.isOpened():
            i = 0
            while i < fps * 17.5:
                i  = 1
                ret,prev = capture.read()
            if ret is True:
                if fps == 24:
                    vw.write(prev)
                else:
                    vw.write(prev)
            else:
                break
    vw.release()
    cv2.destroyAllWindows()

上述函数需要传入两个参数,一个为合并后视频文件的名称;一个为待合并的视频文件目录。运行这段程序后,会将src目录下的所有MP4文件按安装读取的顺序进行合并。

0 人点赞