吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1885|回复: 7
收起左侧

[讨论] 如何使用python+ffmpeg将几十个视频两两组合成新的视频文件?

[复制链接]
KeepMoving428 发表于 2021-10-27 22:19
先给出代码,大佬们看看,能否优化一下,或者改写成批处理的bat脚本文件也行
[Python] 纯文本查看 复制代码
# encoding=utf-8

import os

import itertools


def randomMerge(ffmpeg_path, videos_path, concat_list_path):

    # 定义一个数组

    L = []



    # 访问 videos 文件夹 (假设视频都放在这里面)

    for root, dirs, files in os.walk(videos_path):

        # 按文件名排序

        files.sort()

        # 遍历所有文件

        for file in files:

            # 如果后缀名为 .mp4

            if os.path.splitext(file)[1] == '.mp4':

                # 拼接成完整路径

                filePath = os.path.join(root, file)

                # 添加到数组

                L.append(filePath)



    # 计算排列组合(两两组合)

    pp = list(itertools.permutations(list(L), 2))

    total = len(pp)

    for i in range(0, total):

        # print(pp[i])

        concat_file_path = concat_list_path + str(i) + ".txt"

        # print(concat_file_path)

        with open(concat_file_path, 'a', encoding='utf-8') as f:

            video_one = "file " + "'" + pp[i][0] + "'" + "\n"

            video_two = "file " + "'" + pp[i][1] + "'" + "\n"

            f.write(video_one)

            f.write(video_two)

        result_file_path = videos_path + "\\random\\" + str(i) + ".mp4"

        # print(result_file_path)

        # 拼接好运行ffmpeg的命令行语句

        cmd = ffmpeg_path + " -f concat -safe 0 -i " + concat_file_path + " -c copy " + result_file_path

        # print(cmd)

        # 调用cmd命令行执行ffmpeg拼接视频

        os.popen(cmd)


def main():

    #使用前,要先配置好ffmpeg的环境变量,并删除videos_path中txt文件夹下的所有文件

    ffmpeg_path = "D:\\FFmpeg\\bin\\ffmpeg"

    videos_path = "C:\\Users\\Yan\\Desktop\\videos"

    concat_list_path = videos_path + "\\txt\\"

    mp4_flie_path = videos_path + "\\mp4"



    # 从多个视频中,每次选2个视频合并,两两组合

    # randomMerge(ffmpeg_path, videos_path, concat_list_path)



if __name__ == '__main__':

    main()



发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

头像被屏蔽
细水流长 发表于 2021-10-27 23:05
提示: 作者被禁止或删除 内容自动屏蔽
shengforever 发表于 2021-10-28 08:50
xuexixiaobai 发表于 2021-10-28 09:32
ynboyinkm 发表于 2021-10-28 10:20
收藏了,学习学习python
 楼主| KeepMoving428 发表于 2021-10-29 17:01
shengforever 发表于 2021-10-28 08:50
你这是要搞视频伪原创么

是的啊,就是要批量搞伪原创视频。
 楼主| KeepMoving428 发表于 2021-10-29 17:02
xuexixiaobai 发表于 2021-10-28 09:32
是不是要批量加片头啊

不是的。
 楼主| KeepMoving428 发表于 2021-10-29 17:06
细水流长 发表于 2021-10-27 23:05
一次全部合并不好吗,为啥要两两组合?

两两组合,相当于在剪映、Pr这种工具里面做混剪。我做的就是类似于批量混剪。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 20:53

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表