0.提取音頻視頻
提取視頻文件(提取出的視頻無聲音):
ffmpeg -i input.mp4 -vcodec copy -an output.mp4
提取視頻中的音頻(提取出單獨的音頻文件)
ffmpeg -i input.mp4 -acodec copy -vn output.mp3
ffmpeg -i input.mp4 -f wav -ar 16000 -vn output.wav
ffmpeg -i input.mp4 -vn -ab 256k output.m4a
1.合並音頻和視頻
ffmpeg -i video.mp4 -i audio.wav -c:v copy -c:a aac -strict experimental output.mp4
音頻和視頻的格式應該沒有限制,我使用webm視頻和webm音頻同樣可以合成,但是輸出格式是 mp4
如果視頻中已經包含
了音頻,這個時候還可以替換
視頻中的音頻,使用下面命令行。
ffmpeg -i video.mp4 -i audio.wav -c:v copy -c:a aac -strict experimental -map 0:v:0 -map 1:a:0 output.mp4
2.使用ffmpeg裁剪和合並視頻
2.1 剪切視頻
使用 -ss
和 -t
選項,從第0
秒開始,向后截取31
秒視頻,並保存
ffmpeg -ss 00:00:00 -i video.mp4 -vcodec copy -acodec copy -t 00:00:31 output1.mp4
從第01:33:30 開始,向后截取 00:47:16 視頻,並保存
ffmpeg -ss 01:33:30 -i video.mp4 -vcodec copy -acodec copy -t 00:47:16 output2.mp4
2.2 合並視頻
把剪切得到的兩個視頻合並成一個視頻
使用 TS格式拼接視頻
先將 mp4 轉化為同樣編碼形式的 ts
流,因為 ts流是可以 concate
的,先把 mp4 封裝成 ts ,然后 concate ts 流, 最后再把 ts 流轉化為 mp4。
ffmpeg -i output1.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb output1.ts
ffmpeg -i output2.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb output2.ts
為了減少命令的輸入,需要一個filelist.txt文件,里面內容如下
file 'output1.ts'
file 'output2.ts'
合並視頻命令
ffmpeg -f concat -i filelist.txt -acodec copy -vcodec copy -absf aac_adtstoasc output.mp4