美文网首页
MP4视频拼接

MP4视频拼接

作者: Himryang | 来源:发表于2017-08-16 01:39 被阅读504次

    问题和思路


    从央视CNTV上面抓取的视频每一集都分了好多段,得想办法把每一集合并成一个文件才行。MP4文件不像ts文件可以直接用copy /B input1+input2+... output,合并的结果并不是想要的。
    最近刚接触了开源神器ffmpeg,就看了看官方的manual和FFmpeg Basics这本书,了解了个大概,结合前辈的解决方法,用python自动读取文件名,然后生成bat代码(当然也可以直接用python执行cmd命令,命令有点多,效率问题,就用批处理啦)。

    解决过程


    先看现在下来的文件,一共10集,每集分成了8段:


    原视频文件

    直接上代码:

    import os
    dlist = os.listdir() #获取文件列表
    f = open('process.bat','w',encoding = 'utf-8') #创建批处理文件
    for n in range(0,10):  
        for i in dlist[0+n*8:8+n*8]:
            f.write('ffmpeg -i "%s" -codec copy -vbsf h264_mp4toannexb "%s.ts" \n'%(i,i[-6]))
        f.write('ffmpeg -i "concat:0.ts|1.ts|2.ts|3.ts|4.ts|5.ts|6.ts|7.ts" -codec copy -absf aac_adtstoasc "%s.mp4"\n' \
                %(dlist[n*8][-16:-8].replace(' ','')))
        f.write('del *.ts\n')
    f.close() 
    

    生成的批处理文件:


    process.bat

    在powershell中切换路径到指定文件夹,运行python脚本生成批处理文件,然后直接运行批处理文件。(cmd不好使,真不好使,呼...)
    处理完成后:


    处理后

    问题就解决了

    相关文章

      网友评论

          本文标题:MP4视频拼接

          本文链接:https://www.haomeiwen.com/subject/vdybrxtx.html