繁体   English   中英

带有视频或gif循环的FFmpeg concat音频

[英]FFmpeg concat audio with video or gif looping

我正在寻找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循环。 在音频持续时间内保持重复。

要对视频 (MP4或其他格式)执行此操作,应使用Concatenate多路分配器。

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

# 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文档中找到更多信息,或者在concat wiki上找到更好的信息。

目前,我不知道是否可以使用gif文件来执行此操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM