比方說這次錄製的視頻有三段,經過高清直播編碼器錄製,錄製下的標準爲h.264編碼
直接用ffmpeg簡單拼接,音頻會丟失,因此有了這次解決方案(有可能會繁瑣,簡單方案還在探索中)code
視頻轉爲標準格式 音頻轉爲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
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
錄像中音頻和視頻相差500毫秒, 這裏從新調整,讓音視頻對齊ffmpeg
ffmpeg -i output.mp3 -i output.mp4 -filter_complex "adelay=500|500" output_all.mp4
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
準備將這套方案寫爲腳本,進行自動化拼接.