[FFmpeg-user] Creating video from a lot of jpeg pictures
Paul B Mahol
onemda at gmail.com
Mon Apr 11 12:22:24 EEST 2022
On Mon, Apr 11, 2022 at 10:58 AM Balogh László <laci at blacc.hu> wrote:
> Hi,
>
> I have about 4300 pictures in a folder (000_Images/2022/04/2022-04-10/).
> I want to create a video from them, every picture should be one frame in
> the video.
>
> I'm using the following command: ffmpeg -framerate 25 -i
> 000_Images/2022/04/2022-04-10/*.jpeg -c:v libx264 -profile:v high -crf
> 20 -pix_fmt yuv420p -y output.mp4
>
> Its starting, but after about 500 pictures ffmpeg is slowing down, while
> the system load goes quickly up. It was hard to cancel the command, as
> the load was above 80. :)
>
> Here some log of the command:
>
> mcll at mcllserver-i3:/home/VVCam$ ffmpeg -framerate 25 -i
> 000_Images/2022/04/2022-04-10/*.jpeg -c:v libx264 -profile:v high -crf
> 20 -pix_fmt yuv420p -y output.mp4
built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
> configuration: --prefix=/usr --extra-version=0ubuntu0.2
> --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu
> --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping
> --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa
> --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca
> --enable-libcdio --enable-libflite --enable-libfontconfig
> --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm
> --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg
> --enable-libopenmpt --enable-libopus --enable-libpulse
> --enable-librubberband --enable-librsvg --enable-libshine
> --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh
> --enable-libtheora --enable-libtwolame --enable-libvorbis
> --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265
> --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi
> --enable-omx --enable-openal --enable-opengl --enable-sdl2
> --enable-libdc1394 --enable-libdrm --enable-libiec61883
> --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264
> --enable-shared
> libavutil 55. 78.100 / 55. 78.100
> libavcodec 57.107.100 / 57.107.100
> libavformat 57. 83.100 / 57. 83.100
> libavdevice 57. 10.100 / 57. 10.100
> libavfilter 6.107.100 / 6.107.100
> libavresample 3. 7. 0 / 3. 7. 0
> libswscale 4. 8.100 / 4. 8.100
> libswresample 2. 9.100 / 2. 9.100
> libpostproc 54. 7.100 / 54. 7.100
> Input #0, image2, from
> '000_Images/2022/04/2022-04-10/2022-04-10_00_00_01.jpeg':
> Duration: 00:00:00.04, start: 0.000000, bitrate: 66148 kb/s
> Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown),
> 2688x1520 [SAR 1:1 DAR 168:95], 25 tbr, 25 tbn, 25 tbc
> Stream mapping:
> Stream #0:0 -> #0:0 (mjpeg (native) -> mjpeg (native))
> Stream #0:0 -> #1:0 (mjpeg (native) -> mjpeg (native))
> Stream #0:0 -> #2:0 (mjpeg (native) -> mjpeg (native))
> Stream #0:0 -> #3:0 (mjpeg (native) -> mjpeg (native))
> Stream #0:0 -> #4:0 (mjpeg (native) -> mjpeg (native))
> Stream #0:0 -> #5:0 (mjpeg (native) -> mjpeg (native))
> Stream #0:0 -> #6:0 (mjpeg (native) -> mjpeg (native))
> ...cut...
> Stream #0:0 -> #4316:0 (mjpeg (native) -> mjpeg (native))
> Stream #0:0 -> #4317:0 (mjpeg (native) -> mjpeg (native))
> Stream #0:0 -> #4318:0 (mjpeg (native) -> mjpeg (native))
> Stream #0:0 -> #4319:0 (mjpeg (native) -> h264 (libx264))
> Press [q] to stop, [?] for help
> Output #0, image2, to
> '000_Images/2022/04/2022-04-10/2022-04-10_00_00_21.jpeg':
> Metadata:
> encoder : Lavf57.83.100
> Stream #0:0: Video: mjpeg, yuvj420p(pc), 2688x1520 [SAR 1:1 DAR
> 168:95], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
> Metadata:
> encoder : Lavc57.107.100 mjpeg
> Side data:
> cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
> Output #1, image2, to
> '000_Images/2022/04/2022-04-10/2022-04-10_00_00_41.jpeg':
> Metadata:
> encoder : Lavf57.83.100
> Stream #1:0: Video: mjpeg, yuvj420p(pc), 2688x1520 [SAR 1:1 DAR
> 168:95], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
> Metadata:
> encoder : Lavc57.107.100 mjpeg
> Side data:
> cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
> Output #2, image2, to
> '000_Images/2022/04/2022-04-10/2022-04-10_00_01_01.jpeg':
> Metadata:
> encoder : Lavf57.83.100
> Stream #2:0: Video: mjpeg, yuvj420p(pc), 2688x1520 [SAR 1:1 DAR
> 168:95], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
> Metadata:
> encoder : Lavc57.107.100 mjpeg
> Side data:
> cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
> ...etc...
>
> Why is this generating such a high load, and what should i do?
>
It is for some reason creating separate streams for each jpeg image.
Is your ffmpeg modified or you use script?
Because original ffmpeg does not do this.
>
> Thanks
>
> Regards, Laszlo
>
>
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".
>
More information about the ffmpeg-user
mailing list