streamlink

Streamlink is a CLI utility which pipes video streams from various services into a video player

BSD-2-CLAUSE License

Downloads
559
Stars
9.5K
Committers
292

Bot releases are visible (Hide)

streamlink - Streamlink 6.8.2 Latest Release

Published by github-actions[bot] 4 months ago

Patch release:

  • Updated plugins:
    • douyin: new plugin (#6059)
    • huya: fixed stream URLs (#6058)
    • pluzz: fixed API URL, stream tokens and validation schemas (#6048)
    • twitch: added info log messages about ad break durations (#6051)
    • twitch: fixed clip URLs (#6045)
    • twitch: fixed discontinuity warning spam in certain circumstances (#6022)
    • vidio: fixed stream tokens, added metadata (#6057)

📦 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

  • 8: @bastimeyer
  • 2: @v2wy
  • 1: @streamlinkbot

🗒️ Full changelog

Morty Wang <[email protected]> (1):
      plugins.douyin: new plugin

bastimeyer <[email protected]> (7):
      plugins.twitch: refactor matchers, fix clip URLs
      plugins.twitch: fix discontinuity warning spam
      plugins.pluzz: refactor, upd API URL, fix schemas
      tools: bump ruff to 0.5.0
      tools: bump mypy to 1.10.1
      plugins.twitch: log ad breaks with duration
      plugins.vidio: fix stream token, add metadata

streamlinkbot <[email protected]> (1):
      plugin.api: update useragents

v2wy <[email protected]> (1):
      plugins.huya: rewrite, fix stream params
streamlink - Streamlink 6.8.1

Published by github-actions[bot] 4 months ago

Patch release:

  • Fixed: failed HTTPAdapter tests on some OpenSSL configurations (#6040, #6042)

📦 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

  • 3: @bastimeyer

🗒️ Full changelog

bastimeyer <[email protected]> (3):
      session.http: disable weak digest ciphers
      tests: test HTTPAdapters on all python versions
      tests: disable coverage of python(version) marker
streamlink - Streamlink 6.8.0

Published by github-actions[bot] 4 months ago

Release highlights:

  • Added: sha256 checksum to log message when side-loading plugins (#6023)
  • Added: SSLContextAdapter to streamlink.session.http (#6024)
  • Deprecated: old re-exports in streamlink.plugins package (#6005)
  • Updated plugins:
    • bilibili: fixed validation schema for offline channels (#6032)
    • chzzk: fixed channels without content (#6002)
    • cnbce: new plugin (#6029)
    • kick: new plugin (#6012, #6021, #6024)
    • tf1: added authentication via --tf1-email and --tf1-password (#5983)
    • tvp: fixed live streams (#6037)
    • welt: fixed live streams (#6011)

📦 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

  • 22: @bastimeyer
  • 1: @BellezaEmporium
  • 1: @Clap2rap
  • 1: @streamlinkbot

🗒️ Full changelog

Clap2rap <[email protected]> (1):
      plugins.chzzk: fix validation schema

Ismaël Moret <[email protected]> (1):
      plugin.tf1: implement authentication

bastimeyer <[email protected]> (21):
      tools: bump mypy to 1.10.0
      tools: bump ruff to 0.4.4
      tools: bump ruff to 0.4.5 and fix issues
      plugins: officially deprecate re-exports
      docs: add note about Ubuntu to install page
      plugins.welt: fix validation schema
      plugins.twitch: fix ad/discontinuity handling
      plugins.kick: new plugin
      tools: bump ruff to 0.4.7 and fix issues
      revert: plugins.twitch: fix ad/discontinuity handling
      plugins.kick: remove plugin
      session: log sha256 of overriding plugin module
      tests: add python(version) markers
      session.http: refactor, add base SSLContextAdapter
      plugins.kick: restore plugin with new HTTPAdapter
      session.http: re-use SSLContext in ProxyManager
      plugins.bilibili: fix schema for offline channels
      plugins.cnbce: new plugin
      chore: add collab checkboxes to issue templates
      tools: bump ruff to 0.4.9
      plugins.tvp: get live streams from API

streamlinkbot <[email protected]> (1):
      plugin.api: update useragents
streamlink - Streamlink 6.7.4

Published by github-actions[bot] 5 months ago

Patch release:

  • Refactored: CLI errors (#5958)
  • Updated plugins:
    • afreeca: updated stream qualities (#5953)
    • afreeca: added --afreeca-stream-password (#5952)
    • chzzk: new plugin (#5731)
    • nownews: removed plugin (#5961)
    • turkuvaz: fixed HLS streams (#5946)
  • Docs: clarified plugin request rules (#5949)
  • Build: fixed build issues on Windows (#5990)
  • Build: removed exceptiongroup dependency on Python >= 3.11 (#5987)

📦 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

  • 21: @bastimeyer
  • 2: @B4TT3RY
  • 1: @fml09
  • 1: @streamlinkbot

🗒️ Full changelog

Lee Taehoon <[email protected]> (2):
      plugins.afreeca: support for password-protected streams
      plugins.afreeca: enhance quality fetching

bastimeyer <[email protected]> (20):
      plugins.turkuvaz: add HLS URL mapping
      tools: unset max line length in markdown files
      docs: remove KNOWN_ISSUES.md
      docs: rewrite "reporting bugs" guide
      docs: rewrite "pull requests" guide
      docs: rephrase and clarify plugin rules
      chore: update plugin issue template
      cli: fix typing information
      cli: refactor CLI errors
      plugins.nownews: remove plugin
      docs: bump myst-parser dependency requirement
      tools: bump ruff to 0.4.2 and fix issues
      docs: bump furo theme version to 2024.04.27
      docs: remove Alpine Linux from install page
      docs: add ALT Linux to install page
      docs: add Void Linux back to install page
      docs: update Windows builds flavors
      docs: fix deprecated ruff <path> call
      build: only require exceptiongroup on py<3.11
      build: fix encoding when reading plugin files

fml09 <[email protected]> (1):
      plugins.chzzk: new plugin

streamlinkbot <[email protected]> (1):
      plugin.api: update useragents
streamlink - Streamlink 6.7.3

Published by github-actions[bot] 6 months ago

Patch release:

  • Fixed: file output paths being able to exceed max file/directory name length (#5921, #5925)
  • Fixed: propagation of KeyboardInterrupt/SystemExit in streamlink.webbrowser (#5930)
  • Fixed: compatibility with exceptiongroup<=1.1.1 (#5930)
  • Fixed: plugin.api.validate.parse_qsd input type validation (#5932)
  • Updated plugins:
    • mangomolo: fixed missing referer header and updated URL matcher (#5923, #5926)
    • pluto: rewritten plugin (#5910)
    • showroom: fixed geo-block check preventing stream access (#5911)
    • vkplay: updated URL matcher (#5908)
  • Tests: fixed test failure when running tests from the bdist build directory (#5933)

📦 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

  • 16: @bastimeyer
  • 1: @amurzeau
  • 1: @streamlinkbot

🗒️ Full changelog

Alexis Murzeau <[email protected]> (1):
      tests: fix test_onbuild when executed from build directory

bastimeyer <[email protected]> (16):
      tools: bump ruff to 0.3.4
      tools: bump mypy to 1.9.0
      plugins.vkplay: update matcher and API URL
      plugins.showroom: fix geo-block check
      docs: fix anchor on install page
      plugins.pluto: rewrite plugin
      tests: refactor CLI path utils tests
      cli.utils.path: add truncate_path()
      cli.utils.formatter: respect max file name length
      plugins.mangomolo: fix missing Referer header
      plugins.mangomolo: fix media.gov.kw matcher
      cli.utils.path: fix max bytes
      plugin.api.validate: check parse_qsd() input type
      webbrowser: fix propagation of BaseException
      ci.codecov: add build_backend status check
      tools: bump ruff to 0.3.7

streamlinkbot <[email protected]> (1):
      plugin.api: update useragents
streamlink - Streamlink 6.7.2

Published by github-actions[bot] 7 months ago

Patch release:

  • Build: reverted trio version requirement bump (#5902)
  • Build: fixed incorrect pytest version requirement (#5901)

📦 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

  • 2: @bastimeyer

🗒️ Full changelog

bastimeyer <[email protected]> (2):
      tests: require pytest 8.0.0
      build: set trio min-requirement back to 0.22
streamlink - Streamlink 6.7.1

Published by github-actions[bot] 7 months ago

Patch release:

  • Fixed: CLI download progress missing the last data chunk (#5887)
  • Fixed: compatibility with trio>=0.25 (#5895)
  • Updated plugins:
    • tv3cat: fixed plugin and added VODs (#5890)
    • vimeo: fixed event streams and embedded player URLs (#5892, #5899)
  • Build: bumped trio dependency version requirement to >=0.25,<1 (#5895)
  • Build: added exceptiongroup dependency (#5895)
  • Tests: fixed root logger level not being reset (#5888, #5897)

📦 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

  • 13: @bastimeyer
  • 1: @amurzeau

🗒️ Full changelog

Alexis Murzeau <[email protected]> (1):
      tests: reset root logger level in test teardown

bastimeyer <[email protected]> (13):
      tools: bump ruff to 0.3.2
      docs: fix 6.7.0 changelog
      cli: update progress output after stream has ended
      tests: refactor CLI progress tests
      plugins.tv3cat: rewrite plugin, add missing VODs
      build: set trio dependency to <0.25 for now
      build: add exceptiongroup dependency
      webbrowser: fix compatibility with trio 0.25
      plugins.twitch: update CI-token error handling
      plugins.vimeo: fix event and player URLs
      docs: rephrase exceptiongroup description
      tests: reset root logger level in cmdline tests
      plugins.vimeo: fix offline event streams
streamlink - Streamlink 6.7.0

Published by github-actions[bot] 7 months ago

Release highlights:

  • Added: repeatable --plugin-dir CLI argument (5866)
  • Deprecated: --plugin-dirs CLI argument with comma separated paths (5866)
  • Fixed: independent encryption status of HLS initialization sections (#5861)
  • Fixed: objects of default session options being shared between sessions (#5875)
  • Updated plugins:
    • bloomberg: fixed data regex (#5869)
    • ltv_lsm_lv: fixed player ID retrieval, removed custom HLS implementation (#5858)
    • mangomolo: new plugin (#5852)
    • ustvnow: updated matcher (#5881)
    • vimeo: fixed optional DASH streams of live events (#5854)

📦 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

  • 16: @bastimeyer
  • 1: @streamlinkbot

🗒️ Full changelog

bastimeyer <[email protected]> (16):
      plugins.vimeo: fix missing HLS/DASH API results
      plugins.ltv_lsm_lv: fix plugin, rm LTVHLSStream
      stream.hls: fix maps with and without keys
      plugins.mangomolo: new plugin
      cli: only log args with the same dest once
      cli: split up main() into setup() and run()
      tests: rewrite CLI logging tests
      tests: rewrite CLI print tests
      plugins.bloomberg: refactor and fix data regex
      tools: bump ruff to 0.3.0 and fix issues
      session: fix default options being shared
      tests: remove unneeded dateutil warning filter
      tools: bump ruff to 0.3.1 and fix issues
      cli: add --plugin-dir, deprecate --plugin-dirs
      plugins.ustvnow: update matcher, reformat code
      docs: move up removal badges on deprecations page

streamlinkbot <[email protected]> (1):
      plugin.api: update useragents
streamlink - Streamlink 6.6.2

Published by github-actions[bot] 8 months ago

Patch release:

  • Fixed: missing plugin override log message in non-editable installs (#5844)
  • Fixed: incorrect setuptools min. version in build requirements (#5842)
  • Updated plugins:
    • afreeca: fixed broadcast number regex (#5847)
    • afreeca: added support for stream metadata (#5849)
    • hiplayer: removed media.gov.kw matcher (#5848)

📦 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

  • 4: @bastimeyer
  • 2: @B4TT3RY

🗒️ Full changelog

Lee Taehoon <[email protected]> (2):
      plugins.afreeca: fix broadcast number regex
      plugins.afreeca: support metadata

bastimeyer <[email protected]> (4):
      tools: bump ruff to 0.2.2 and fix issues
      build: bump setuptools to >=65.6
      session: fix missing plugin override log message
      plugins.hiplayer: remove mediagovkw matcher
streamlink - Streamlink 6.6.1

Published by github-actions[bot] 8 months ago

Patch release:

  • Fixed: plugin arguments in --help output (#5838)
  • Docs: removed empty plugin sections in docs and man page (#5838)

📦 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

  • 3: @bastimeyer

🗒️ Full changelog

bastimeyer <[email protected]> (3):
      options: fix object identity of argparse.SUPPRESS
      session: add plugins args from JSON in reverse
      docs: skip groups with only suppressed actions
streamlink - Streamlink 6.6.0

Published by github-actions[bot] 8 months ago

Release highlights:

📦 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

  • 50: @bastimeyer
  • 1: @blluv
  • 1: @streamlinkbot

🗒️ Full changelog

bastimeyer <[email protected]> (50):
      utils.args: rewrite module
      utils.args: fix keyvalue()
      utils.args: fix filesize()
      cli: fix --ringbuffer-size help text
      options: refactor Argument/pluginargument
      plugin: add str to pluginargument type argument
      plugins: switch pluginargument type values to str
      utils.args: add unique arg to comma_list_filter
      plugins.huya: fix stream URLs
      plugin: add missing pluginargument type functions
      plugins.aloula: add HTTP headers, update matchers
      plugins: replace pluginargument help f-strings
      tools: bump ruff to 0.1.14 and fix issues
      tests: fix session init
      tests: downgrade pytest
      tests: remove pytest downgrade again
      utils.module: fix load_module(), add exec_module()
      session: re-use PathEntryFinder in load_plugins()
      tests: re-use PathEntryFinder in test_plugins
      plugins.qq: remove plugin
      plugins.rtbf: remove plugin
      utils.parse: fix import path
      tools: bump ruff to 0.2.0 and update config
      compat: add deprecated() function
      session: turn session module into a sub-package
      session: remove unneeded PythonDeprecatedWarning
      session: move StreamlinkOptions
      session: move plugin.api.http_session
      plugin.api: restore http_session module
      utils: make parametrized argparse funcs hashable
      options: compare equality of Argument objects
      ci.github: bump setup-python action to v5
      ci.github: bump upload/download-artifact to v4
      ci.github: bump codecov/codecov-action to v4
      session: move plugin load/resolve logic
      docs: HTTPSession and HTTPAdapters deprecation
      docs: Streamlink.{get,load}_plugins() deprecation
      docs: fix custom ext_argparse Sphinx extension
      options: compare equality of Arguments objects
      docs: fix scrollbars in sidebars
      plugins.foxtr: remove plugin
      plugins.nowtvtr: new plugin
      build: implement plugins_json.py script
      build: build and include plugins JSON in wheels
      ci.github: add test_build job
      session: implement lazy plugins loading
      cli: ignore coverage in _parser util module
      options: fix Argument typing information
      tools: bump ruff to 0.2.1 and fix issues
      ci.github: bump setup-python action to v5

blluv <[email protected]> (1):
      stream.hls: add hlsstream kwarg to MuxedHLSStream

streamlinkbot <[email protected]> (1):
      plugin.api: update useragents
streamlink - Streamlink 6.5.1

Published by github-actions[bot] 9 months ago

Patch release:

  • Fixed: file output path log message on py38/py39 (#5728)
  • Improved: warning message when using quoted player paths (in config files) (#5757)
  • Updated plugins:
    • artetv: updated API response validation schema (#5774)
    • atresplayer: updated API response validation schema (#5742)
    • bigo: reimplemented plugin (#5754)
    • bilibili: fixed stream resolving issues on channels with custom layouts (#5771)
    • huya: added stream CDN availability check (#5745)
    • twitch: disabled Chromium headless mode on client-integrity token acquirement (#5758)
    • vidio: fixed missing API request cookies (#5762)
    • zattoo: fixed audio/video sync issues (#5739)

📦 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

  • 19: @bastimeyer
  • 1: @digitechtv
  • 1: @streamlinkbot

🗒️ Full changelog

bastimeyer <[email protected]> (19):
      cli: fix file output log msg on Windows <=py39
      chore: update PR feedback guide
      plugins.zattoo: force FFmpeg copyts
      tools: bump ruff to 0.1.9
      tools: bump mypy to 1.8.0
      plugins.huya: check stream availability
      tests: ignore dateutil DeprecationWarning
      ci.github: bump Python version
      2024
      plugins.bigo: rewrite and fix plugin
      plugins.twitch: disable headless mode
      cli: improve quoted player path warning
      docs: unlist NetBSD package
      docs: unlist Void Linux package
      plugins.vidio: fix stream token
      plugins.bilibili: query API on missing stream data
      tools: bump ruff to 0.1.13 and fix issues
      plugins.artetv: rewrite and fix plugin
      tests: fix positive URLs assertion in plugins test

digitechtv <[email protected]> (1):
      plugins.atresplayer: fix live API request

streamlinkbot <[email protected]> (1):
      plugin.api: update useragents
streamlink - Streamlink 6.5.0

Published by github-actions[bot] 10 months ago

Release highlights:

  • Fixed: UserWarning being emitted by recent pycountry releases when parsing certain language codes (#5722)
  • Fixed: trace logging setup in WebsocketClient implementation (#5705)
  • Updated plugins:
    • btv: switched to HLS multivariant playlists (#5698)
    • gulli: rewritten plugin (#5725)
    • twitch: removed/disabled --twitch-disable-reruns (#5704)
    • twitch: enabled check_streams HLS option, to ensure early stream availability without querying the delayed Twitch API (#5708)
    • twitch: removed unnecessary Twitch API error messages for offline channels (#5709)
    • wasd: removed plugin (#5711)
  • Build: added support for versioningit >=3.0.0, with backward compatibility (#5721)

📦 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

  • 15: @bastimeyer
  • 1: @streamlinkbot

🗒️ Full changelog

bastimeyer <[email protected]> (15):
      plugins.btv: parse HLS multivariant playlist
      plugin.api.websocket: fix trace logging setup
      tests: fix typing issues in WebsocketClient tests
      tests: fix pytest-asyncio warnings
      plugins.twitch: drop --twitch-disable-reruns
      plugins.twitch: remove is-live API check
      plugins.twitch: no error msg for offline channels
      plugins.twitch: only log errors if channel is live
      plugins.wasd: remove plugin
      build: fix setuptools in {dev,docs}-requirements
      tools: bump ruff to 0.1.8 and fix issues
      build: add support for versioningit >=3.0.0
      tests: remove unneeded pycountry warning filters
      utils.l10n: ignore missing official_name warning
      plugins.gulli: rewrite and fix plugin

streamlinkbot <[email protected]> (1):
      plugin.api: update useragents
streamlink - Streamlink 6.4.2

Published by github-actions[bot] 11 months ago

Patch release:

  • Fixed: HLS segment maps being written to the output multiple times (#5689)
  • Fixed plugins:
    • bilibili: rewritten plugin (#5693)
    • piczel: updated HLS URLs (#5690)
    • ssh101: fixed stream URL retrieval (#5686)
  • Docs: added missing Cache API docs (#5688)

📦 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

  • 7: @bastimeyer

🗒️ Full changelog

bastimeyer <[email protected]> (7):
      plugins.ssh101: fix plugin
      docs: clean up developing page
      docs: clean up applications and thirdparty pages
      docs: add cache API docs and add Plugin.cache ref
      stream.hls: fix segment maps
      plugins.piczel: fix and update HLS URL
      plugins.bilibili: rewrite and fix plugin
streamlink - Streamlink 6.4.1

Published by github-actions[bot] 11 months ago

Patch release:

  • Fixed: libxml2 2.12.0 compatibility (#5682)

📦 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

  • 1: @bastimeyer

🗒️ Full changelog

bastimeyer <[email protected]> (1):
      utils.parse: fix libxml2 2.12.0 compatibility
streamlink - Streamlink 6.4.0

Published by github-actions[bot] 11 months ago

Release highlights:

  • Added: missing support for dynamic DASH manifests with SegmentLists (#5654, #5657)
  • Added: warning log message when skipping DASH segments between manifest reloads (#5659)
  • Added plugins: nasaplus (#5664)
  • Updated plugins:
    • raiplay: added VOD support with authentication --raiplay-email / --raiplay-password / --raiplay-purge-credentials (#5662)
    • telemadrid: fixed XPath query (#5653)
    • tvp: fixed tvp.info (#5645)
    • youtube: fixed video ID retrieval (#5673)
  • Docs: added validation schema API docs and API guide (#5652, #5655)

📦 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
  • 2: @michaelarnauts
  • 1: @g-caronte
  • 1: @pablohoffman
  • 1: @streamlinkbot

🗒️ Full changelog

Gianluca Caronte <[email protected]> (1):
      plugin.raiplay: add VOD and authentication support

Michaël Arnauts <[email protected]> (2):
      stream.dash: fix SegmentList in dynamic manifests
      stream.dash: dynamic SegmentList live-edge

Pablo Hoffman <[email protected]> (1):
      plugins.telemadrid: fix xpath

bastimeyer <[email protected]> (24):
      stream.file: fix read mode
      tools: bump ruff to 0.1.3 and fix issues
      script: fix plugin test script
      plugins.tvp: fix tvp.info
      plugin.api.validate: fix perf of validate_sequence
      docs: add plugin.api.validate API documentation
      plugin.api.validate: fix order of module members
      docs: move API guide pages into second layer
      docs: add plugin.api.validate API guide
      stream.dash: warn about skipped segments
      tools: bump ruff to 0.1.5 and fix issues
      tests: upd TestMixinStreamHLS.subject return value
      stream.dash: add init keyword to segments()
      plugin.api.validate: add op keyword to length()
      tools: pinpoint latest mypy version
      tests: fix webbrowser test coverage
      ci.github: rewrite workflows
      plugins.nasaplus: new plugin
      ci.github: switch to pypa/gh-action-pypi-publish
      docs: fix workflow badge in README.md
      plugins.youtube: fix video ID retrieval
      script: add -r/--replace to test-plugin-urls.py
      docs: clean up players page
      docs: remove common issues page

streamlinkbot <[email protected]> (1):
      plugin.api: update useragents
streamlink - Streamlink 6.3.1

Published by github-actions[bot] 12 months ago

Patch release:

  • Fixed plugins:
    • welt: rewritten plugin (#5637)
  • Build: fixed tests when running from sdist (#5636)

📦 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

  • 2: @bastimeyer

🗒️ Full changelog

bastimeyer <[email protected]> (2):
      build: fix onbuild test in sdist
      plugins.welt: rewrite and fix plugin
streamlink - Streamlink 6.3.0

Published by github-actions[bot] 12 months ago

Release highlights:

  • Added: warning log message when skipping HLS segments between playlist reloads (#5607)
  • Refactored: internals of segmented stream implementations (base classes, HLS, DASH)
    • Added: base Segment dataclass and made segmented streams inherit from it (#5594)
    • Moved: modules into sub-packages (import paths of public APIs remain the same) (#5593)
    • Renamed: various non-public HLS class methods/attributes and functions (#5526)
    • Removed: Sequence segment wrapper from HLS implementation (#5526)
  • Fixed: DASH manifest not respecting the minBufferTime (#5610)
  • Fixed: URL matchers of HLS/DASH protocol plugins (#5616, #5617)
  • Fixed: bandwidth parsing issue in HLS multivariant playlists (#5619)
  • Fixed plugins:
    • dlive: fixed live streams and fixed VODs (#5622, #5623)
    • goodgame: rewritten plugin using goodgame API v4 (#5586, #5597)
    • mitele: updated gbx API calls from v2 to v3 (#5624)
    • twitch: fixed error handling of geo-restricted or inaccessible streams (#5591)
  • Removed plugins:
    • ntv: static stream URLs (#5604)
    • vlive: offline (#5599)
  • Build: dropped versioningit build-requirement when building from sdist tarball (version string has always been built-in while versioningit performed a no-op) (#5632)
  • Packaging: added missing shell completions build-script to sdist (#5625)
  • Docs: clarified section about building from source (sdist/git vs. GitHub tarballs) (#5633)

📦 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

  • 39: @bastimeyer
  • 1: @Mehavoid
  • 1: @allanf181
  • 1: @ancebfer
  • 1: @michaelarnauts

🗒️ Full changelog

Allan Fernando <[email protected]> (1):
      plugins.dlive: fix live streams

Antonio Cebrián <[email protected]> (1):
      plugins.mitele: update to gbx v3

Mehavoid <[email protected]> (1):
      plugins.goodgame: use streamKey for HLS URLs

Michaël Arnauts <[email protected]> (1):
      plugin: fix typo in constant name

bastimeyer <[email protected]> (39):
      plugins.twitch: fix HLS multivariant errors
      plugins.goodgame: rewrite using API
      stream.hls: turn Segment/Playlist into dataclasses
      stream.hls: remove Sequence named tuple wrapper
      stream.hls: update methods and attributes
      stream.hls: refactor M3U8 playlist loading
      stream: switch to stream.segmented sub-package
      stream: switch to stream.dash sub-package
      stream: switch to stream.hls sub-package
      stream.segmented: move CompatThreadPoolExecutor
      stream.hls: rename Segment to HLSSegment
      stream.dash: rename Segment to DASHSegment
      stream.dash: rename DASHSegment.url attr to uri
      stream.dash: rename DASHSegment.number to num
      stream.dash: make DASHStream.duration non-optional
      stream.segmented: add common base Segment class
      stream.hls: move HLSSegment to dedicated module
      stream.dash: move DASHSegment to dedicated module
      plugin.api.validate: remove unneeded Match check
      docs: upd Debian stable from bullseye to bookworm
      plugins.vlive: remove plugin
      script: don't upload PGP signatures to PyPI
      plugins.ntv: remove plugin
      stream.hls: warn about skipped segments
      stream.dash: return timedelta from duration parser
      stream.dash: respect the manifest's minBufferTime
      ci.github: update py312 runners
      plugins: ignore case in protocol-plugin input URLs
      plugins: fix URL matchers of HLS and DASH
      stream.hls: fix playlist bandwidth
      tools: bump ruff to 0.1.0
      chore: "RUF" rules to ruff config
      chore: add "INP" rules to ruff config
      chore: add "T20" rules to ruff config
      plugins.dlive: rewrite and fix VODs
      build: include build-shell-completions.sh in sdist
      build: remove versioningit build-req from sdist
      docs: add sdist section to install page
      docs: update virtual-env sections on install page
streamlink - Streamlink 6.2.1

Published by github-actions[bot] about 1 year ago

Patch release:

  • Added: official support for Python 3.12 (#5576)
  • Fixed plugins: goodgame (#5557), nos (#5565), pandalive (#5569), wwenetwork (#5559)
  • Build: added custom setuptools build-backend override which fixes issues with building Windows-specific wheels (#5558)

📦 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

  • 12: @bastimeyer
  • 1: @kitanoyoru
  • 1: @streamlinkbot

🗒️ Full changelog

Alexandr Rutkowski <[email protected]> (1):
      plugins.wwenetwork: new api layout

bastimeyer <[email protected]> (12):
      plugins.goodgame: rewrite and fix plugin
      build: override setuptools build backend
      docs: update Solus package URL again
      docs: update Debian package URLs
      docs: fix Arch Linux AUR wiki page URL
      docs: add FreeBSD to install docs
      docs: add Alpine Linux to install docs
      plugins.nos: rewrite and fix plugin
      tools: bump ruff to 0.0.291 and fix issues
      ci.github: add py312-dev test runner on Windows
      plugins.pandalive: fix live/play API call
      build: add Python 3.12 to package classifiers

streamlinkbot <[email protected]> (1):
      plugin.api: update useragents
streamlink - Streamlink 6.2.0

Published by github-actions[bot] about 1 year ago

Release highlights:

  • Added: --player-env CLI argument (#5535)
  • Added: OpenSSL version to debug log output (#5506)
  • Updated: segmented stream internals and typing (#5504, #5507)
  • Updated: internal HLS tag parsing setup and parser state (#5513, #5521)
  • Fixed: HLS streams not ending on playlist reload with endlist tag and no new segments (#5538)
  • Fixed: missing file encoding when writing a log file (#5532)
  • Added plugins: piaulizaportal (#5508)
  • Fixed plugins: hiplayer (#5534), nicolive (#5529), pluto (#5551)
  • Docs: added list of supported metadata variables for each plugin (#5517, #5519)

📦 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

  • 29: @bastimeyer
  • 1: @pzhlkj6612
  • 1: @streamlinkbot

🗒️ Full changelog

Mozi <[email protected]> (1):
      plugins.piaulizaportal: new plugin

bastimeyer <[email protected]> (28):
      cli: log OpenSSL version in debug log
      stream.segmented: reorder class definitions
      stream.segmented: update queue and its item format
      stream.segmented: remove invalid retries keyword
      stream.segmented: remove timeout arg from reader
      stream.segmented: clean up constructors
      stream.segmented: fix and add more typing
      docs: update Solus package URL
      stream.hls: refactor tag parser mapping
      docs: add support for $metadata plugin metadata
      cli.argparser: metadata availability in plugins
      plugins: add $metadata variables
      docs: rewrite metadata page
      stream.hls: refactor M3U8Parser state attributes
      tools: bump ruff to 0.0.287 and fix issues
      logger: fix missing FileHandler encoding
      plugins.nicolive: add metadata
      plugins.hiplayer: fix base64 data, drop rotana.net
      tests: add test for key=value args in config files
      cli: add --player-env argument
      stream.hls: fix endlist on empty playlist reload
      ci.github: bump Python version
      ci.github: bump action versions
      plugins.ustreamtv: refactor using dataclasses
      docs: bump furo theme version to 2023.09.10
      chore: clarify version string req. in issues
      build: fix build-and-sign script
      plugins.pluto: fix HLS playlist parameters

streamlinkbot <[email protected]> (1):
      plugin.api: update useragents