潇洒郎:用python批量给一文件夹中的所有视频添加视频广告——合并视频

落爺英雄遲暮 提交于 2019-11-27 12:12:49

批量合并视频,在视频开头添加“广告”——为什么添加广告?猜?

准备好‘视频广告.mp4’,以及待处理的视频,如图:
在这里插入图片描述
在命令行运行代码:
‘’‘传入参数为视频广告mp4文件路径,输入文件夹路径,输出文件夹路径’’’
python C:\Users\xiaosalang\Desktop\mp4+m1p54.py C:\Users\xiaosalang\Desktop\视频广告.mp4 C:\Users\xiaosalang\Desktop\22 C:\Users\xiaosalang\Desktop\输出
在这里插入图片描述
很快视频就合并完成,具体时间与视频大小有关
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

下面是具体实现代码:

import os, sys
'''批量给一文件夹中的所有视频添加视频广告'''

def name0(p1):
    for root, dirs, files in os.walk(p1):
        for i in files:
            path=root+'/'+i
            yield path,i.replace(',','')  #文件绝对路径与文件全名包括后缀

def mp4_compose(file_path0, file_path1,new ):
    '''传入参数为视频广告mp4文件路径,输入文件夹,输出文件夹'''
    isExist=os.path.exists(new)
    if not isExist:
        os.mkdir(new)
    m=1
    ff1=open(file_path0, 'rb')
    fff1 = ff1.read()
    ff1.close()
    for j,k in name0(file_path1):
        new0 = '%s/%s' % (new, k)
        f = open(new0, 'ab+')
        f.write(fff1)
        with open(j, 'rb') as ff2:  # 再写入原mp4
            fff2 = ff2.read()
            f.write(fff2)
        f.close()
        os.remove(j)  # 移除原来的mp4,否则导致空间不够
        print('完成%s' % m)
        m+=1

if __name__ == '__main__':
    file_path0, file_path1, new = sys.argv[1], sys.argv[2], sys.argv[3]
    mp4_compose(file_path0, file_path1, new )


很开心与各位大神分享!如有不足,请指教!
转载请标注出处!谢谢!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!