Commit graph

1 commit

Author SHA1 Message Date
Nate
64f03efbed feat(#5): play YouTube (and any yt-dlp URL) by passing it as the video arg
resolve_video_path() now detects URLs and resolves them through yt-dlp before
playback:

    python stream_server.py 'https://youtu.be/<id>' --mode 3

ytdl.py downloads <=480p (ASCILINE downscales every frame to a tiny grid, so HD
is wasted bandwidth), prefers H.264 for OpenCV compatibility and re-encodes
AV1/VP9 as a fallback, and caches by video id in videos/ so re-runs are instant.
Only activates when the input is a URL; local files/folders/playlists are
untouched. Requires 'pip install yt-dlp'.

Verified end-to-end: is_url() detection + a real URL download decoding cleanly in
OpenCV (300 frames, 360x640).
2026-06-13 23:34:35 -04:00