Tell me more ×
Audio-Video Production Stack Exchange is a question and answer site for engineers, producers, editors, and enthusiasts spanning the fields of audio, video, and media creation. It's 100% free, no registration required.

I have a bunch of images, that follow this pattern.

0001.png
0004.png
0007.png
0010.png
0013.png
0016.png
0019.png
...

They're in the correct order, but FFMPEG ignores anything after the first file, because it can't find a 0002.png. How can I get it to join these files?

I tried

ffmpeg -i %04d.png out.avi
share|improve this question
2  
How about temporarily renaming them, making the AVI and then renaming them back to the (3x-2).png scheme? Bulk Rename Utility @ bulkrenameutility.co.uk/Main_Intro.php is a free, umm, bulk renamer. – Mulvya Mar 4 at 15:25

3 Answers

up vote 2 down vote accepted

with ffmpeg 0.11.1 it's as easy as:

ffmpeg -f image2 -i %*.png out.avi

From the man page, in an example under "Video and Audio file format conversion":

When importing an image sequence, -i also supports expanding shell-like wildcard patterns (globbing) internally. To lower the chance of interfering with your actual file names and the shell's glob expansion, you are required to activate glob meta characters by prefixing them with a single % character, like in foo-%*.jpeg, foo-%?%?%?.jpeg or foo-00%[234%]%*.jpeg.

share|improve this answer

I would actually suggest the same thing Mulvya suggested. Whenever I've needed to do stuff like this when dealing with 3D animation renderings, I've renamed the files to make them sequential. It's just easier to work with that way in a lot of different software unless you need to preserve the file names for some reason. Total Commander is also a great tool for multi-renaming.

share|improve this answer
I ended up doing something similar (a Python renaming script). – FakeRainBrigand Mar 5 at 20:16

Besides the workaround in my comment, you should be able to use this syntax from the ffmpeg documentation:

ffmpeg -f image2 -pattern_type glob -i *.png out.avi
share|improve this answer
Doesn't work for me, but it's probably because I have an older build. I'm accepting this one because it's most likely to help future users. – FakeRainBrigand Mar 5 at 20:14
According to the ffmpeg documentation you should use '*.png' instead of %04d.png with the glob pattern type. – Friend Of George Mar 5 at 22:06
That would then select all the pngs present in the folder, besides 00xx.png, whereas the OP wants to queue only the %04d pngs without worrying about numbering continuity. – Mulvya Mar 6 at 7:09
Did you actually test this command? I don't think -pattern_type glob works with %04d.png and will probably result in Could not open file : %04d.png. – LordNeckbeard Mar 6 at 20:15
I haven't tested it. I just checked the syntax for glob @ jedit.org/users-guide/globs.html and it seems that %04d won't work. However, %?%?%?%?.png should work. – Mulvya Mar 7 at 5:26
show 1 more comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.