Hot answers tagged

65 votes

How to use FFmpeg Command for Reverse Video?

FFmpeg has a reverse video filter and reverse audio filter. For video only: ffmpeg -i /storage/emulated/0/ffvid/frameCount.mp4 -vf reverse reversed.mp4 For audio and video: ffmpeg -i /storage/...
Gyan's user avatar
  • 32.3k
60 votes
Accepted

Fix bad files and streams with ffmpeg so VLC and other players would not crash

If parts of the file reside on physically bad sectors, or for whatever reason, the OS cannot serve the whole file to FFmpeg, then naturally FFmpeg can't do anything about that. You should get a ...
Gyan's user avatar
  • 32.3k
54 votes
Accepted

How do I set up and use FFmpeg in Windows?

FFmpeg is indeed a powerful video encoder/decoder tool¹. It operates in the command line, as opposed to using a GUI. Command line is that black window you find by typing [windows+r], then cmd in the ...
user3643's user avatar
  • 2,144
51 votes
Accepted

How to deinterlacing with ffmpeg?

Add the yadif filter i.e. ffmpeg -i input.vob -vf yadif -c:v libx264 -preset slow -crf 19 -c:a aac -b:a 256k output.mp4 See yadif docs for more info.
Gyan's user avatar
  • 32.3k
51 votes
Accepted

ffmpeg Color Correction: Gamma, Brightness and Saturation

These settings helped me to lighten up a dark video using the filter eq, with some added saturation. Syntax: filtername=option1=value1:option2=value2:option3=value3... These can be in any order. ...
P A N's user avatar
  • 1,693
50 votes
Accepted

How to prevent FFmpeg from dropping metadata?

Other answers here only work with the "known" meta keys, but for custom/arbitrary meta keys, -map_metadata 0 is not sufficient to keep them all. In my transcoder project, a lot of camera ...
Jerry Tian's user avatar
37 votes

Convert mp4 to webm without quality loss with ffmpeg

Answer Use two-pass Constant Quality mode: ffmpeg -i input.mp4 -b:v 0 -crf 30 -pass 1 -an -f webm -y /dev/null ffmpeg -i input.mp4 -b:v 0 -crf 30 -pass 2 output.webm Notes If you're using ...
hackerb9's user avatar
  • 471
31 votes

Repeat/loop Input Video with ffmpeg?

With ffmpeg 2.8.4, the following command creates output.mp4 that is a repeating copy of input.mp4 until the ffmpeg process is stopped: ffmpeg -stream_loop -1 -i input.mp4 -c copy output.mp4 This ...
Thingy's user avatar
  • 456
31 votes
Accepted

Can I set the start number for image sequence output?

The image sequence muxer has a start number option, so ffmpeg -i video.webm -start_number 98 image-%03d.png
Gyan's user avatar
  • 32.3k
30 votes
Accepted

What is KeyInt and min-keyint and no-scenecut

The frames in your H.264 video are grouped into units called GOPs (Group Of Pictures). Inside these GOPs frames are classified into three types: I-frame: frame that stores the whole picture P-frame: ...
mcont's user avatar
  • 740
29 votes
Accepted

How to use ffprobe to obtain certain information about mp4/h.264 files

If you only want the information from the first video stream use -select_streams v:0: ffprobe -v error -select_streams v:0 -show_entries stream=width,height,duration,bit_rate -of default=...
llogan's user avatar
  • 9,814
28 votes
Accepted

Is there a way to pause and resume FFmpeg encoding?

Suspend A simple method is to suspend it with ctrl+z. Or you could get the PID with pgrep ffmpeg then use kill -s SIGSTOP <PID> to suspend. Then resume with fg command or kill -s SIGCONT <...
llogan's user avatar
  • 9,814
27 votes
Accepted

ffmpeg: how to add several subtitle streams

Whenever's there's multiple inputs fed to ffmpeg, and you need one more than video/audio/subtitle stream sent to the output, -map statements are needed. ffmpeg -i $movie.mov -i $sub_en.srt -i $sub_de....
Gyan's user avatar
  • 32.3k
25 votes
Accepted

Is it possible to speed up a video using handbrake?

You can use ffmpeg, a free command-line tool, to do this. The basic command is ffmpeg -i input.mov -vf "setpts=(PTS-STARTPTS)/30" -crf 18 output.mov The 30 indicates the factor by which the video ...
Gyan's user avatar
  • 32.3k
25 votes
Accepted

How to fade in/out a video/audio clip with unknown duration?

#1 To simultaneously fade the audio in/out: ffmpeg -i clip.mp4 -vf 'fade=in:0:30,fade=out:960:30' -af 'afade=in:st=0:d=1,afade=out:st=32:d=1' -c:v libx264 -crf 22 -preset ...
Gyan's user avatar
  • 32.3k
23 votes

How to prevent FFmpeg from dropping metadata?

The -metadata option is for manipulating the metadata. If you just want to copy the metadata from an input file to an output file, you should use the -map_metadata option: ffmpeg -i a.MOV -...
junkyardsparkle's user avatar
23 votes

ffmpeg: Create a black background video from audio, for Youtube upload

Alternatively you can have ffmpeg generate the black video with the color source filter instead of making an image: ffmpeg -f lavfi -i color=c=black:s=1280x720:r=5 -i audio.mp3 -crf 0 -c:a copy -...
llogan's user avatar
  • 9,814
22 votes

Is there a way to pause and resume FFmpeg encoding?

On Windows, pressing the "Pause/Break" key (the top-right most key) will pause it. Enter will resume. If it doesn't work, click on the command prompt window to give it focus.
BuckLee's user avatar
  • 321
18 votes

ffmpeg Color Correction: Gamma, Brightness and Saturation

Gamma correction is likely to be a better choice than brightness, to stretch the histogram to the right rather than push it over: # tinker with numbers ffplay -vf eq=gamma=1.5:saturation=1.3 original....
Gringo Suave's user avatar
18 votes
Accepted

RTMP server using ffmpeg

You can use FFmpeg as an RTMP server as following ffmpeg -f flv -listen 1 -i rtmp://localhost:1935/live/app -c copy rtsp://YOUR_RTSP_HOST Notes: -listen 1 makes FFmpeg act as a RTMP server when used ...
Marware's user avatar
  • 296
17 votes

FFMPEG: Delete chapters

Try adding this ffmpeg parameter: -map_chapters -1
user17660's user avatar
  • 171
17 votes
Accepted

ffmpeg default output frame rate

r_frame_rate is "the lowest framerate with which all timestamps can be represented accurately (it is the least common multiple of all framerates in the stream)." avg_frame_rate is just that: total ...
Gyan's user avatar
  • 32.3k
16 votes

Repeat/loop Input Video with ffmpeg?

At least on FFmpeg 2.8.x (but oldie should works too) you can use lavfi as input format and complex filter graph using movie and setpts filters as a argument for -i option. Next command doing this ...
Monah Tuk's user avatar
  • 261
16 votes

Add an image overlay in front of video using ffmpeg

This is an addition to the excellent answer by PTS and an answer for chovy. If you want to place the overlay at the lower right corner, FFMPEG can calculate that for you very easily. Use the modified ...
Slappy_G's user avatar
  • 161
16 votes

Is there a way to pause and resume FFmpeg encoding?

It didn't seem possible as of Sep 30 2015. I would suggest segmenting the source file, encoding the segments and then stitching the resultant files. This isn't a true pause/resume facility but the ...
Gyan's user avatar
  • 32.3k
16 votes
Accepted

How to limit file size with ffmpeg?

The fs parameter will stop the encode once it hits its value. So, if the output hits the 10MB mark while encoding the 15th second, then that's the duration of your output file. If you want to make ...
Gyan's user avatar
  • 32.3k
16 votes
Accepted

FFMpeg: "Invalid audio stream. Exactly one MP3 audio stream is required"

You're trying to store an AAC stream in a MP3 container, would be my guess. Either store the result as "${i%.mp3}-ENCODED.aac" or switch -c:a aac to -c:a libmp3lame
Gyan's user avatar
  • 32.3k
16 votes
Accepted

FFmpeg - dropping duplicate frames

Don't see any frames duplicated. The message you quoted - More than 1000 frames duplicated - is not ffmpeg's analysis of the input. FFmpeg duplicates or drops frames when the input and output ...
Gyan's user avatar
  • 32.3k
15 votes
Accepted

ffmpeg: explicitly tag h.264 as bt.601, rather than leaving unspecified?

PAL and NTSC have different color primaries, so NTSC = SMPTE 170M = BT 601 525 PAL = BT 470 BG = BT 601 625 See the rows for value 5 & 6 on the table on page 387 of the active H.264 standard. ...
Gyan's user avatar
  • 32.3k
15 votes

How to fade in/out a video/audio clip with unknown duration?

It's a terrible hack, but this might work if all you want to do is audio fade in/out but don't know exactly how long the clip is: ffmpeg -i input.mp4 -filter_complex "afade=d=0.5, areverse, afade=d=0....
marekventur's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible