Discover / Video & YouTube

Streamlink

by streamlinkPython

CLI that pipes live streams from many services into a video player.

Toolstable

Maturity: stable because 10y old, 8.4.0 released 89d ago. Derived from release and commit history, not a rating.

Stars
12k
Forks
1.2k
Downloads / mo
208k
Last commit
2026-08-01
License
BSD-2-Clause
Open issues
73

Market and trust evidence

Edition not yet matched

No exact skills.sh identity match is available for this repository. Repository adoption and freshness remain visible above; install momentum is not inferred.

Trust analysis is a screening signal, not a security warranty. Read the ranking and trust methodology.

In practice

Written by AI from this repository’s README · medium confidence

Watching live streams in a browser means loading resource heavy and unoptimized website players.

Use it when

When you want to play or capture a live stream in a local player such as VLC instead of on the website.

Not the right pick when

Service coverage depends on the bundled plugin list, so a site without a plugin is not supported.

Capabilities

  • pipes streams from various services into a video player
  • plugin system so support for new services can be added easily
  • supports popular services such as Twitch and YouTube
  • defaults to playing back streams in the VLC player
  • can write the stream to the filesystem or read stream metadata
  • API guide and reference for Python implementors

Cost: Free and open source

Install

Derived from the published package name in the repository, not from a model.

Video walkthroughs

Third-party YouTube uploads matched to this tool by title, channel and repository name on 2026-08-03. Not made, reviewed or endorsed by SkillPilot. View counts and publish months are as of the match date and the month is approximate. Nothing loads from YouTube until you press play.

What the repository ships

Has testsHas docsCI configured

Detected from the actual files in the repository root.

Latest release 8.4.0

Published 2026-05-06

  • SECURITY: fixed arbitrary local file read via file:// URI in HLS and DASH (CVE-2026-44353 / GHSA-hgqw-6m45-hw5f)
  • Added: --stream-passthrough-encrypted for passing through encrypted HLS/DASH segments to the output stream without any checks (#6896)
  • Fixed: --interface selection by name on macOS (#6908)
  • Fixed: --interface not being applied to adapters mounted after session init (#6915)
  • Updated plugins:
  • goltelevision: rewritten and fixed plugin (#6916)
  • twitcasting: improved ad segment filtering (#6910)

📦 Download and Installation

Please see the installation instructions for a list of available install methods and packages on the supported operating systems.

⚙️ Configuration and Usage

Please see the CLI documentation for how to configure and use Streamlink.

❤️ Support

If you think that Streamlink is useful and if you want to keep the project alive, then please consider supporting its maintainers by sending a small and optionally recurring tip via the available options.

Your support is very much appreciated, thank you!

🙏 Contributors

  • 26: @bastimeyer
  • 1: @jordandalley
  • 1: @streamlinkbot

🗒️ Full changelog


3l3m3nt <jordan@dalleyfamily.net> (1):
      stream: add --stream-passthrough-encrypted

bastimeyer <mail@bastimeyer.de> (26):
      tools: bump ty to 0.0.30 and fix issues
      tools: bump mypy to 1.20.1
      tools: bump ruff to 0.15.10
      tests: add --stream-passthrough-encrypted tests
      cli.argparser: fix type of session-option mapping
      docs: fix sidebar-brand anchor color
      ci.readthedocs: bump python to 3.14
      tools: set ty.environment.python-platform to "all"
      ci.github: add macos-latest runners
      ci.github: update temp-dependencies install script
      compat: add more OS-check constants
      tests: add linux_only and darwin_only markers
      session.http: fix set_interface on macOS
      session.http: patch urllib3's set_socket_options
      plugins.twitcasting: filter preroll on segment map
      tools: bump ruff to 0.15.12
      chore: replace docutils-stubs with types-docutils
      tools: bump ty to 0.0.33
      tools: bump mypy to 1.20.2
      session.http: also set interface on adapter mount
      plugins.goltelevision: rewrite and fix plugin
      docs: update Ubuntu package URL to Ubuntu 26.04
      utils.url: add is_insecure_scheme
      stream.hls: check segment/map/key/plist URI scheme
      tests.stream.hls: decryption key w/ custom adapter
      stream.dash: check BaseURL and segment URI scheme

streamlinkbot <streamlinkbot@users.noreply.github.com> (1):
      session.http_useragents: update useragents

Tags

README

<h1 align="center"><a href="https://streamlink.github.io/">Streamlink<br><img height="150" alt="Streamlink" src="https://raw.githubusercontent.com/streamlink/streamlink/master/icon.svg"></a></h1>

<p align="center">

<a href="https://streamlink.github.io/install.html"><img alt="Supported Python versions" src="https://img.shields.io/pypi/pyversions/streamlink.svg?style=flat-square&maxAge=86400"></a>

<a href="https://streamlink.github.io/changelog.html"><img alt="Latest release" src="https://img.shields.io/github/release/streamlink/streamlink.svg?style=flat-square&maxAge=86400"></a>

<a href="https://github.com/streamlink/streamlink"><img alt="License" src="https://img.shields.io/github/license/streamlink/streamlink.svg?style=flat-square&maxAge=86400"></a>

<a href="https://github.com/streamlink/streamlink/issues"><img alt="Open issues" src="https://img.shields.io/github/issues/streamlink/streamlink.svg?style=flat-square&maxAge=86400"></a>

<a href="https://github.com/streamlink/streamlink/actions?query=event%3Apush"><img alt="Build status" src="https://img.shields.io/github/actions/workflow/status/streamlink/streamlink/test.yml?branch=master&event=push&style=flat-square&maxAge=86400"></a>

<a href="https://codecov.io/github/streamlink/streamlink?branch=master"><img alt="Overall code coverage" src="https://img.shields.io/codecov/c/github/streamlink/streamlink.svg?branch=master&style=flat-square&maxAge=86400"></a>

</p>

<p align="center">

A Python library and command-line interface which pipes streams from various services into a video player.<br>

Avoid resource-heavy and unoptimized websites, and still enjoy streamed content.

</p>

<p align="center">

Streamlink was forked in 2016 from the abandoned <em>Livestreamer</em> project.

</p>

📦 Installation

Please take a look at the documentation for different ways of installing Streamlink:

  • [Windows][streamlink-installation-windows]
  • [macOS][streamlink-installation-macos]
  • [Linux and BSD][streamlink-installation-linux-and-bsd]
  • [PyPI package and source code][streamlink-installation-pypi-source]

👍 Features

Streamlink is built on top of a plugin system which allows support for new services to be added easily.

Most of the popular streaming services are supported, such as Twitch, YouTube, and many more.

A list of all plugins currently included can be found on the [plugins page][streamlink-plugins].

💡 Quickstart

After installing, simply run:


streamlink "STREAMURL" best

The default behavior of Streamlink is to play back streams in the [VLC player][player-vlc], but a lot of other options and output methods are available, such as writing the stream to the filesystem, reading stream metadata, etc.

For more in-depth usage, please refer to the [CLI documentation][streamlink-documentation-cli].

An [API guide][streamlink-documentation-apiguide] and [API reference][streamlink-documentation-apiref] is available for Python implementors of Streamlink.

🙏 Contributing

All contributions are welcome.

Feel free to open a new thread on the issue tracker or submit a new pull request.

Please read [CONTRIBUTING.md][contributing] first. Thanks!

❤️ Support

If you think that Streamlink is useful and if you want to keep the project alive, then please consider supporting its maintainers by sending a small and optionally recurring tip via the [available options][support].

Your support is very much appreciated, thank you!

[streamlink-installation-windows]: https://streamlink.github.io/install.html#windows

[streamlink-installation-macos]: https://streamlink.github.io/install.html#macos

[streamlink-installation-linux-and-bsd]: https://streamlink.github.io/install.html#linux-and-bsd

[streamlink-installation-pypi-source]: https://streamlink.github.io/install.html#pypi-package-and-source-code

[streamlink-documentation-cli]: https://streamlink.github.io/cli.html

[streamlink-documentation-apiguide]: https://streamlink.github.io/api_guide.html

[streamlink-documentation-apiref]: https://streamlink.github.io/api.html

[streamlink-plugins]: https://streamlink.github.io/plugins.html

[player-vlc]: https://www.videolan.org/vlc/

[contributing]: https://github.com/streamlink/streamlink/blob/master/CONTRIBUTING.md

[support]: https://streamlink.github.io/latest/support.html

Related tools