Skip to content
CineWindows logoCineWindows
Esc
navigateopen⌘Jpreview
On this page

Streaming & URLs

YouTube and streaming support via yt-dlp

CineWindows streams media from the internet through its integration with yt-dlp and mpv’s native network protocols. Open URLs directly, search YouTube from within the player, or paste a streaming link into the URL dialog.

yt-dlp Integration

yt-dlp is the backbone of CineWindows’ streaming support. It handles URL resolution, format selection, and extraction for hundreds of sites. The player launches yt-dlp as an external process — detected automatically via PathUtils::mediaToolPath() or bundled alongside the CineWindows executable.

Auto-Update

yt-dlp can be updated from within CineWindows when a newer version is available. The integrated update mechanism runs yt-dlp’s self-update routine and reports the result via the toast notification system.

Supported Protocols

CineWindows streams any URL that mpv and yt-dlp support:

Protocol Examples
HTTP / HTTPS Direct media links, HLS playlists (.m3u8)
HLS Live streams, adaptive bitrate streams
DASH MPEG-DASH manifests (.mpd)
RTMP RTMP live streams
RTSP IP camera streams, RTSP servers
YouTube youtu.be/*, youtube.com/watch?v=*
YouTube Music music.youtube.com/*
Twitch, Vimeo, Dailymotion Site-specific extraction via yt-dlp

URL Dialog

Open the URL dialog with Ctrl+U or from the Media menu. Paste any supported link and press Enter to begin playback. The dialog supports:

  • Direct media URLs (.mp4, .webm, .mkv, .mp3, .aac, etc.)
  • YouTube and streaming site links
  • HLS and DASH manifest URLs
  • RTMP and RTSP stream URLs

URLs are added to the current playlist and can be mixed with local files.

Network Caching

Streaming uses mpv’s built-in network cache with configurable buffer size:

Setting Default Range
Cache size 150 MB 10 MB – 1024 MB
Cache pause auto pauses playback when cache runs low

Adjust cache settings in Preferences > Advanced > Network Cache. Larger cates buffer more content for smoother playback on unstable connections at the cost of higher memory usage.

Watch from YouTube

Press Ctrl+U and paste a YouTube URL, or open Media > YouTube Search (Ctrl+Shift+Y) to use the built-in YouTubeSearchDialog.

Search or Paste

Type a query in the search field — the YouTubeSearchService launches yt-dlp ytsearch12:<query> with --flat-playlist --dump-single-json --skip-download to fetch 12 results as JSON. Results display title, channel, duration, view count, upload date, and a thumbnail from i.ytimg.com.

Select and Play

Click a result or press Enter to load it. CineWindows resolves the URL through yt-dlp and opens the best available stream in the player. Live streams are flagged with a live badge in the search results.

Full Playback Control

Once loaded, streaming content behaves like local files — seek, pause, adjust speed, apply filters, toggle subtitles. The MediaLibraryService tracks play position and history for streaming URLs just as it does for local files.

YouTube Search Service Details

The YouTubeSearchService manages a QProcess that runs yt-dlp with the following arguments:

  • --ignore-config — prevents user config from interfering
  • --flat-playlist — fast metadata-only extraction
  • --dump-single-json — structured JSON output
  • --skip-download — no media downloaded during search
  • --ignore-errors — continues past unavailable videos
  • --no-warnings — suppresses diagnostic warnings

Results are parsed from the JSON entries array, extracting id, title, channel/uploader, duration, view count, upload date, and live status. The search can be canceled mid-flight — the process is killed and results are discarded.

Security & Privacy

CineWindows does not send telemetry or browsing data to any server. yt-dlp requests are direct between the tool and the streaming site. URL history is stored locally in the media library database and can be cleared at any time.

Was this page helpful?