twitch-hls-client 0.1.3

WIP CLI Twitch HLS Client
twitch-hls-client-0.1.3 is not a library.

twitch-hls-client

WIP CLI Twitch HLS client. Currently only supports low latency and playlist proxies. Does not implement the entirety of HLS, only what is necessary for Twitch to work.

Usage: twitch-hls-client [OPTIONS] --server <URL> <CHANNEL> <QUALITY>

Arguments:
  <CHANNEL>
          Twitch channel to watch, can be "twitch.tv/CHANNEL_NAME" or just "CHANNEL_NAME"
  <QUALITY>
          Stream quality/variant playlist to open (best, 1080p, 720p, 360p, 160p, etc.)

Options:
  -s, --server <URL>
          Server to fetch the master playlist from, if URL includes "[channel]" it will be replaced with the real channel at runtime
  -p, --player <PATH>
          Path to the player that the stream will be piped to, if not specified will write stream to stdout
  -a, --player-args <ARGUMENTS>
          Arguments to pass to the player
  -d, --debug
          Enable debug logging
  -h, --help
          Print help
  -V, --version
          Print version

Example

$ twitch-hls-client -s https://eu.luminous.dev/live/[channel] -p /usr/bin/mpv -a '- --profile=low-latency --demuxer-max-bytes=700k' twitch.tv/twitchchannel best

Todo 📝

  • Support TTVLOL API
  • Allow setting fallback servers
  • Optimize networking, currently around 1 second behind Streamlink with hls-live-edge=1
  • Support SOCKS proxies
  • Support fetching master playlist directly from Twitch and passing auth token
  • Support modes other than low latency