命令列批量合併視訊指令碼
阿新 • • 發佈:2018-12-30
批量合併視訊頭部
需要ffmpeg, 目前直接安裝格式工廠, 使用格式工廠模組下的ffmpge.exe, 避免自己去下載原始碼和編譯
ffmpeg合併視訊的幾種方法
ffmpeg的合併方式有三種, 參考 : 這兒 , 我選擇配置檔案合併的方式, 因為其他兩種我這邊測試無法合併視訊:
ffmpeg -f concat -i mylist.txt -c copy output.mp4
mylist.txt為ffmpeg合併視訊的配置檔案,檔案格式如下:
# this is a comment file '/path/to/file1' file '/path/to/file2' file '/path/to/file3'
自己寫的bat批處理指令碼, 迴圈合併視訊
配置檔案config.txt
head1.mp4 kali1.mp4 f1.mp4
head2.mp4 kali2.mp4 f2.mp4
head3.mp4 kali3.mp4 f3.mp4
配置檔案的大概意思如下, 各個配置引數通過空格分隔 :
head1.mp4 和kali1.mp4合併成 f1.mp4
head2.mp4 和kali2.mp4合併成 f2.mp4
head3.mp4 和kali3.mp4合併成 f3.mp4
最終指令碼
迴圈config.txt配置檔案, 動態生成ffmpeg需要的配置檔案, 執行ffmpeg合併視訊命令
@echo off for /f "tokens=1,2,3 delims= " %%c in (config.txt) do ( cd .>c.txt echo file '%%c'>>c.txt echo file '%%d'>>c.txt ..\ffmpeg.exe -f concat -i c.txt -c copy %%e )
感想:
合併視訊的時候,必須要把兩個視訊的格式, 視訊解析度, 視訊幀數, 視訊位元率, 視訊的音訊解析度都轉成一摸一樣的, 否則總是無法成功合併視訊