Screen Capture (H264)
Windows
ffmpeg -f gdigrab -i desktop -r [FrameRate] -pix_fmt yuv420p -c:v libx264 -crf 20 -preset ultrafast [OutputFile]
MacOSX
ffmpeg -f avfoundation -i [ScreenID] -r [FrameRate] -pix_fmt yuv420p -s [Resolution] -c:v libx264 -preset ultrafast [OutputFile]
# Example.
ffmpeg -f avfoundation -i 1 -r 30 -pix_fmt yuv420p -s 640x480 -c:v libx264 -preset ultrafast Recording.mp4
Unix
# Usage:
ffmpeg -f x11grab -i :[DisplayID].[ScreenID] -r [FrameRate] -pix_fmt yuv420p -s [Resolution] -c:v libx264 -preset ultrafast [OutputFile]
# Example.
ffmpeg -f avfoundation -i :0.0 -r 30 -pix_fmt yuv420p -s 640x480 -c:v libx264 -preset ultrafast Recording.mp4
Screen Capture with File Segmentation
# Windows
ffmpeg -f gdigrab -i desktop -r [FrameRate] -pix_fmt yuv420p -c:v libx264 -crf 20 -preset ultrafast -f segment -segment_time [SegmentTime] -reset_timestamps 1 [OutputName]_%%04d.mp4
Concatinate into One File
# VideoFiles.txt (contains list of files to process):
file Recordings_0000.mp4
file Recordings_0001.mp4
file Recordings_0002.mp4
file Recordings_0003.mp4
# Concatinate into one file.
ffmpeg -f concat -i VideoFiles.txt -c copy [OutputFile]
# Convert to H264 encoding.
ffmpeg -i [InputFile]-vcodec libx264 [OutputFile]
# Speed up the video.
ffmpeg -i [InputFile] -filter:v "setpts=0.01*PTS" [OutputFile]
Converting
# Convert into MKV with audio scaling.
ffmpeg -i [INPUT] -r 30 -vcodec libx264 -acodec aac -filter:a "volume=10.0" -ss 00:00:04 -s 1920x1080 [OUTPUT]
TIPS
# Speed up
ffmpeg -i [file] -filter:v "setpts=0.01*PTS" [output]
# Merge
ffmpeg -f concat -i [listFile] -c copy [output]
# Split
ffmpeg -i [file] -ss 00:00:10 -to 00:00:20 -async 1 [output]