ffmpeg提取音頻視頻,合並音頻視頻


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

參考:使用ffmpeg裁剪和合並視頻
參考:ffmpeg:提取音視頻、合並音視頻
參考:使用FFmpeg合並音視頻


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM