2

As OBS Studio lacks a visual indicator to show how far a video has progressed (and when you need to advance to the next scene), I was wondering if there is a command-line option (or solution) to get FFMPEG to re-encode the video and show a progress bar at the bottom of the video that shows how long the video has been playing so far.

Is there such a feature?

Taapo
  • 1,785
  • 4
  • 18
  • 35

1 Answers1

9

Here's a simple 3 second example using an animated overlay:

progress bar example

ffmpeg -i input.mp4 -filter_complex "color=c=red:s=1280x10[bar];[0][bar]overlay=-w+(w/10)*t:H-h:shortest=1" -c:a copy output.mp4

What you will have to change:

  • In the color filter I used 1280 as an example to match the width of input.mp4. You can use ffprobe to get the width or the scale2ref filter to resize to match input.mp4.

  • In the overlay filter I used 10 as an example for the total duration in seconds of input.mp4. You can use ffprobe to get the duration.

llogan
  • 121,796
  • 28
  • 232
  • 243
  • Is it possible with ffmpeg to do this around the video like it is popilr now on fb or ig? So instead line on the bottom progress would be arond whole video from right to left in the beginning. – Dejan Milosevic Nov 30 '20 at 21:53
  • @DejanMilosevic Do you have a link to a video that does what you want? – llogan Nov 30 '20 at 22:20
  • I will try to find but it is actually same as this but red line goes all around video. – Dejan Milosevic Dec 02 '20 at 12:33
  • Is it possible to add a background to this filter? https://stackoverflow.com/questions/71245886/adding-a-background-to-an-in-video-visual-progress-bar-with-ffmpeg – Alexei Dom Feb 24 '22 at 01:06
  • Thanks! I use this method to show the progress when encoding a video, including ffprobe to get width, height and duration and include these values in the ffmpeg command: https://stackoverflow.com/a/72004427/3868690 – Mario Mey Apr 26 '22 at 12:25
  • Can you tell me what "H-h" means? I don't find documentation of it... – Mario Mey Apr 26 '22 at 12:30