音视频处理概要

最近要想办法把录制的音视频进行拼接.

比方说此次录制的视频有三段,通过高清直播编码器录制,录制下的标准为h.264

直接用ffmpeg简单拼接,音频会丢失,所以有了此次解决方案(有可能会繁琐,简单方案还在探索中)

1 将分段的文件各自提取音频及视频,音频提取为wave流,视频提取为ts.

视频转为标准格式 音频转为wav

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.ts|2.ts|3.ts" -acodec copy -vcodec copy -absf aac_adtstoasc output.mp4

3 将mp3格式音频与合并后的ts视频再次进行音视频合并

录像中音频和视频相差500毫秒, 这里重新调整,让音视频对齐

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

4 得到最终的音视频文件

output_all.mp4

其中提取音频为wave流在转为mp3格式有种脱裤子放屁感觉

因为对ffmpeg命令不熟悉,准备系统查看下,看是否可以直接提取mp3音频

准备将这套方案写为脚本,进行自动化拼接.

猜你喜欢

转载自www.cnblogs.com/jeroen/p/10606355.html