FFmpeg 或 PHP-FFmpeg 0.19.0:如何合并视频文件和音频文件(mp3)

FFmpeg 或 PHP-FFmpeg 0.19.0:如何合并视频文件和音频文件(mp3)

如何使用 PHP-FFmpeg 或 FFmpeg 命令删除视频的当前音频并将该视频与其他音频文件(mp3)合并。

  • 情况 1:音频时长为 8 分钟,视频时长为 22 秒。在这种情况下:音频结束时循环播放视频。

  • 情况 2:音频时长为 8 分钟,视频时长为 10 分钟。在这种情况下:音频结束时将停止并保存一个新的 mp4 文件。

答案1

对于每种情况,你都需要两个不同的命令,但都非常简单:情况 1: -stream_loop -1无限循环播放一个文件;此处用到的其他选项将在案例 2 中解释

ffmpeg -stream_loop -1 -i video.mp4 -i audio.mp3 -shortest -map 0:v -map 1:a -c copy output.mp4

情况 2:对于这种情况,你应该使用-shortest标志,当最短输入终止时强制输出终止。

-map功能使这变得简单。

这个问题很好,因为两种情况都允许极其执行速度快,因为不需要重新编码。(确保通过-c copy以利用这一点!)

以下是一句话: ffmpeg -i video.mp4 -i audio.mp3 -shortest -c copy -map 0:v -map 1:a output.mp4

相关内容