## Scale and crop ```plaintext ffmpeg -i ... -vf "scale=w:h, crop=w:h:x:y" ... ``` ### Extract 1 frame See https://trac.ffmpeg.org/wiki/Create%20a%20thumbnail%20image%20every%20X%20seconds%20of%20the%20video ```plaintext ffmpeg -i input.flv -ss 00:00:14.435 -vframes 1 out.png ``` ### Seeking trick For better seeking speed, use -ss before the -i and after ```plaintext ffmpeg -ss 120 -i input.flv -ss 10 -vframes 1 out.png ``` or ```plaintext ffmpeg -ss 130 -i input.flv -ss 0 -vframes 1 out.png ``` ### Crossfading example This came from http://superuser.com/questions/1001039/what-is-an-efficient-way-to-do-a-video-crossfade-with-ffmpeg ```plaintext ffmpeg -i fadeoutclip.mp4 -i fadeinclip.mp4 -an -filter_complex [0:v]trim=s=0:e=9,setpts=PTS-STARTPTS[firstclip]; [1:v]trim=s=1,setpts=PTS-STARTPTS[secondclip]; [0:v]trim=s=9:e=10,setpts=PTS-STARTPTS[fadeoutsrc]; [1:v]trim=s=0:e=1,setpts=PTS-STARTPTS[fadeinsrc]; [fadeinsrc]format=pix_fmts=yuva420p, fade=t=in:st=0:d=1:alpha=1[fadein]; [fadeoutsrc]format=pix_fmts=yuva420p, fade=t=out:st=0:d=1:alpha=1[fadeout]; [fadein]fifo[fadeinfifo]; [fadeout]fifo[fadeoutfifo]; [fadeoutfifo][fadeinfifo]overlay[crossfade]; [firstclip][crossfade][secondclip]concat=n=3[output] -map [output] ``` ### Tagging * TaggingFiles ## Metadata Set with ```bash ffmpeg -i input.mp4 -metadata artist="Mr Flibble" output.mp4 ``` export metadata with ```bash ffmpeg -i input.mp4 -f ffmetadata meta.txt ``` apply to file ```bash ffmpeg -i input.mp4 -f ffmetadata -i meta.txt -map_metadata 1 output.mp4 ```