You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python-FFmpeg实现图片循环至音频结束失败,程序疑似无限运行

解决图片循环与音频合成视频的无限运行问题

问题原因

你当前代码使用concat滤镜的方式错误,concat是用于拼接多个完整的音视频片段,而非合并单独的视频流(循环图片)和音频流。无限循环的图片流通过concat与音频流合并后,输出流仍会保持无限时长,导致-shortest参数无法生效,程序陷入无限运行。

修正后的代码

audio = ffmpeg.input("test/audios/1.mp3")
image = ffmpeg.input("test/images/1.jpg", loop=1)
video = ffmpeg.output(image, audio, "test/test.mp4", shortest=True, vcodec="mjpeg", acodec="mp3")
ffmpeg.run(video)

代码说明

  • 移除concat滤镜,直接将循环图片的视频流与音频流传入ffmpeg.output()
  • shortest=True会让输出视频的长度自动匹配较短的输入流(即音频的时长),图片会循环播放直到音频结束
  • 生成的FFmpeg命令参数为:
    ['-loop', '1', '-i', 'test/images/1.jpg', '-i', 'test/audios/1.mp3', '-shortest', '-vcodec', 'mjpeg', '-acodec', 'mp3', 'test/test.mp4']
    

内容的提问来源于stack exchange,提问作者Nguyen Nguyen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 14:22:49