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 如何先编码然后将其用于另一个输出

使用 AVAudioPlayer 播放音频文件时 iPhone 崩溃且来电中断播放

java - 您可以在诺基亚手机 (N80/N95) 上使用 Java Midlet 录制音频而 JVM 不会泄漏内存吗?

c# - 如何在 C# 中获取播放音频(不是系统音量)的软件中的音量?

android - 如何为 Android 构建 SDL 库

video - 如何使用选定的音频流将视频转换为 hls?

ios - 使用 AudioUnit 录制设备音频输出

iOS 音频文件无法播放

java - 使用 libopencore-amr 支持为 ARM 构建 ffmpeg

python - 在 Ubuntu 18.04 上使用 CUDA 和 FFMpeg 编译 OpenCV 时出错