Android 带有一组未格式化为%d.jpg的图像文件的ffmpeg
我正在使用ffmpeg将一组JPG编译成视频。关于这一点有很多文章,但似乎唯一的方法是将图像命名为连续的填充数字,例如Android 带有一组未格式化为%d.jpg的图像文件的ffmpeg,android,ffmpeg,Android,Ffmpeg,我正在使用ffmpeg将一组JPG编译成视频。关于这一点有很多文章,但似乎唯一的方法是将图像命名为连续的填充数字,例如0001.jpg,0002.jpg 声明可以使用其他类型的模式,例如%*.jpg来捕获所有*.jpg文件,但我唯一能够自己工作的模式是%0Nd-类型的模式。他只提到了那种类型 我真的想让ffmpeg使用一组具有任意名称的图像。这将大大简化我的应用程序,在插入和删除图像时更容易保持缩略图和元数据的同步,等等。创建链接不是一个选项,因为我在Android上工作。有没有办法做到这一点
0001.jpg
,0002.jpg
声明可以使用其他类型的模式,例如%*.jpg
来捕获所有*.jpg
文件,但我唯一能够自己工作的模式是%0Nd
-类型的模式。他只提到了那种类型
我真的想让ffmpeg使用一组具有任意名称的图像。这将大大简化我的应用程序,在插入和删除图像时更容易保持缩略图和元数据的同步,等等。创建链接不是一个选项,因为我在Android上工作。有没有办法做到这一点
我也愿意修改ffmpeg源代码或使用C api来实现我想要的功能,但我在代码中找不到合适的位置,也找不到适合C api的文档。有什么建议吗?谢谢。的(与您链接的muxer不同!)仅建议两种可能的名称:
- 文件名模式包含“
”或“%d
”,帧按顺序编号,第一帧编号不超过4%0Nd
- 通过指定不带“
”模式的名称,可以将单个图像用作输入%d
这就是说,您可以看一看对于您的目的可能是可行的。不过,请注意,我无法让它在简短的测试中连接一些图像,因此它可能仅限于手册页中的可连接格式,如
mpg
:“这与C printf函数支持的语法相同,但只有接受普通整数的格式才合适。”你说的有多随意?图像的顺序根本不重要吗?一个可能的解决方案是在每次编码时使用文档上的重命名所有图像,以便ffmpeg将使用它们。理想情况下,它将按常规字母数字顺序排列图像文件。我可能会用时间戳来命名这些图像。我现在就重命名了这些图像,但它引入了一些额外的复杂性,我真的想消除这些复杂性。