音視頻處理概要 markdown
阿新 • • 發佈:2019-03-27
ann 流轉 編碼 put wave adt 最終 視頻處理 toa
最近要想辦法把錄制的音視頻進行拼接.
比方說此次錄制的視頻有三段,通過高清直播編碼器錄制,錄制下的標準為h.264
直接用ffmpeg簡單拼接,音頻會丟失,所以有了此次解決方案(有可能會繁瑣,簡單方案還在探索中)
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 -i output.mp3 -i output.mp4 -filter_complex "adelay=500|500" output_all.mp4
4.得到最終的音視頻文件
output_all.mp4
其他
其中提取音頻為wave流在轉為mp3格式有種脫褲子放屁感覺
因為對ffmpeg命令不熟悉,準備系統查看下,看是否可以直接提取mp3音頻
準備將這套方案寫為腳本,進行自動化拼接.
音視頻處理概要 markdown