Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
STREAMLINK(1)			  Streamlink			 STREAMLINK(1)

NAME
       streamlink - extracts streams from various services and pipes them into
       a video player of choice

SYNOPSIS
	  streamlink [OPTIONS] <URL> [STREAM]

EXAMPLES
	  streamlink --loglevel	debug youtu.be/VIDEO-ID	best
	  streamlink --player mpv --player-args	'--no-border --no-keepaspect-window' twitch.tv/CHANNEL 1080p60
	  streamlink --player-external-http --player-external-http-port	8888 URL STREAM
	  streamlink --output /path/to/file --http-timeout 60 URL STREAM
	  streamlink --stdout URL STREAM | ffmpeg -i pipe:0 ...
	  streamlink --http-header 'Authorization=OAuth	TOKEN' --http-header 'Referer=URL' URL STREAM
	  streamlink --hls-live-edge 5 --stream-segment-threads	5 'hls://https://host/playlist.m3u8' best
	  streamlink --twitch-low-latency -p mpv -a '--cache=yes --demuxer-max-back-bytes=2G' twitch.tv/CHANNEL	best

OPTIONS
   Positional arguments
       URL    A	URL to attempt to extract streams from.

	      Usually, the protocol of http(s) URLs can	be omitted (https://),
	      depending	on the implementation of the plugin being used.

	      Alternatively,  the URL can also be specified by using the --url
	      option.

       STREAM Stream to	play.

	      Use best or worst	for selecting the highest or lowest  available
	      quality.

	      Fallback	streams	 can  be  specified by using a comma-separated
	      list:

		 "720p,480p,best"

	      If no stream is specified	and --default-stream is	not used, then
	      a	list of	available streams will be printed.

   General options
       -h

       --help Show this	help message and exit.

       -V

       --version
	      Show version number and exit.

       --plugins
	      Print a list of all currently installed plugins.

       --plugin-dirs DIRECTORY
	      Attempts to load plugins from these directories.

	      Multiple directories can be  used	 by  separating	 them  with  a
	      comma.

       --can-handle-url	URL
	      Check  if	 Streamlink has	a plugin that can handle the specified
	      URL.

	      Returns status code 1 for	false and 0 for	true.

	      Useful for external scripting.

       --can-handle-url-no-redirect URL
	      Same as --can-handle-url but without  following  redirects  when
	      looking up the URL.

       --config	FILENAME
	      Load options from	this config file.

	      Can  be  repeated	 to load multiple files, in which case the op-
	      tions are	merged on top of each other where the last config  has
	      highest priority.

       --no-config
	      Disable loading any default or custom config files.

       -l LEVEL

       --loglevel LEVEL
	      Set the log message threshold.

	      Valid levels are,	in order of increasing verbosity:

	      none, critical, error, warning, info, debug, trace, all

	      Default is: "info".

       --logfile FILE
	      Append log output	to FILE	instead	of writing to stdout/stderr.

	      User prompts and download	progress won't be written to FILE.

	      A	 value	of  - (dash) will set the file name to an ISO8601-like
	      string and will choose the following default log directories.

	      Windows:

		 %TEMP%\streamlink\logs

	      macOS:

		 ${HOME}/Library/Logs/streamlink

	      Linux/BSD:

		 ${XDG_STATE_HOME:-${HOME}/.local/state}/streamlink/logs

       -Q

       --quiet
	      Hide all log output.

	      Alias for	--loglevel none.

       -j

       --json Output JSON representations instead of the normal	text output.

	      Useful for external scripting.

       --auto-version-check {yes,true,1,on,no,false,0,off}
	      Enable or	disable	the automatic  check  for  a  new  version  of
	      Streamlink.

	      Default is: "no".

       --version-check
	      Runs a version check and exits.

       --locale	LOCALE
	      The preferred locale setting, for	selecting the preferred	subti-
	      tle and audio language.

	      The  locale  is formatted	as [language_code]_[country_code], eg.
	      en_US or es_ES.

	      Default is: system locale.

       --interface INTERFACE
	      Set the network interface.

       -4

       --ipv4 Resolve address  names  to  IPv4	only.  This  option  overrides
	      --ipv6.

       -6

       --ipv6 Resolve  address	names  to  IPv6	 only.	This  option overrides
	      --ipv4.

   Player options
       -p PATH

       --player	PATH
	      The player executable that will be launched (unless a  different
	      output method was	chosen).

	      Either  set  an  absolute	 or  relative  path to the player exe-
	      cutable, or just set the executable's name if it can be resolved
	      from the paths of	the system's PATH environment variable.

	      In addition to setting the player	executable path, custom	player
	      arguments	can be set via --player-args.

	      NOTE:
		 In the	past, --player allowed defining	additional player  ar-
		 guments,  which  as  a	 consequence  required wrapping	player
		 paths that contained spaces in	quotation marks. This  is  un-
		 supported since release 6.0.0.

	      Default is: VLC player, if available.

       -a ARGUMENTS

       --player-args ARGUMENTS
	      This  option  allows  the	arguments which	are used to launch the
	      player process to	be customized.

	      The value	can contain formatting variables surrounded  by	 curly
	      braces,  { and }.	 Curly brace characters	can be escaped by dou-
	      bling, e.g. {{ and }}.

	      Available	formatting variables:

	      {playerinput}
		     This is the input argument	that the player	will  receive.
		     For  standard  input  (stdin), it is - (dash), but	it can
		     also be a file path or  URL,  depending  on  the  options
		     used.   If	 unset,	then the player	input argument will be
		     appended to the parsed player arguments list.

	      {playertitleargs}
		     The automatically generated player	title arguments, if  a
		     supported player was found. See --title for more.	If un-
		     set,  automatically generated player title	arguments will
		     be	prepended to the parsed	player arguments list.

	      Example:

		 streamlink -p vlc -a "--play-and-exit --no-one-instance" <url>	[stream]

	      Default is: "".

       --player-env KEY=VALUE
	      Add an additional	environment variable  to  the  spawned	player
	      process,	in  addition  to  the  ones inherited from the Stream-
	      link/Python parent process. This allows setting player  environ-
	      ment variables in	config files.

	      Can be repeated to add multiple environment variables.

       -v

       --verbose-player
	      Allow the	player to display its console output.

       -n

       --player-fifo

       --fifo Make  the	player read the	stream through a named pipe instead of
	      the stdin	pipe.

       --player-http
	      Make the player read the stream  through	HTTP  instead  of  the
	      stdin pipe.

       --player-continuous-http
	      Make  the	 player	 read  the  stream  through  HTTP,  but	unlike
	      --player-http it will continuously try to	open the stream	if the
	      player requests it.

	      This makes it possible to	 handle	 stream	 disconnects  if  your
	      player is	capable	of reconnecting	to a HTTP stream. This is usu-
	      ally done	by setting your	player to a "repeat mode".

       --player-external-http
	      Serve  stream data through HTTP without running any player. This
	      is useful	to allow external devices like smartphones or  stream-
	      ing boxes	to watch streams they wouldn't be able to otherwise.

	      The  default behavior is similar to the --player-continuous-http
	      option, but no player program will be started,  and  the	server
	      will  listen on all available connections	instead	of just	in the
	      local (loopback) interface.

	      See --player-external-http-interface  for	 choosing  a  specific
	      network	interface,  and	 see  --player-external-http-port  for
	      choosing a non-randomized	port.

	      Optionally, the --player-external-http-continuous	option	allows
	      for  disabling  the continuous run-mode, so that Streamlink will
	      stop when	the stream ends.

	      The URLs that can	be used	to access the stream will  be  printed
	      to the console, and the server can be interrupted	using CTRL-C.

       --player-external-http-continuous {yes,true,1,on,no,false,0,off}
	      Set  the	run-mode  of  --player-external-http  to continuous or
	      non-continuous.

	      In the continuous	run-mode, Streamlink will keep	running	 after
	      the stream has ended and will wait for the next HTTP request be-
	      ing made unless it gets shut down	via CTRL-C.

	      If  set  to non-continuous, Streamlink will stop once the	stream
	      has ended.

	      Default is: true.

       --player-external-http-interface	INTERFACE
	      The network interface on which the HTTP server will be listening
	      on.  If unset or set to 0.0.0.0, all available  interfaces  will
	      be bound.

       --player-external-http-port PORT
	      A	fixed port to use for the external HTTP	server if that mode is
	      enabled. Omit or set to 0	to use a random	high ( >1024) port.

       --player-passthrough TYPES
	      A	 comma-delimited list of stream	types to pass to the player as
	      a	URL to let it handle the transport of the stream instead.

	      Stream types that	can be converted into a	playable URL are:

	      	hls

	      	http

	      Make sure	your player can	handle	the  stream  type  when	 using
	      this.

       --player-no-close
	      By  default  Streamlink  will  close  the	player when the	stream
	      ends. This is to avoid "dead"  GUI  players  lingering  after  a
	      stream ends.

	      It  does	however	 have  the  side-effect	of sometimes closing a
	      player before it has played back all of its cached data.

	      This option will instead let the player decide when to exit.

       -t TITLE

       --title TITLE
	      Change the title of the video player's window.

	      Please see the "Metadata variables" section of Streamlink's  CLI
	      documentation  for  all available	metadata variables, as well as
	      the "Plugins" section for	the list of metadata variables defined
	      in each plugin.

	      This option is only supported for	the  following	players:  mpv,
	      potplayer, vlc

	      VLC specific information:
		     VLC does support special formatting variables on its own:
		     https://wiki.videolan.org/Documentation:Format_String/

		     These  variables  are accessible in the --title option by
		     adding a backslash	in front of the	dollar sign which  VLC
		     uses as its formatting character.

		     For  example,  to put the current date in your VLC	window
		     title, the	 string	 \$A  could  be	 inserted  inside  the
		     --title string.

	      Example:

		 streamlink -p mpv --title "{author} - {category} - {title}" <URL> [STREAM]

   File	output options
       -o FILENAME

       --output	FILENAME
	      Write stream data	to FILENAME instead of playing it. If FILENAME
	      is set to	- (dash), then the stream data will be written to std-
	      out, similar to the --stdout argument.

	      Non-existent  directories	 and subdirectories will be created if
	      they do not exist, if filesystem permissions allow.

	      You will be prompted if the file already exists.

	      Please see the "Metadata variables" section of Streamlink's  CLI
	      documentation  for  all available	metadata variables, as well as
	      the "Plugins" section for	the list of metadata variables defined
	      in each plugin.

	      Unsupported characters in	substituted variables will be replaced
	      with an underscore.

	      Example:

		 streamlink --output "~/recordings/{author}/{category}/{id}-{time:%Y%m%d%H%M%S}.ts" <URL> [STREAM]

       -O

       --stdout
	      Write stream data	to stdout instead of playing it.

       -r FILENAME

       --record	FILENAME
	      Open the stream in the player, while at the same time writing it
	      to FILENAME. If FILENAME is set to -  (dash),  then  the	stream
	      data  will  be  written to stdout, similar to the	--stdout argu-
	      ment, while still	opening	the player.

	      Non-existent directories and subdirectories will be  created  if
	      they do not exist, if filesystem permissions allow.

	      You will be prompted if the file already exists.

	      Please  see the "Metadata	variables" section of Streamlink's CLI
	      documentation for	all available metadata variables, as  well  as
	      the "Plugins" section for	the list of metadata variables defined
	      in each plugin.

	      Unsupported characters in	substituted variables will be replaced
	      with an underscore.

	      Example:

		 streamlink --record "~/recordings/{author}/{category}/{id}-{time:%Y%m%d%H%M%S}.ts" <URL> [STREAM]

       -R FILENAME

       --record-and-pipe FILENAME
	      Write  stream  data to stdout, while at the same time writing it
	      to FILENAME.

	      Non-existent directories and subdirectories will be  created  if
	      they do not exist, if filesystem permissions allow.

	      You will be prompted if the file already exists.

	      Please  see the "Metadata	variables" section of Streamlink's CLI
	      documentation for	all available metadata variables, as  well  as
	      the "Plugins" section for	the list of metadata variables defined
	      in each plugin.

	      Unsupported characters in	substituted variables will be replaced
	      with an underscore.

	      Example:

		 streamlink --record-and-pipe "~/recordings/{author}/{category}/{id}-{time:%Y%m%d%H%M%S}.ts" <URL> [STREAM]

       --fs-safe-rules
	      The  rules used to make formatting variables filesystem-safe are
	      chosen automatically according to	the type  of  system  in  use.
	      This overrides the automatic detection.

	      Intended	for  use  when Streamlink is running on	a UNIX-like OS
	      but writing to Windows filesystems such as NTFS; USB devices us-
	      ing VFAT or exFAT; CIFS shares that are enforcing	Windows	 file-
	      name limitations,	etc.

	      These  characters	 are replaced with an underscore for the rules
	      in use:

	      	POSIX: \x00-\x1F /

	      	Windows: \x00-\x1F \x7F	" * / :	< > ? \	|

       -f

       --force
	      When using --output or --record, always write to file even if it
	      already exists (overwrite).

       --progress {yes,force,no}
	      When using --output or  --record,	 show  or  hide	 the  download
	      progress bar, or force it	if there's no terminal.

	      Default is: yes.

       --force-progress
	      Deprecated in favor of --progress=force.

   Stream options
       --url URL
	      A	URL to attempt to extract streams from.

	      Usually, the protocol of http(s) URLs can	be omitted (https://),
	      depending	on the implementation of the plugin being used.

	      This is an alternative to	setting	the URL	using a	positional ar-
	      gument and can be	useful if set in a config file.

       --default-stream	STREAM
	      Stream to	play.

	      Use  best	or worst for selecting the highest or lowest available
	      quality.

	      Fallback streams can be specified	 by  using  a  comma-separated
	      list:

		 "720p,480p,best"

	      This  is an alternative to setting the stream using a positional
	      argument and can be useful if set	in a config file.

       --stream-url
	      If possible, translate the resolved stream to a  URL  and	 print
	      it.

       --retry-streams DELAY
	      Retry  fetching  the list	of available streams until streams are
	      found while waiting DELAY	second(s) between each attempt.	If un-
	      set, only	one attempt will be made to fetch the list of  streams
	      available.

	      The   number   of	 fetch	retry  attempts	 can  be  capped  with
	      --retry-max.

       --retry-max COUNT
	      When using --retry-streams, stop retrying	the fetch after	 COUNT
	      retry  attempt(s).  Fetch	will retry infinitely if COUNT is zero
	      or unset.

	      If --retry-max is	set without setting --retry-streams, the delay
	      between retries will default to 1	second.

       --retry-open ATTEMPTS
	      After a successful fetch,	 try  ATTEMPTS	time(s)	 to  open  the
	      stream until giving up.

	      Default is: 1.

       --stream-types TYPES

       --stream-priority TYPES
	      A	comma-delimited	list of	stream types to	allow.

	      The order	will be	used to	separate streams when there are	multi-
	      ple  streams  with the same name but different stream types. Any
	      stream type not  listed  will  be	 omitted  from	the  available
	      streams  list.   An  *  (asterisk)  can be used as a wildcard to
	      match any	other type of stream, eg. muxed-stream.

	      Default is: "hls,http,*".

       --stream-sorting-excludes STREAMS
	      Fine tune	the best and worst stream name synonyms	 by  excluding
	      unwanted streams.

	      If  all  of  the	available streams get excluded,	best and worst
	      will  become  inaccessible  and  new  special  stream   synonyms
	      best-unfiltered  and  worst-unfiltered can be used as a fallback
	      selection	method.

	      Uses a filter expression in the format:

		 [operator]<value>

	      Valid operators are >, >=, < and <=. If no operator is specified
	      then equality is tested.

	      For example this will exclude streams ranked higher than "480p":

		 --stream-sorting-excludes ">480p"

	      Multiple filters can be used by separating each expression  with
	      a	comma.

	      For example this will exclude streams from two quality types:

		 --stream-sorting-excludes ">480p,>medium"

   Stream transport options
       --ringbuffer-size SIZE
	      The  maximum  size  of the ringbuffer. Mega- or kilobytes	can be
	      specified	via the	M or K suffix respectively.

	      The ringbuffer is	used as	a temporary storage between the	stream
	      and the player.  This allows Streamlink to download  the	stream
	      faster than the player which reads the data from the ringbuffer.

	      The smaller the size of the ringbuffer, the higher the chance of
	      the  player  buffering  if the download speed decreases, and the
	      higher the size, the more	data can be use	as a  storage  to  re-
	      cover from volatile download speeds.

	      Most  players  have their	own additional cache and will read the
	      ringbuffer's content as soon  as	data  is  available.   If  the
	      player  stops  reading data while	playback is paused, Streamlink
	      will continue to download	the stream in the background  as  long
	      as the ringbuffer	doesn't	get full.

	      Default is: "16M".

	      NOTE:
		 A  smaller  size is recommended on lower end systems (such as
		 Raspberry Pi) when playing stream types that require some ex-
		 tra processing	to avoid unnecessary background	processing.

       --stream-segment-attempts ATTEMPTS
	      How many attempts	should be done to download each	segment	before
	      giving up.

	      This applies to all different kinds of segmented	stream	types,
	      such as DASH, HLS, etc.

	      Default is: 3.

       --stream-segment-threads	THREADS
	      The  size	 of the	thread pool used to download segments. Minimum
	      value is 1 and maximum is	10.

	      This applies to all different kinds of segmented	stream	types,
	      such as DASH, HLS, etc.

	      Default is: 1.

       --stream-segment-timeout	TIMEOUT
	      Segment connect and read timeout.

	      This  applies  to	all different kinds of segmented stream	types,
	      such as DASH, HLS, etc.

	      Default is: 10.0.

       --stream-timeout	TIMEOUT
	      Timeout for reading data from streams.

	      This applies to all different kinds of  stream  types,  such  as
	      DASH, HLS, HTTP, etc.

	      Default is: 60.0.

       --mux-subtitles
	      Automatically mux	available subtitles into the output stream.

	      Needs to be supported by the used	plugin.

   HLS options
       --hls-live-edge SEGMENTS
	      Number  of segments from the live	stream's current live position
	      to begin streaming.  The size or length of each segment  is  de-
	      termined by the streaming	provider.

	      Lower  values  will decrease the latency,	but will also increase
	      the chance of buffering, as there	is less	time for Streamlink to
	      download segments	and write their	data to	the output buffer. The
	      number  of  parallel  segment  downloads	 can   be   set	  with
	      --stream-segment-threads	and  the  HLS  playlist	reload time to
	      fetch  and  queue	 new   segments	  can	be   overridden	  with
	      --hls-playlist-reload-time.

	      Default is: 3.

	      NOTE:
		 During	 live  playback, the caching/buffering settings	of the
		 used player will add  additional  latency.  To	 adjust	 this,
		 please	 refer	to  the	player's own documentation for the re-
		 quired	 configuration.	 Player	 parameters  can  be  set  via
		 --player-args.

       --hls-segment-stream-data
	      Immediately  write  segment  data	into output buffer while down-
	      loading.

       --hls-playlist-reload-attempts ATTEMPTS
	      Max number of attempts when reloading the	 HLS  playlist	before
	      giving up.

	      Default is: 3.

       --hls-playlist-reload-time TIME
	      Set  a  custom HLS playlist reload time value, either in seconds
	      or by using one of the following keywords:

	      	segment: The duration of  the  last  segment  in  the  current
		playlist

	      	live-edge: The sum of segment durations	of the live edge value
		minus one

	      	default: The playlist's	target duration	metadata

	      Default is: default.

       --hls-segment-queue-threshold FACTOR
	      The  multiplication factor of the	HLS playlist's target duration
	      after which the stream will be stopped early if no new  segments
	      were  queued after refreshing the	playlist (multiple times). The
	      target duration defines the maximum duration  a  single  segment
	      can  have,  meaning  new	segments must be available during this
	      time frame, otherwise playback issues can	occur.

	      The intention of this queue threshold is	to  be	able  to  stop
	      early  when  the	end  of	 a stream doesn't get announced	by the
	      server, so Streamlink doesn't have to wait until a  read-timeout
	      occurs. See --stream-timeout.

	      Set to 0 to disable.

	      Default is: 3.

       --hls-segment-ignore-names NAMES
	      A	 comma-delimited  list of segment names	that will get filtered
	      out.

	      Example: --hls-segment-ignore-names 000,001,002

	      This will	ignore every segment that ends with 000.ts, 001.ts and
	      002.ts

	      Default is: None.

       --hls-segment-key-uri URI
	      Override the segment encryption key URIs for encrypted streams.

	      The value	can be templated using the following variables,	 which
	      will be replaced with their respective part from the source seg-
	      ment URI:

		 {url} {scheme}	{netloc} {path}	{query}

	      Examples:

		 --hls-segment-key-uri "https://example.com/hls/encryption_key"
		 --hls-segment-key-uri "{scheme}://1.2.3.4{path}{query}"
		 --hls-segment-key-uri "{scheme}://{netloc}/custom/path/to/key"

	      Default is: None.

       --hls-audio-select CODE
	      Selects  a specific audio	source or sources, by language code or
	      name, when multiple audio	sources	are available. Can be  *  (as-
	      terisk) to download all audio sources.

	      Examples:

		 --hls-audio-select "English,German"
		 --hls-audio-select "en,de"
		 --hls-audio-select "*"

	      NOTE:
		 This  is only useful in special circumstances where the regu-
		 lar locale option fails, such as when multiple	sources	of the
		 same language exists.

       --hls-start-offset [[XX:]XX:]XX[.XX] | [XXh][XXm][XX[.XX]s]
	      Amount of	time to	skip from the beginning	 of  the  stream.  For
	      live  streams,  this  is	a  negative offset from	the end	of the
	      stream (rewind).

	      Default is: 0.

       --hls-duration [[XX:]XX:]XX[.XX]	| [XXh][XXm][XX[.XX]s]
	      Limit the	playback duration, useful for watching segments	 of  a
	      stream.	The  actual  duration may be slightly longer, as it is
	      rounded to the nearest HLS segment.

	      Default is: unlimited.

       --hls-live-restart
	      Skip to the beginning of a live stream, or as far	back as	possi-
	      ble.

   DASH	options
       --dash-manifest-reload-attempts ATTEMPTS
	      Max number of attempts when reloading the	DASH  manifest	before
	      giving up.

	      Default is: 3.

   FFmpeg options
       --ffmpeg-ffmpeg FILENAME
	      FFMPEG  is  used	to  access  or	mux  separate  video and audio
	      streams. You can specify the location of the  ffmpeg  executable
	      if it is not in your PATH.

	      Example: --ffmpeg-ffmpeg "/usr/local/bin/ffmpeg"

       --ffmpeg-no-validation
	      Disable FFmpeg validation	and version logging.

       --ffmpeg-verbose
	      Write the	console	output from ffmpeg to the console.

       --ffmpeg-verbose-path PATH
	      Path to write the	output from the	ffmpeg console.

       --ffmpeg-fout OUTFORMAT
	      When muxing streams, set the output format to OUTFORMAT.

	      Default is: "matroska".

	      Example: --ffmpeg-fout "mpegts"

       --ffmpeg-video-transcode	CODEC
	      When muxing streams, transcode the video to CODEC.

	      Default is: "copy".

	      Example: --ffmpeg-video-transcode	"h264"

       --ffmpeg-audio-transcode	CODEC
	      When muxing streams, transcode the audio to CODEC.

	      Default is: "copy".

	      Example: --ffmpeg-audio-transcode	"aac"

       --ffmpeg-copyts
	      Forces the -copyts ffmpeg	option and does	not remove the initial
	      start time offset	value.

       --ffmpeg-start-at-zero
	      Enable	the    -start_at_zero	ffmpeg	 option	  when	 using
	      --ffmpeg-copyts.

   HTTP	options
       --http-proxy HTTP_PROXY
	      A	HTTP proxy to use for all HTTP and HTTPS  requests,  including
	      WebSocket	connections.

	      Example: --http-proxy "http://hostname:port/"

       --http-cookie KEY=VALUE
	      A	cookie to add to each HTTP request.

	      Can be repeated to add multiple cookies.

       --http-header KEY=VALUE
	      A	header to add to each HTTP request.

	      Can be repeated to add multiple headers.

       --http-query-param KEY=VALUE
	      A	query parameter	to add to each HTTP request.

	      Can be repeated to add multiple query parameters.

       --http-ignore-env
	      Ignore  HTTP settings set	in the environment such	as environment
	      variables	(HTTP_PROXY, etc) or ~/.netrc authentication.

       --http-no-ssl-verify
	      Don't attempt to verify SSL certificates.

	      Usually a	bad idea, only use this	if you know what you're	doing.

       --http-disable-dh
	      Disable Diffie Hellman key exchange

	      Usually a	bad idea, only use this	if you know what you're	doing.

       --http-ssl-cert FILENAME
	      SSL certificate to use.

	      Expects a	.pem file.

       --http-ssl-cert-crt-key CRT_FILENAME KEY_FILENAME
	      SSL certificate to use.

	      Expects a	.crt and a .key	file.

       --http-timeout TIMEOUT
	      General timeout used by all HTTP requests	except the  ones  cov-
	      ered by other options.

	      Default is: 20.0.

   Web browser options
       --webbrowser {yes,true,1,on,no,false,0,off}
	      Enable or	disable	support	for Streamlink's webbrowser API.

	      Streamlink's webbrowser API allows plugins which implement it to
	      launch  a	 web browser and extract data from websites which they
	      otherwise	couldn't do via	the regular HTTP session in Python due
	      to specific JavaScript restrictions.

	      The web browser is run isolated and in a clean environment with-
	      out access to regular user data.

	      Streamlink currently only	supports Chromium-based	 web  browsers
	      using   the  Chrome  Devtools  Protocol  (CDP).	This  includes
	      Chromium itself, Google Chrome, Microsoft	Edge, Brave,  Vivaldi,
	      and  others,  but	full support for third party Chromium forks is
	      not guaranteed. If you encounter any issues, please try Chromium
	      or Google	Chrome instead.

	      Default is: true.

       --webbrowser-executable PATH
	      Path to the web browser's	executable.

	      By default, it is	looked up automatically	according to the rules
	      of the used webbrowser API  implementation.   This  usually  in-
	      volves  a	 list  of known	executable names and fallback paths on
	      all supported operating systems.

       --webbrowser-timeout TIME
	      The maximum amount of time which the web	browser	 can  take  to
	      launch and execute.

       --webbrowser-cdp-host HOST
	      Host for the web browser's inter-process communication interface
	      (CDP specific).

	      Default is: 127.0.0.1.

       --webbrowser-cdp-port PORT
	      Port for the web browser's inter-process communication interface
	      (CDP specific).

	      Tries to find a free port	by default.

       --webbrowser-cdp-timeout	TIME
	      The  maximum  amount of time for waiting on a single CDP command
	      response.

       --webbrowser-headless {yes,true,1,on,no,false,0,off}
	      Whether to launch	the web	browser	in headless mode or not.  When
	      enabled, it stays	completely hidden and doesn't require a	 desk-
	      top environment to run.

	      Default is: true.

   Plugin options
   Afreeca
       --afreeca-username USERNAME
	      The username used	to register with afreecatv.com.

       --afreeca-password PASSWORD
	      A	afreecatv.com account password to use with --afreeca-username.

       --afreeca-purge-credentials
	      Purge cached AfreecaTV credentials to initiate a new session and
	      reauthenticate.

   Bbciplayer
       --bbciplayer-username USERNAME
	      The username used	to register with bbc.co.uk.

       --bbciplayer-password PASSWORD
	      A	bbc.co.uk account password to use with --bbciplayer-username.

       --bbciplayer-hd
	      Prefer  HD  streams  over	local SD streams, some live programmes
	      may not be broadcast in HD.

   Clubbingtv
       --clubbingtv-username
	      The username used	to register with Clubbing TV.

       --clubbingtv-password
	      A	   Clubbing    TV    account	password    to	  use	  with
	      --clubbingtv-username.

   Crunchyroll
       --crunchyroll-username USERNAME
	      A	Crunchyroll username to	allow access to	restricted streams.

       --crunchyroll-password [PASSWORD]
	      A	Crunchyroll password for use with --crunchyroll-username.

	      If left blank you	will be	prompted.

       --crunchyroll-purge-credentials
	      Purge  cached  Crunchyroll credentials to	initiate a new session
	      and reauthenticate.

       --crunchyroll-session-id	SESSION_ID
	      Set a specific session ID	for crunchyroll, can be	used to	bypass
	      region restrictions. If using an authenticated session ID, it is
	      recommended that the authentication parameters be	omitted	as the
	      session ID is account specific.

	      NOTE:
		 The session ID	will be	overwritten if authentication is  used
		 and the session ID does not match the account.

   Nicolive
       --niconico-email	EMAIL
	      The email	or phone number	associated with	your Niconico account

       --niconico-password PASSWORD
	      The password of your Niconico account

       --niconico-user-session VALUE
	      Value of the user-session	token.

	      Can be used as an	alternative to providing a password.

       --niconico-purge-credentials
	      Purge  cached Niconico credentials to initiate a new session and
	      reauthenticate.

       --niconico-timeshift-offset [[XX:]XX:]XX	| [XXh][XXm][XXs]
	      Amount of	time to	skip from the beginning	of a stream.

	      Default is: 0.

   Openrectv
       --openrectv-email EMAIL
	      The email	associated with	your openrectv	account,  required  to
	      access any openrectv stream.

       --openrectv-password PASSWORD
	      An openrectv account password to use with	--openrectv-email.

   Pixiv
       --pixiv-sessionid SESSIONID
	      The pixiv.net sessionid that's used in pixiv's PHPSESSID cookie.

       --pixiv-devicetoken DEVICETOKEN
	      The  pixiv.net  device token that's used in pixiv's device_token
	      cookie.

       --pixiv-purge-credentials
	      Purge cached Pixiv credentials to	initiate  a  new  session  and
	      reauthenticate.

       --pixiv-performer USER
	      Select a co-host stream instead of the owner stream.

   Raiplay
       --raiplay-email EMAIL
	      The email	used to	register with raiplay.it.

       --raiplay-password PASSWORD
	      A	raiplay.it account password to use with	--raiplay-email.

       --raiplay-purge-credentials
	      Purge  cached  RaiPlay credentials to initiate a new session and
	      reauthenticate.

   Sbscokr
   Steam
       --steam-email EMAIL
	      A	Steam account email address to access friends/private streams

       --steam-password	PASSWORD
	      A	Steam account password to use with --steam-email.

   Streann
       --streann-url URL
	      Source URL where the iframe is located, only required for	direct
	      URLs of ott.streann.com

   Twitcasting
       --twitcasting-password PASSWORD
	      Password for private Twitcasting streams.

   Twitch
       --twitch-disable-ads
	      Skip embedded advertisement segments at the beginning or	during
	      a	stream.	 Will cause these segments to be missing from the out-
	      put.

       --twitch-low-latency
	      Enables low latency streaming by prefetching HLS segments.  Sets
	      --hls-segment-stream-data	 to  true and --hls-live-edge to 2, if
	      it is higher.  Reducing --hls-live-edge to 1 will	result in  the
	      lowest latency possible, but will	most likely cause buffering.

	      In  order	to achieve true	low latency streaming during playback,
	      the player's caching/buffering settings will need	to be adjusted
	      and reduced to a value as	low as possible, but still high	enough
	      to not cause any buffering.  This	depends	on  the	 stream's  bi-
	      trate  and  the  quality	of the connection to Twitch's servers.
	      Please refer to the player's own documentation for the  required
	      configuration. Player parameters can be set via --player-args.

	      NOTE:
		 Low latency streams have to be	enabled	by the broadcasters on
		 Twitch	 themselves.   Regular streams can cause buffering is-
		 sues  with  this  option   enabled   due   to	 the   reduced
		 --hls-live-edge value.

       --twitch-api-header KEY=VALUE
	      A	header to add to each Twitch API HTTP request.

	      Can be repeated to add multiple headers.

	      Useful  for adding authentication	data that can prevent ads. See
	      the plugin-specific documentation	for more information.

       --twitch-access-token-param KEY=VALUE
	      A	parameter to add to the	API request for	acquiring the  stream-
	      ing access token.

	      Can be repeated to add multiple parameters.

       --twitch-purge-client-integrity
	      Purge  cached  Twitch  client-integrity  token and acquire a new
	      one.

   Ustreamtv
       --ustream-password PASSWORD
	      A	password to access password protected UStream.tv channels.

   Ustvnow
       --ustvnow-username USERNAME
	      Your USTV	Now account username

       --ustvnow-password PASSWORD
	      Your USTV	Now account password

   Wwenetwork
       --wwenetwork-email EMAIL
	      The email	associated with	your WWE Network account, required  to
	      access any WWE Network stream.

       --wwenetwork-password PASSWORD
	      A	WWE Network account password to	use with --wwenetwork-email.

   Yupptv
       --yupptv-boxid BOXID
	      The yupptv.com boxid that's used in the BoxId cookie.

       --yupptv-yuppflixtoken YUPPFLIXTOKEN
	      The  yupptv.com  yuppflixtoken  that's used in the YuppflixToken
	      cookie.

       --yupptv-purge-credentials
	      Purge cached YuppTV credentials to initiate a  new  session  and
	      reauthenticate.

   Zattoo
       --zattoo-email EMAIL
	      The  email  associated with your zattoo account, required	to ac-
	      cess any zattoo stream.

       --zattoo-password PASSWORD
	      A	zattoo account password	to use with --zattoo-email.

       --zattoo-purge-credentials
	      Purge cached zattoo credentials to initiate a  new  session  and
	      reauthenticate.

       --zattoo-stream-types TYPES
	      A	comma-delimited	list of	stream types which should be used.

	      The following types are allowed: dash,hls7

	      Default is: "dash".

BUGS
       Please open a new issue on Streamlink's issue tracker on	GitHub and use
       the appropriate issue forms:

       https://github.com/streamlink/streamlink/issues

SEE ALSO
       For  more  detailed information about config files, plugin sideloading,
       streaming protocols, proxy support, metadata, or	plugin specific	stuff,
       please see Streamlink's online CLI documentation	here:

       https://streamlink.github.io/cli.html

       The list	of available plugins and their descriptions can	be found here:

       https://streamlink.github.io/plugins.html

AUTHOR
       Streamlink Contributors

COPYRIGHT
       2024, Streamlink

6.5.1				 Jan 16, 2024			 STREAMLINK(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=streamlink&sektion=1&manpath=FreeBSD+14.3-RELEASE+and+Ports>

home | help