使用FFMPEG将启动屏幕添加到视频的开头



我拼命想添加一个防溅屏。我在做什么:

  1. 将静止图像转换为";ts";带有静音音频流的文件

ffmpeg -loop 1 -i image.png -c:v libx264 -t 10 -c:a libvo_aacenc -b:a 160k -bsf:v h264_mp4toannexb -f mpegts -crf 32 image.ts

  1. 现在,获取原始视频并将其转换为"ts";文件也是

ffmpeg -i video.mp4 -c:v libx264 -c:a aac -b:a 160k -bsf:v h264_mp4toannexb -f mpegts -crf 32 video.ts

  1. 现在,将2";ts";文件

ffmpeg -i "concat:image.ts|video.ts" -c:v libx264 -c:a aac -b:a 160k -bsf:v -y output.mp4

问题:

  1. 输出文件生成得很好,但音频完全丢失。";输出.mp4";在步骤#3中生成的视频实际上具有音轨,但是闪屏视频使音频静音。

  2. 我也无法添加过渡。我对此做了很多研究,但无法补充,请帮忙。

我真的很感激你的想法!谢谢

使用concat协议或解复用器时,所有文件都必须包含相应的流。在这种情况下,启动文件没有音频。让我们加一个。

ffmpeg -loop 1 -i image.png -f lavfi -i anullsrc -t 10 -pix_fmt yuv420p -c:v libx264 -crf 32 -ac 2 -ar 48000 -c:a aac -b:a 160k -f mpegts image.ts

ffmpeg -i video.mp4 -pix_fmt yuv420p -c:v libx264 -crf 32 -ac 2 -ar 48000 -c:a aac -b:a 160k -f mpegts video.ts

ffmpeg -i "concat:image.ts|video.ts" -c copy output.mp4

(如果libvo_aacenc对你有效,那么你的ffmpeg太旧了。几年前就取消了对它的支持。升级到v4.3(


如果您希望初始图像淡出,请更改为

ffmpeg -loop 1 -i image.png -f lavfi -i anullsrc -t 10 -vf "fade=out:st=9:d=1" -c:v libx264 -pix_fmt yuv420p -crf 32 -ac 2 -ar 48000 -c:a aac -b:a 160k -f mpegts image.ts

这将使飞溅图像在9到10秒的时间范围内淡出。

(注意:我添加了pix_fmt选项,以确保输出广泛兼容(

最新更新