Sample Video Editing Workflow using FFmpeg

Link to FFmpeg notes (including FFmpeg install

View specs and play first clip
ffprobe clip1.mov
ffplay clip1.mov
Deinterlace
ffplay -i clip1.mov -vf "bwdif=1"
Crop video to 16:9 Ratio
ffplay -i clip1.mov -vf "bwdif=1,crop=in_w:in_w*9/16"
Center crop and align to top
ffplay -i clip1.mov -vf "bwdif=1,crop=in_w:in_w*9/16:(in_w-out_w)/2:0"
Scale SD video to 720p*
ffplay -i clip1.mov -vf "bwdif=1,crop=in_w:in_w*9/16:(in_w-out_w)/2:0,scale=1280:720" -aspect 16:9

*added “-aspect 16:9” to fix problem with non-square pixels

Pad and scale (This is an alternative to crop and scale)
ffplay -i clip1.mov -vf "bwdif=1,pad=in_h*16/9:in_h:(in_w-out_w)/2,scale=1280:720" -aspect 16:9
Prepare for Concatination

files.txt:
file ‘clip1.mov’
file ‘clip2.mov’
file ‘clip3.mov’

Concat (join) multiple video files
ffplay -f concat -safe 0 -i files.txt -vf "bwdif=1,crop=in_w:in_w*9/16:(in_w-out_w)/2:0,scale=1280:720" -aspect 16:9
Save output as H.264 mp4
ffmpeg -f concat -safe 0 -i files.txt -vf "bwdif=1,crop=in_w:in_w*9/16:(in_w-out_w)/2:0,scale=1280:720"  -aspect 16:9 -pix_fmt yuv420p -ss 00:00:0.0 -t 10 out.mp4
Look at available H.264 encoders
ffmpeg -codecs | grep 264
Save output as H.264 mp4 with hardware encoding (on Mac)

FFmpeg documentation on hardware accelerated encoding

ffmpeg -f concat -safe 0 -i files.txt -vf "bwdif=1,crop=in_w:in_w*9/16:(in_w-out_w)/2:0,scale=1280:720" -aspect 16:9 -pix_fmt yuv420p -vcodec h264_videotoolbox -ss 00:00:0.0 -t 10 out2.mp4
Compare software and hardware encoded files
ffprobe out.mp4
ffprobe out2.mp4
Hardware encoding with higher bitrate
ffmpeg -f concat -safe 0 -i files.txt -vf "bwdif=1,crop=in_w:in_w*9/16:(in_w-out_w)/2:0,scale=1280:720" -aspect 16:9 -pix_fmt yuv420p -vcodec h264_videotoolbox -b:v 5400k -ss 00:00:0.0 -t 10 out.mp4
Speed up video
ffmpeg -f concat -safe 0 -i files.txt -vf "bwdif=1,crop=in_w:in_w<em>9/16:(in_w-out_w)/2:0,scale=1280:720,setpts=1/7</em>PTS" -aspect 16:9 -an -pix_fmt yuv420p -vcodec h264_videotoolbox -b:v 5400k -ss 00:00:0.0 -t 10 out.mp4
Output final video (without audio)
ffmpeg -f concat -safe 0 -i files.txt -vf "bwdif=1,crop=in_w:in_w<em>9/16:(in_w-out_w)/2:0,scale=1280:720,setpts=1/7</em>PTS" -aspect 16:9 -an -pix_fmt yuv420p -vcodec h264_videotoolbox -b:v 5400k final_without_audio.mp4
Merge final video with audio without re-encoding video
ffmpeg -i final_without_audio.mp4 -i Rolling_Hills.mp3 -vcodec copy -acodec aac -b:a 128k -map 0:v:0 -map 1:a:0 final_with_audio.mp4

If you have questions, please leave them in the comments below or in the comments on the video.

NES Screen Capture Using Elgato Game Capture with Composite to HDMI Adapter

Elgato Game Capture HD60 S: https://amzn.to/2Ojjrma (Amazon affiliate)
Musoc Composite to HDMI Adapter: https://amzn.to/2Yd6XkA (Amazon affiliate)

NES Consoles: http://ebay.us/Kle9nO (eBay Affiliate)