【问题标题】:FFmpeg concat audio with video or gif loopingFFmpeg concat 音频与视频或 gif 循环
【发布时间】:2017-12-19 15:27:00
【问题描述】:

我正在寻找一种在 FFmpeg 中将音频 (mp3) 与短视频循环或 gif 合并的解决方案。

我已经能够通过加入音频从图像生成视频,但视频在音频持续时间内保持静态帧,制作此命令的命令:

ffmpeg -loop 1 -i imagem.jpg -i audio.mp3 -vcodec h264 -tune stillimage -acodec aac -b:a 64k -pix_fmt yuv420p -shortest video.mp4

我需要具有音频持续时间但使用另一个 mp4 或 gif 循环的视频。在音频的持续时间内不断重复。

【问题讨论】:

    标签: audio video ffmpeg


    【解决方案1】:

    要对 视频(MP4 或其他格式)执行此操作,您应该使用 Concatenate demuxer。

    首先创建一个文本文件,其中包含要连接的视频的路径列表。在您的情况下,它将是相同视频文件的列表,如下所示。

    # mylist.txt
    file /your/path/video.mp4
    file /your/path/video.mp4
    file /your/path/video.mp4
    

    路径可以是绝对的或相对的。
    然后你需要使用concat demuxer 选项。

    ffmpeg -f concat -safe 0 -i mylist.txt -c copy output.mp4  
    

    这将生成一个 mp4,其中您的原始视频循环播放 3 次。如果您的原始视频是 4 秒长,那么输出将是 12 秒长。我建议您创建一个比音轨稍长的视频,然后在创建最终视频时使用-shortest 选项。

    您可以像在帖子中一样在同一命令中添加音频。所以,所有这些看起来像这样:

    ffmpeg -f concat -safe 0 -i mylist.txt -i audio.mp3 -c:v copy -c:a copy -shortest output.mp4
    

    在我的示例中,我为我的输出进行了流复制(这将工作得很好并且会非常快),但是您可以使用您想要的编解码器(例如 H264 和 AAC,就像您的帖子一样)。

    您可以在concat demuxer documentation 或更好的concat wiki 中找到更多信息。

    目前我不知道是否有办法使用 gif 文件来做到这一点。

    【讨论】:

      猜你喜欢
      • 2016-05-26
      • 2017-04-13
      • 2021-03-10
      • 1970-01-01
      • 2018-03-16
      • 1970-01-01
      • 2011-11-07
      • 1970-01-01
      • 2011-06-28
      相关资源
      最近更新 更多