audio - ffmpeg 在视频播放后添加音乐到视频播放

标签 audio ffmpeg

我正在使用 ffmpeg创建图像幻灯片。

我必须在后台添加音乐,它将播放到幻灯片的大小(如果音频长度大于视频,则切片音频,如果音频长度短于视频,则重复音频)

这就是我的脚本

ffmpeg -y \
-loop 1 -i in1.png \
-loop 1 -i in2.png \
-loop 1 -i in3.png \
-loop 1 -i in4.png \
-loop 1 -i in5.png \
-filter_complex \
"[0:v]trim=duration=6,fade=t=in:st=0:d=1,fade=t=out:st=5:d=1,setsar=1:1[v0]; \
 [1:v]trim=duration=6,fade=t=in:st=0:d=1,fade=t=out:st=5:d=1,setsar=1:1[v1]; \
 [2:v]trim=duration=6,fade=t=in:st=0:d=1,fade=t=out:st=5:d=1,setsar=1:1[v2]; \
 [3:v]trim=duration=6,fade=t=in:st=0:d=1,fade=t=out:st=5:d=1,setsar=1:1[v3]; \
 [4:v]trim=duration=6,fade=t=in:st=0:d=1,fade=t=out:st=5:d=1,setsar=1:1[v4]; \
 [v0][v1][v2][v3][v4]concat=n=5:v=1:a=0,setsar=1:1[v]" -i music.mp3 -shortest -map "[v]" -aspect 16:9 -r 24 shortSlideshow1234.mp4;

这会生成输出,但幻灯片是无声的,并且视频中没有音乐。

最佳答案

您还需要映射音频:

ffmpeg -y \
-loop 1 -framerate 24 -i in1.png \
-loop 1 -framerate 24 -i in2.png \
-loop 1 -framerate 24 -i in3.png \
-loop 1 -framerate 24 -i in4.png \
-loop 1 -framerate 24 -i in5.png \
-i music.mp3 \
-filter_complex \
"[0:v]trim=duration=6,fade=t=in:st=0:d=1,fade=t=out:st=5:d=1,setsar=1[v0]; \
 [1:v]trim=duration=6,fade=t=in:st=0:d=1,fade=t=out:st=5:d=1,setsar=1[v1]; \
 [2:v]trim=duration=6,fade=t=in:st=0:d=1,fade=t=out:st=5:d=1,setsar=1[v2]; \
 [3:v]trim=duration=6,fade=t=in:st=0:d=1,fade=t=out:st=5:d=1,setsar=1[v3]; \
 [4:v]trim=duration=6,fade=t=in:st=0:d=1,fade=t=out:st=5:d=1,setsar=1[v4]; \
 [v0][v1][v2][v3][v4]concat=n=5:v=1:a=0[v]" -map "[v]" -map 5:a shortSlideshow1234.mp4

关于audio - ffmpeg 在视频播放后添加音乐到视频播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48201488/

相关文章:

Ffmpeg:将 slider "image"在 "background"上从 0% 移动到 100% 与音频同步

javascript - 有没有办法随机播放碎片化的 mp4?

c#将实时帧记录为视频的最佳方法是什么

javascript - 嵌套函数中的变量返回未定义

javascript - Chrome 扩展麦克风捕获

c# - 使用C#Accord .Net从网络摄像头录制视频和音频

c# - 在使用 ffmpeg 和 ffserver 的情况下,数据流如何?

video - 如何使用 ffmpeg 加速视频和添加水印

android - 解码音频文件并重新编码为所需的 PCM 格式 : 44, 100 kHz,2 channel ,16 位

Iphone sdk - 如何在经过一段时间后的通话中播放声音?