音视频处理概要 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

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

相关文章
相关标签/搜索