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://), de-
	    pending on the implementation of the plugin being used.

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

     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 look-
	    ing up the URL.

     --config FILENAME
	    Load options from this config file.

	    Can be repeated to load multiple files, in which  case  the  options
	    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  Stream-
	    link.

	    Default is: "no".

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

     --locale LOCALE
	    The  preferred  locale setting, for selecting the preferred subtitle
	    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 out-
	    put method was chosen).

	    Either set an absolute or relative path to the player executable, 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 ar-
	    guments can be set via --player-args.

	    NOTE:
	       In  the	past,  --player allowed defining additional player argu-
	       ments, which as a consequence required wrapping player paths that
	       contained spaces in quotation marks. This  is  unsupported  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 doubling,
	    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 sup-
		   ported player was found. See --title for more.  If unset, au-
		   tomatically	 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  environment
	    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 usually 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 streaming boxes
	    to watch streams they wouldn't be able to otherwise.

	    The  default behavior is similar to the --player-continuous-http op-
	    tion, 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-con-
	    tinuous.

	    In	the  continuous run-mode, Streamlink will keep running after the
	    stream has ended and will wait for the next HTTP request being  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 en-
	    abled. 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 doc-
	    umentation	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, pot-
	    player, 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  ti-
		   tle,  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 stdout,
	    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 doc-
	    umentation	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 argument, 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 doc-
	    umentation 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 doc-
	    umentation	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 cho-
	    sen automatically according to the type of system in use. This over-
	    rides 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 using VFAT
	    or exFAT; CIFS shares that are enforcing  Windows  filename  limita-
	    tions, 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 al-
	    ready 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://), de-
	    pending on the implementation of the plugin being used.

	    This  is  an alternative to setting the URL using a positional argu-
	    ment 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 ar-
	    gument 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  unset,  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 be-
	    tween 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	multiple
	    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 un-
	    wanted 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 speci-
	    fied 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 recover from volatile
	    download speeds.

	    Most players have their own additional cache and will read the ring-
	    buffer'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 Rasp-
	       berry Pi) when playing stream types that require some extra  pro-
	       cessing 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 determined
	    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 down-
	    load 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 required configuration.
	       Player parameters can be set via --player-args.

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

     --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 mi-
	      nus 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  af-
	    ter  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,  oth-
	    erwise 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 segment 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 * (asterisk)
	    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  regular
	       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 possible.

   DASH options
     --dash-manifest-reload-attempts ATTEMPTS
	    Max number of attempts when reloading the DASH manifest before  giv-
	    ing 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  Web-
	    Socket 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 covered 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 oth-
	    erwise 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 without
	    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 en-
	    counter 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 involves 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  re-
	    sponse.

     --webbrowser-headless {yes,true,1,on,no,false,0,off}
	    Whether to launch the web browser in headless mode or not.	When en-
	    abled,  it stays completely hidden and doesn't require a desktop en-
	    vironment 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 re-
	    gion  restrictions. If using an authenticated session ID, it is rec-
	    ommended that the authentication parameters be omitted as  the  ses-
	    sion 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  reau-
	    thenticate.

     --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 reau-
	    thenticate.

   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 output.

     --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 la-
	    tency 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 re-
	    duced  to  a  value as low as possible, but still high enough to not
	    cause any buffering.  This depends on the stream's bitrate	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  issues
	       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 streaming
	    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  ac-
	    cess 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  reau-
	    thenticate.

   Zattoo
     --zattoo-email EMAIL
	    The  email	associated  with your zattoo account, required to access
	    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  reau-
	    thenticate.

     --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+15.1-RELEASE+and+Ports>

home | help