ffmpeg视频合并后丢失声音



第一个视频无声,合并之后整个视频无声

ffmpeg -f concat -i bear.txt -vsync vfr -pix_fmt yuv420p wrapper.mp4


合成视频时候 ffmpeg默认以第一个视频为标准

上面是我用图片合成的一个视频作为封面,里面没有没有音频。导致合成后的整个视频都会没有声音,

解决方法:给第一个视频添加音频
ffmpeg -i 1.mp4 -i a.mp3 -vcodec copy -acodec copy 1.mp4

ps:如果是图片合成的视频,上面命令可能会报错,建议重新合成视频,此时一定得加上音频
ffmpeg -r 15 -f image2 -loop 1 -i 图片.png -i 音频.mp3 -s 1920x1080 -pix_fmt yuvj420p -t 278 -vcodec libx264 输出.mp4

参数介绍
-loop 1 :因为只有一张图片所以必须加入这个参数(循环这张图片)
-pix_fmt:指定图片输入格式(有yuv420,yuv444等各种格式)
-t :图片转换成视频的持续时长,单位是秒(S),必须指定该值,否则会无限制生成视频
-s :指定视频的分辨率
-vcodec libx264:生成视频的编码格式,这里指定的是x264


fbs(帧率)的导致音视不同步:

以上两个视频合并之后,必然会音视不同步的,因为视频帧率不一样,合并之后视频帧率会取平均值,导致画面会时快时慢。

解决方法:更改视频帧率,统一帧率
ffmpeg -i 1.mp4 -qscale 0 -r 10 -y 2.mp4

阅读量: 664
发布于:
修改于: