[FFmpeg-user] ffmpeg video fade in fade out question

Gyan ffmpeg at gyani.pro
Sat Aug 24 12:57:05 EEST 2019

On 24-08-2019 02:08 PM, Stuart Foster via ffmpeg-user wrote:
> Hi,
> I am trying to build a command line that performs the following (all 
> values for example):
> Fast seek into the video sample 10 seconds, then slow seek for 5 
> seconds giving a start point for my new clip at 15 seconds.
> I then wish to have the clip start with 2 seconds of black followed by 
> a fade from black of 1 second.
> Similarly at the end of the clip I wish to fade to black for 1 second 
> followed by 2 seconds of black.
> From the seek point I require my total clip duration to be 20 seconds.
> Assuming what I require is possible on a single pass what would be the 
> correct values for t1 and t2 in the example give.
> From my experiments the values seem to be dependent on the seek and 
> duration parameters but I have not been able determine the exact 
> relationship.
> Example:
> linux ffmpeg version git-2019-06-08-b6ca032
> Test.mp4 : Duration: 00:10:00.05, start: 0.000000, bitrate: 280 kb/s
> ffmpeg -ss 10.000 -i Test.mp4 -ss 5.000 -t 20.000 -filter_complex 
> fade=type=in:duration=1:start_time=t1,fade=type=out:duration=1:start_time=t2 
> -y Test.avi
> Any suggestions ?

You could just do

     ffmpeg -ss 15 -i test.mp4 -vf 
-t 20 outfile

since when transcoding a stream, ffmpeg inserts a trim filter to get an 
accurate seek when the seek point isn't a keyframe.

But if you want to use your original method, you can use

     ffmpeg -ss 10 -i test.mp4 -vf 
-af "atrim=5:25,asetpts=PTS-STARTPTS" outfile


More information about the ffmpeg-user mailing list