MP4視頻拼接

問題和思路


從央視CNTV上面抓取的視頻每一集都分了好多段,得想辦法把每一集合并成一個文件才行。MP4文件不像ts文件可以直接用copy /B input1+input2+... output,合并的結(jié)果并不是想要的。
最近剛接觸了開源神器ffmpeg,就看了看官方的manual和FFmpeg Basics這本書,了解了個大概,結(jié)合前輩的解決方法,用python自動讀取文件名,然后生成bat代碼(當然也可以直接用python執(zhí)行cmd命令,命令有點多,效率問題,就用批處理啦)。

解決過程


先看現(xiàn)在下來的文件,一共10集,每集分成了8段:


原視頻文件

直接上代碼:

import os
dlist = os.listdir() #獲取文件列表
f = open('process.bat','w',encoding = 'utf-8') #創(chuàng)建批處理文件
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不好使,真不好使,呼...)
處理完成后:


處理后

問題就解決了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容