dshow list ========== ffmpeg -list_devices true -f dshow -i dummy use output to select the devices on your system and use them to replace the video= and audio= quoted strings in the commands below: webcam test =========== ffmpeg -rtbufsize 100M -f dshow -i video="Microsoft Camera Front":audio="Microphone (Intel SST Audio Device (WDM))" -filter_complex "[0] fps=25,scale=-1:360,crop=480:ih:iw-ow/2:0" -pix_fmt yuv420p -y test.mp4 480p ==== ffmpeg -rtbufsize 100M -f dshow -i video="Microsoft Camera Front":audio="Microphone (Intel SST Audio Device (WDM))" -f gdigrab -framerate 25 -video_size 1920x1080 -offset_y 100 -i desktop -filter_complex "[0] fps=25,scale=-1:240,crop=320:ih:iw-ow/2:0 [cam]; [1:v] scale=854:480 [ppt]; [ppt][cam] overlay=W-w:H-h" -c:v libx264 -threads 0 -profile:v main -level 3.1 -pix_fmt yuv420p -preset fast -crf 18 -bf 2 -flags +cgop -movflags +faststart -ac 1 -c:a aac -b:a 96k -y test.mp4 720p ==== ffmpeg -rtbufsize 200M -f dshow -i video="Microsoft Camera Front":audio="Microphone (Intel SST Audio Device (WDM))" -f gdigrab -framerate 25 -video_size 1920x1080 -offset_y 100 -i desktop -filter_complex "[0] fps=25,scale=-1:360,crop=480:ih:iw-ow/2:0 [cam]; [1:v] scale=-1:720 [ppt]; [ppt][cam] overlay=W-w:H-h" -c:v libx264 -threads 0 -profile:v main -level 3.1 -pix_fmt yuv420p -preset fast -crf 18 -bf 2 -flags +cgop -movflags +faststart -ac 1 -c:a aac -b:a 96k -y test.mp4