当前位置: 首页 > 知识库问答 >
问题:

带视频或gif循环的音频连接

钱凌
2023-03-14

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

共有1个答案

易奇希
2023-03-14

要在视频(MP4或其他格式)中做到这一点,您应该使用级联演示器。

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

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

路径可以是绝对的,也可以是相对的。
然后需要使用concatdemuxer选项。

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

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

您可以在此命令中html" target="_blank">添加音频,就像您在帖子中所做的那样。所以,所有这些加在一起会是这样的:

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

在我的示例中,我为我的输出做了一个流复制(这将工作得很好,而且非常快),但您可以使用您想要的编解码器(如H264和AAC如您的post)。

目前,我不知道是否有一种方法来做这与gif文件。

 类似资料:
  • 问题内容: 我最近一直在使用HTML5音频进行播放,尽管我可以播放HTML5音频,但只能播放一次。无论我尝试什么(设置属性,事件处理程序等),我似乎都无法使其循环。 这是我正在使用的基本代码: 我正在使用Chrome(6.0.466.0开发人员)和Firefox(4beta1)进行测试,这两者似乎都很乐意忽略我的循环请求。有任何想法吗? 更新 :现在,所有主流浏览器都支持loop属性。 问题答案:

  • 音频和视频都能在第一次正确播放,在音频播放完成时视频循环(因为它更短)。唯一的问题是音频循环不工作,一旦音频第一次完成,流就停止了。 以下是日志: ffmpeg version 4.3.1版权所有(c)2000-2020 ffmpeg开发人员 使用Apple clang version 12.0.0(clang-1200.0.32.27) 配置构建:--prefix=/usr/local/cell

  • 我在尝试连接FFMPEG中的多个文件时遇到了一个问题;我的目标是通过串联不同类型的幻灯片来创建视频演示文稿: (a)图像幻灯片,通过循环帧片刻转换成视频。这些类型的幻灯片没有音频,所以我为它们添加了静音音轨: (b)视频幻灯片,它有一个覆盖的水印,并持续到视频结束。如果文件不包含音频,则添加的方式与前面的情况相同: 因此,一旦我有了所有生成的文件和一个包含所有文件名的。txt文件,我想使用简单的命

  • 问题内容: 谁能为我指出正确的方向,为什么该代码将无法连续播放此音频剪辑?它播放一次然后停止。 问题答案: 如果您运行的是更大的应用程序,则此答案可能不适用。但是对于仅使用那段代码的简单测试,这 可能会 有所帮助: Clip.loop()启动它自己的线程,但是该线程不会使JVM保持活动状态。因此,要使其工作,请确保夹子不是唯一的螺纹。 如果我从此代码段中删除Thread.sleep(..),则会遇

  • 主要内容:HTML 音频/视频 DOM 参考手册,HTML 音频/视频 方法,HTML 音频/视频属性,HTML 音频/视频事件HTML 音频/视频 DOM 参考手册 HTML5 DOM 为 <audio> 和 <video> 元素提供了方法、属性和事件。 这些方法、属性和事件允许您使用 JavaScript 来操作 <audio> 和 <video> 元素。 HTML 音频/视频 方法 方法 描述 addTextTrack() 向音频/视频添加新的文本轨道。 canPlayType() 检测浏

  • 我对ffmpeg相当陌生,我正试图用另一个文件替换第一个音频文件的一部分。第二个文件可能太短,因此应该存在某种循环。 经过一些研究,我提出了以下命令参数,只要我只做一次替换,它就会给出输出。但我想做多个替换。我做错了什么有什么帮助吗?也非常欢迎对工作方式提出任何建议/意见。 (以下命令中的任何错别字都可以忽略,我通过脚本生成命令,为了便于使用,我简化了名称。) 作品(更换1件):