skillfed

streamlink

Streamlink is a command-line utility that extracts streams from various services and pipes them into a video player of choice.

streamlink v8.5.0 218.0K downloads/30d#9,347 on PyPI11,689
Permissive license BSD-2-Clause Active released

What it is and what it does

Streamlink is a command-line tool and Python library that extracts video streams from online services and sends them directly to a video player or file. It was forked from the abandoned Livestreamer project in 2016 and uses a plugin system to support many popular streaming platforms. Rather than loading resource-heavy website interfaces, Streamlink retrieves the underlying stream URL and plays it in your choice of player—VLC by default, but with options to write to disk, read metadata, or integrate into Python code.

The package depends on 13 runtime libraries covering HTTP requests, cryptography, XML parsing, and async I/O (trio and trio-websocket). It supports Python 3.10 through 3.14 and runs on Windows, macOS, and POSIX systems. The library is actively maintained, with a recent release and ongoing commits, making it suitable for both CLI use and programmatic integration into Python applications.

Use it for:

  • Watch Twitch or YouTube streams without loading the website's player or ads in a browser.
  • Record live streams to disk by redirecting Streamlink output to a file instead of playing in VLC.
  • Automate stream monitoring or archival by calling Streamlink's Python API from a script.
  • Extract stream metadata (resolution, bitrate, codec) for analysis or logging without playback.
  • Integrate stream extraction into a custom media application using Streamlink as a library.
  • Access streams from services that require authentication or have region restrictions via plugin configuration.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Streamlink extracts video streams from various online services and pipes them into a video player or file, bypassing resource-heavy websites to access streamed content directly.

Yes. Streamlink is actively maintained, has low install friction, carries no known vulnerabilities, and uses a permissive license. It solves a real problem—lightweight stream extraction—and is well-suited for both command-line and programmatic use. Install if you regularly watch or record streams from online services.

Install

streamlink on PyPI

pip

pip install streamlink

uv

uv add streamlink

poetry

poetry add streamlink

Installing streamlink

Before you install

Low friction: pure Python wheel with 13 runtime dependencies including standard HTTP and cryptography libraries. Active maintenance with a release 13 days ago and 11689 GitHub stars; last commit 2026-08-12 signals ongoing development.

License in practice

BSD-2-Clause is permissive; you can use, modify, and distribute Streamlink with minimal restrictions, provided you retain the license notice.

Quickstart

pip install streamlink
streamlink "https://example.com/stream" best

Requires Python >=3.10. A video player (VLC by default) must be installed and in PATH for playback; alternatively, output can be redirected to a file.

Verify before relying

  • Whether all 13 runtime dependencies are always required or if some are optional for specific plugins or use cases.
  • Which specific streaming services are currently supported beyond the general mention of Twitch and YouTube.
  • Performance characteristics when handling high-bitrate or long-duration streams.

Package facts

License BSD-2-Clause (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 13 — certifi, exceptiongroup, isodate, lxml, pycountry, pycryptodome, PySocks, requests, trio, trio-websocket, typing-extensions, urllib3, websocket-client
Maintenance actively maintained — 13 days since the last release
Last repo commit
First released
Downloads 217,968/month — #9,347 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: streamlink-8.5.0-py3-none-any.whl

Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: End Users/DesktopOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIXProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Internet :: WWW/HTTPTopic :: Multimedia :: Sound/AudioTopic :: Multimedia :: VideoTopic :: Utilities

Tags

stream extraction from websitesvideo player command-line utilitytwitch youtube stream downloaderpipe streams to vlcbypass website streaming playersextract m3u8 hls streamsstreaming service plugin system
stream-extractionvideo-player-integrationcli-tool

More WWW/HTTP packages