<p>You can use <a href="http://ffmpeg.org/download.html" rel="nofollow">ffmpeg</a>, a free command-line tool, to do this</p>

<p>If your images are sequentially numbered i.e. img0001.png, img0002.png...</p>

<p>then</p>

<pre><code>ffmpeg -framerate 10 -i img%04d.png -crf 20 -pix_fmt yuv420p output.mp4
</code></pre>

<p>If they aren't sequentially numbered, then you'll have to create a text file of the following format:</p>

<pre><code>file 'ThisOne.png'
file 'ThatOne.png'
file 'ThenThis.png'
...
</code></pre>

<p>You can use <code>dir /b /on &gt; list.txt</code> to get the names in alphabetical order into a text file. You'll then have to prefix the <code>file</code> and add the quotes.</p>

<p>Then</p>

<pre><code>ffmpeg -f concat -framerate 10 -i list.txt -crf 20 -pix_fmt yuv420p output.mp4
</code></pre>

<hr>

<p>Each image's duration is the reciprocal of the framerate value, which you can set to any value but for compatibility reasons <code>8 - 60</code> is a good range. </p>

<p>The command also assumes that all images are the same resolution. If they aren't, they will have to be made so. You can insert the following option after the input value into your ffmpeg command: </p>

<pre><code>-vf "scale='if(gt(a\,16/9)\,1920,-1)':'if(gt(a\,16/9)\,-1,1080)',pad=1920:1080:(ow-iw)/2:(oh-ih)/2"
</code></pre>

<p>This scales each image to fit within a 1920x1080 canvas while preserving proportion and then pads the scaled image to form a 1920x1080 frame. </p>

<p>The CRF value controls the visual quality. Lower value is better but makes larger file. <code>-pix_fmt yuv420p</code> is for producing a file compatible with most players.</p>

CC BY-SA 3.0
2016-05-29T19:27:07.457Z
Thank you very much. Got an error, but fixed it adding  -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2". Works 10/10
Marshall
CC BY-SA 3.0
2016-05-29T18:31:33.283Z
2016-05-29T18:39:20.637Z
2016-05-29T18:39:20.637Z
Gyan
<p>I have around 2000 images (png) that take up around 3GB. I wanted to make a very simple video where each image is displayed for somewhere between 0.1-0.01s </p>

<p>I read online that I should use movie maker. Tried it, but it seems the program can't handle it. Googled quite a bit, and even with some workarounds it still can't handle it.</p>

<p>Went online in search for an alternative (a question here actually) and tried hitfilm. That froze.</p>

<p>So my question is the following:</p>

<p>Is there a free video editing tool that can handle this:</p>

<ul>
<li>Free </li>
<li>Make a video out of about 2000 images (that can handle this much)</li>
<li>No watermark</li>
<li>Can set image duration to around 0.1-0.01s</li>
<li>I can set fps (or it is high enough to not loose some images)</li>
</ul>

<p>I'm looking for something simple and that doesn't take that much</p>

<software-recommendation><software>
Simple video editing software that can handlethis
Marshall
# Simple video editing software that can handlethis

(Asked by: username_0 on 2016-05-29)

I have around 2000 images (png) that take up around 3GB. I wanted to make a very simple video where each image is displayed for somewhere between 0.1-0.01s

I read online that I should use movie maker. Tried it, but it seems the program can't handle it. Googled quite a bit, and even with some workarounds it still can't handle it.

Went online in search for an alternative (a question here actually) and tried hitfilm. That froze.

So my question is the following:

Is there a free video editing tool that can handle this:

* Free
* Make a video out of about 2000 images (that can handle this much)
* No watermark
* Can set image duration to around 0.1-0.01s
* I can set fps (or it is high enough to not loose some images)

I'm looking for something simple and that doesn't take that much

**Tags:** software-recommendation, software


---

## 1 answers

### Answer by username_1 on 2016-05-29. Score: 1 | Accepted answer

You can use ffmpeg, a free command-line tool, to do this
If your images are sequentially numbered i.e. img0001.png, img0002.png...
then
ffmpeg -framerate 10 -i img%04d.png -crf 20 -pix_fmt yuv420p output.mp4

If they aren't sequentially numbered, then you'll have to create a text file of the following format:
file 'ThisOne.png'
file 'ThatOne.png'
file 'ThenThis.png'
...

You can use dir /b /on > list.txt to get the names in alphabetical order into a text file. You'll then have to prefix the file and add the quotes.
Then
ffmpeg -f concat -framerate 10 -i list.txt -crf 20 -pix_fmt yuv420p output.mp4


Each image's duration is the reciprocal of the framerate value, which you can set to any value but for compatibility reasons 8 - 60 is a good range. 
The command also assumes that all images are the same resolution. If they aren't, they will have to be made so. You can insert the following option after the input value into your ffmpeg command: 
-vf "scale='if(gt(a\,16/9)\,1920,-1)':'if(gt(a\,16/9)\,-1,1080)',pad=1920:1080:(ow-iw)/2:(oh-ih)/2"

This scales each image to fit within a 1920x1080 canvas while preserving proportion and then pads the scaled image to form a 1920x1080 frame. 
The CRF value controls the visual quality. Lower value is better but makes larger file. -pix_fmt yuv420p is for producing a file compatible with most players.

> **Comments:**
> **username_0**: Thank you very much. Got an error, but fixed it adding  -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2". Works 10/10  

---

