比方说这次录制的视频有三段,经过高清直播编码器录制,录制下的标准为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
准备将这套方案写为脚本,进行自动化拼接.