Você pode fornecer uma entrada http / rtsp / rtmp para ffmpeg
e ela será compactada. Mas o problema é que você precisa do URL do vídeo real.
Para sites como o youtube, dailymotion, o endereço da página é diferente do endereço do vídeo.
Você precisa de um programa auxiliar como youtube-dl ou Movgrab que pode fornecer o URL do vídeo, bem como fazer o download do vídeo.
Então você pode usar ffmpeg
para compactá-lo assim:
ffmpeg -i INPUT_URL_FROM_ABOVE_STEP -acodec libfaac -ab 128k -s WIDTHxHEIGHT \
-vcodec libx264 -b BIT_RATE -flags +loop -cmp +chroma \
-partitions +parti4x4+partp8x8+partb8x8 -me umh -subq 5 -trellis 1 -refs 1 \
-coder 0 -me_range 16 -g 300 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 \
-bt BIT_RATE -maxrate 10M -bufsize 10M -rc_eq 'blurCplx^(1-qComp)' \
-qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 30 -aspect WIDTH:HEIGHT OUTPUT.mp4