音視頻處理概要 markdown

最近要想辦法把錄製的音視頻進行拼接.

比方說這次錄製的視頻有三段,經過高清直播編碼器錄製,錄製下的標準爲h.264編碼

直接用ffmpeg簡單拼接,音頻會丟失,因此有了這次解決方案(有可能會繁瑣,簡單方案還在探索中)code

1.將分段的文件各自提取音頻及視頻,音頻提取爲wave流,視頻提取爲ts.

視頻轉爲標準格式 音頻轉爲wav視頻

這裏音頻參數須要查看下原始視頻文件中的音頻信息直播

查看文件信息命令:自動化

ffmpeg -i 1.mp4

轉換命令:音頻

ffmpeg -i 1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts 1.ts

ffmpeg -i 1.mp4 -vn -ar 8000 -ac 1 -ab 64k -acodec pcm_alaw -f wav 1.wav

2.將wave流轉爲mp3格式,進行合併,將ts視頻直接進行合併

ffmpeg -i 1.wav -f mp3 -acodec libmp3lame -y 1.mp3
ffmpeg -i "concat:1.mp3|2.mp3|3.mp3" -acodec copy output.mp3

ffmpeg -i "concat:1.ts|2.ts|3.ts" -acodec copy -vcodec copy -absf aac_adtstoasc output.mp4

3.將mp3格式音頻與合併後的ts視頻再次進行音視頻合併

錄像中音頻和視頻相差500毫秒, 這裏從新調整,讓音視頻對齊ffmpeg

ffmpeg -i output.mp3 -i output.mp4 -filter_complex "adelay=500|500" output_all.mp4

4.獲得最終的音視頻文件

output_all.mp4腳本

其餘

其中提取音頻爲wave流在轉爲mp3格式有種脫褲子放屁感受filter

由於對ffmpeg命令不熟悉,準備系統查看下,看是否能夠直接提取mp3音頻文件

看來能夠啊,把倆命令合併一下就好了

ffmpeg -i 1.mp4 -c copy -ar 8000 -ac 2 -ab 64k -f mp3 -acodec libmp3lame -y 1.mp3

準備將這套方案寫爲腳本,進行自動化拼接.

相關文章
相關標籤/搜索