0

On my video I am adding multiple overlays, 1 that will always be shown (Overlay/overlay.png) and I got a progress bar in PNGs named 0 to the last frame num.

I tried ffmpeg -i 6875126077795372290.mp4 -i Overlay/overlay.png -i Overlay/ProgressBar/%d.png -filter_complex "[0:v][1:v]overlay=0:0[bg];[bg][2]overlay=0:20" output.mp4 which @llogan sent me and it does it all, but strangely the video is now 6 seconds longer (from 11sec to 17sec).
It seems like when it loads the images it make it have a duration of 17seconds (see full log linked below).
How should I solve this? (I got this file information using ffprobe)
Full file information: https://pastebin.com/rxkK39h7
Full ffmpeg log: https://pastebin.com/CBiusbRE

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '6875126077795372290.mp4':
  Metadata:
    minor_version   : 512
    major_brand     : isom
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.20.100
  Duration: 00:00:11.70, start: 0.000000, bitrate: 1553 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 576x1024 [SAR 1:1 DAR 9:16], 1419 kb/s, 37 fps, 37 tbr, 18944 tbn, 74 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
Input #1, png_pipe, from 'Overlay/overlay.png':
  Duration: N/A, bitrate: N/A
    Stream #1:0: Video: png, rgba(pc), 576x1024, 25 tbr, 25 tbn, 25 tbc
Input #2, image2, from 'Overlay/ProgressBar/%d.png':
  Duration: 00:00:17.28, start: 0.000000, bitrate: N/A
    Stream #2:0: Video: png, rgba(pc), 576x20, 25 fps, 25 tbr, 25 tbn, 25 tbc

As you can see the input #2 has a duration of 17 seconds and the wrong fps of 25, how can I fix this? And yes I already tried -framerate 37 and that didn't fix it.

2
  • What happened to the other question? I was going to address this issue you mentioned with my answer. – llogan Mar 25 at 16:50
  • It got deleted because it was on the wrong website :/ – Bas950 Mar 25 at 22:08
1

Do -framerate before you load the image :facepalm:
ffmpeg -i 6875126077795372290.mp4 -i Overlay/overlay.png -framerate 37 -i Overlay/ProgressBar/%d.png -filter_complex "[0:v][1:v]overlay=0:0[bg];[bg][2]overlay=0:20" output.mp4

2
  • Please show the command you used. … … … … … … … … … … … … … … Please do not respond in comments; edit your answer to make it clearer and more complete. – Scott Mar 25 at 16:16
  • Done :) Cant accept it as answer yet tho :/ – Bas950 Mar 25 at 22:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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