0

I am pretty new to ffmpeg, sorry. I am trying to compose a video from individual images. The images have size 2667 x 1500.

The following command gives me an error:

"/usr/bin/ffmpeg" -y -f concat -safe 0 -i "/home/abc/def/data/tmp/gVQO7wUc.txt" -vf "pad=ih*16/9:ih:(ow-iw)/2:(oh-ih)/2,scale=1920:1080:flags=lanczos" -c:v libx264 -crf 18 -preset veryslow -pix_fmt yuv420p -movflags +faststart "/home/abc/def/data/tmp/964MX26P.mp4"
ffmpeg version 2.8.15 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-36)
  configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --extra-ldflags='-Wl,-z,relro ' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --disable-crystalhd --enable-gnutls --enable-ladspa --enable-libass --enable-libcdio --enable-libdc1394 --enable-libfdk-aac --enable-nonfree --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libx264 --enable-libx265 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
Input #0, concat, from '/home/showroom/companyshowroom/data/tmp/gVQO7wUc.txt':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: png, rgb24(pc), 2667x1500 [SAR 7874:7874 DAR 889:500], 25 tbr, 25 tbn, 25 tbc
[Parsed_pad_0 @ 0x14466c0] Input area 0:0:2667:1500 not within the padded area 0:0:2666:1500 or zero-sized
[Parsed_pad_0 @ 0x14466c0] Failed to configure input pad on Parsed_pad_0
Error opening filters!

The input file looks as follows:

ffconcat version 1.0
file '/home/abc/def/uploads/slides/5fca45f5ad365/slide_001.png'
duration 9
file '/home/abc/def/uploads/slides/5fca45f5ad365/slide_005.png'
duration 2
file '/home/abc/def/uploads/slides/5fca45f5ad365/slide_006.png'
duration 2
file '/home/abc/def/uploads/slides/5fca45f5ad365/slide_011.png'
duration 18
file '/home/abc/def/uploads/slides/5fca45f5ad365/slide_021.png'

I assume the issue is that the images are have "odd" sizes - should be even only? Is there a way to scale them down within FFMPEG? Thanks!

1 Answer 1

0

You can only pad frames to a size as large as or larger than the source size. In your case, 16/9 multiplier of 1500 is 2666.66 which is rounded down to 2666 and hence smaller than source width. Since your source aspect is so close, just skip the pad.

"/usr/bin/ffmpeg" -y -f concat -safe 0 -i "/home/abc/def/data/tmp/gVQO7wUc.txt" -vf "scale=1920:1080:flags=lanczos,setsar=1" -c:v libx264 -crf 18 -preset veryslow -pix_fmt yuv420p -movflags +faststart "/home/abc/def/data/tmp/964MX26P.mp4"

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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