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

使用ffmpeg将0-100.jpg序列帧合成视频时读取顺序错误如何解决

ffmpeg顺序读取非补零数字命名图片序列的解决方案

乱序原因

你当前使用的glob通配符模式默认按照系统字典序排序,非补零命名的数字序列会出现10.jpg排在2.jpg之前的问题,最终导致帧顺序错乱。

推荐调整方案

方案1:使用ffmpeg原生序列匹配模式(最适合你的场景)

直接替换输入参数即可,ffmpeg会自动按整数递增顺序读取文件,无需额外处理:

ffmpeg -framerate 25 -start_number 0 -i "/home/ubuntu/17/1_1/%d.jpg" /home/ubuntu/17_a.avi

参数说明:

  • -start_number 0:指定图片序列的起始编号为0
  • %d:自动匹配连续递增的整数编号,会按0、1、2……100的顺序读取文件

方案2:使用文件列表模式(适合序列不连续的场景)

如果你需要保留glob的匹配逻辑,可先按数字顺序生成文件列表,再喂给ffmpeg:

ls -1 /home/ubuntu/17/1_1/*.jpg | sort -n | sed 's/^/file /' > file_list.txt && ffmpeg -framerate 25 -f concat -safe 0 -i file_list.txt /home/ubuntu/17_a.avi

执行完成后可手动删除生成的file_list.txt临时文件。

优化建议

后续生成图片序列时建议使用补零命名(如000.jpg、001.jpg……100.jpg),任意工具的默认排序都不会出现乱序问题,匹配时使用%03d.jpg即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 07:15:03