1STREAMLINK(1)                     Streamlink                     STREAMLINK(1)
2
3
4

NAME

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

SYNOPSIS

10          streamlink [OPTIONS] <URL> [STREAM]
11

EXAMPLES

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

OPTIONS

23   Positional arguments
24       URL    A URL to attempt to extract streams from.
25
26              Usually, the protocol of http(s) URLs can be omitted (https://),
27              depending on the implementation of the plugin being used.
28
29              Alternatively,  the URL can also be specified by using the --url
30              option.
31
32       STREAM Stream to play.
33
34              Use best or worst for selecting the highest or lowest  available
35              quality.
36
37              Fallback  streams  can  be  specified by using a comma-separated
38              list:
39
40                 "720p,480p,best"
41
42              If no stream is specified and --default-stream is not used, then
43              a list of available streams will be printed.
44
45   General options
46       -h
47
48       --help Show this help message and exit.
49
50       -V
51
52       --version
53              Show version number and exit.
54
55       --plugins
56              Print a list of all currently installed plugins.
57
58       --plugin-dirs DIRECTORY
59              Attempts to load plugins from these directories.
60
61              Multiple  directories  can  be  used  by  separating them with a
62              comma.
63
64       --can-handle-url URL
65              Check if Streamlink has a plugin that can handle  the  specified
66              URL.
67
68              Returns status code 1 for false and 0 for true.
69
70              Useful for external scripting.
71
72       --can-handle-url-no-redirect URL
73              Same  as  --can-handle-url  but without following redirects when
74              looking up the URL.
75
76       --config FILENAME
77              Load options from this config file.
78
79              Can be repeated to load multiple files, in which  case  the  op‐
80              tions  are merged on top of each other where the last config has
81              highest priority.
82
83       --no-config
84              Disable loading any default or custom config files.
85
86       -l LEVEL
87
88       --loglevel LEVEL
89              Set the log message threshold.
90
91              Valid levels are, in order of increasing verbosity:
92
93              none, critical, error, warning, info, debug, trace, all
94
95              Default is: "info".
96
97       --logfile FILE
98              Append log output to FILE instead of writing to stdout/stderr.
99
100              User prompts and download progress won't be written to FILE.
101
102              A value of - (dash) will set the file name  to  an  ISO8601-like
103              string and will choose the following default log directories.
104
105              Windows:
106
107                 %TEMP%\streamlink\logs
108
109              macOS:
110
111                 ${HOME}/Library/Logs/streamlink
112
113              Linux/BSD:
114
115                 ${XDG_STATE_HOME:-${HOME}/.local/state}/streamlink/logs
116
117       -Q
118
119       --quiet
120              Hide all log output.
121
122              Alias for --loglevel none.
123
124       -j
125
126       --json Output JSON representations instead of the normal text output.
127
128              Useful for external scripting.
129
130       --auto-version-check {yes,true,1,on,no,false,0,off}
131              Enable  or  disable  the  automatic  check  for a new version of
132              Streamlink.
133
134              Default is: "no".
135
136       --version-check
137              Runs a version check and exits.
138
139       --locale LOCALE
140              The preferred locale setting, for selecting the preferred subti‐
141              tle and audio language.
142
143              The  locale  is formatted as [language_code]_[country_code], eg.
144              en_US or es_ES.
145
146              Default is: system locale.
147
148       --interface INTERFACE
149              Set the network interface.
150
151       -4
152
153       --ipv4 Resolve address  names  to  IPv4  only.  This  option  overrides
154              --ipv6.
155
156       -6
157
158       --ipv6 Resolve  address  names  to  IPv6  only.  This  option overrides
159              --ipv4.
160
161   Player options
162       -p PATH
163
164       --player PATH
165              The player executable that will be launched (unless a  different
166              output method was chosen).
167
168              Either  set  an  absolute  or  relative  path to the player exe‐
169              cutable, or just set the executable's name if it can be resolved
170              from the paths of the system's PATH environment variable.
171
172              In addition to setting the player executable path, custom player
173              arguments can be set via --player-args.
174
175              NOTE:
176                 In the past, --player allowed defining additional player  ar‐
177                 guments,  which  as  a  consequence  required wrapping player
178                 paths that contained spaces in quotation marks. This  is  un‐
179                 supported since release 6.0.0.
180
181              Default is: VLC player, if available.
182
183       -a ARGUMENTS
184
185       --player-args ARGUMENTS
186              This  option  allows  the arguments which are used to launch the
187              player process to be customized.
188
189              The value can contain formatting variables surrounded  by  curly
190              braces,  { and }.  Curly brace characters can be escaped by dou‐
191              bling, e.g. {{ and }}.
192
193              Available formatting variables:
194
195              {playerinput}
196                     This is the input argument that the player will  receive.
197                     For  standard  input  (stdin), it is - (dash), but it can
198                     also be a file path or  URL,  depending  on  the  options
199                     used.   If  unset, then the player input argument will be
200                     appended to the parsed player arguments list.
201
202              {playertitleargs}
203                     The automatically generated player title arguments, if  a
204                     supported player was found. See --title for more.  If un‐
205                     set, automatically generated player title arguments  will
206                     be prepended to the parsed player arguments list.
207
208              Example:
209
210                 streamlink -p vlc -a "--play-and-exit --no-one-instance" <url> [stream]
211
212              Default is: "".
213
214       --player-env KEY=VALUE
215              Add  an  additional  environment  variable to the spawned player
216              process, in addition to the  ones  inherited  from  the  Stream‐
217              link/Python  parent process. This allows setting player environ‐
218              ment variables in config files.
219
220              Can be repeated to add multiple environment variables.
221
222       -v
223
224       --verbose-player
225              Allow the player to display its console output.
226
227       -n
228
229       --player-fifo
230
231       --fifo Make the player read the stream through a named pipe instead  of
232              the stdin pipe.
233
234       --player-http
235              Make  the  player  read  the  stream through HTTP instead of the
236              stdin pipe.
237
238       --player-continuous-http
239              Make the  player  read  the  stream  through  HTTP,  but  unlike
240              --player-http it will continuously try to open the stream if the
241              player requests it.
242
243              This makes it possible to  handle  stream  disconnects  if  your
244              player is capable of reconnecting to a HTTP stream. This is usu‐
245              ally done by setting your player to a "repeat mode".
246
247       --player-external-http
248              Serve stream data through HTTP without running any player.  This
249              is  useful to allow external devices like smartphones or stream‐
250              ing boxes to watch streams they wouldn't be able to otherwise.
251
252              The default behavior is similar to the  --player-continuous-http
253              option,  but  no  player program will be started, and the server
254              will listen on all available connections instead of just in  the
255              local (loopback) interface.
256
257              See  --player-external-http-interface  for  choosing  a specific
258              network  interface,  and  see  --player-external-http-port   for
259              choosing a non-randomized port.
260
261              Optionally,  the --player-external-http-continuous option allows
262              for disabling the continuous run-mode, so that  Streamlink  will
263              stop when the stream ends.
264
265              The  URLs  that can be used to access the stream will be printed
266              to the console, and the server can be interrupted using CTRL-C.
267
268       --player-external-http-continuous {yes,true,1,on,no,false,0,off}
269              Set the run-mode  of  --player-external-http  to  continuous  or
270              non-continuous.
271
272              In  the  continuous run-mode, Streamlink will keep running after
273              the stream has ended and will wait for the next HTTP request be‐
274              ing made unless it gets shut down via CTRL-C.
275
276              If  set  to non-continuous, Streamlink will stop once the stream
277              has ended.
278
279              Default is: true.
280
281       --player-external-http-interface INTERFACE
282              The network interface on which the HTTP server will be listening
283              on.   If  unset or set to 0.0.0.0, all available interfaces will
284              be bound.
285
286       --player-external-http-port PORT
287              A fixed port to use for the external HTTP server if that mode is
288              enabled. Omit or set to 0 to use a random high ( >1024) port.
289
290       --player-passthrough TYPES
291              A  comma-delimited list of stream types to pass to the player as
292              a URL to let it handle the transport of the stream instead.
293
294              Stream types that can be converted into a playable URL are:
295
296              • hls
297
298              • http
299
300              Make sure your player can handle  the  stream  type  when  using
301              this.
302
303       --player-no-close
304              By  default  Streamlink  will  close  the player when the stream
305              ends. This is to avoid "dead"  GUI  players  lingering  after  a
306              stream ends.
307
308              It  does  however  have  the  side-effect of sometimes closing a
309              player before it has played back all of its cached data.
310
311              This option will instead let the player decide when to exit.
312
313       -t TITLE
314
315       --title TITLE
316              Change the title of the video player's window.
317
318              Please see the "Metadata variables" section of Streamlink's  CLI
319              documentation  for  all available metadata variables, as well as
320              the "Plugins" section for the list of metadata variables defined
321              in each plugin.
322
323              This  option  is  only supported for the following players: mpv,
324              potplayer, vlc
325
326              VLC specific information:
327                     VLC does support special formatting variables on its own:
328                     https://wiki.videolan.org/Documentation:Format_String/
329
330                     These  variables  are accessible in the --title option by
331                     adding a backslash in front of the dollar sign which  VLC
332                     uses as its formatting character.
333
334                     For  example,  to put the current date in your VLC window
335                     title, the  string  \$A  could  be  inserted  inside  the
336                     --title string.
337
338              Example:
339
340                 streamlink -p mpv --title "{author} - {category} - {title}" <URL> [STREAM]
341
342   File output options
343       -o FILENAME
344
345       --output FILENAME
346              Write stream data to FILENAME instead of playing it. If FILENAME
347              is set to - (dash), then the stream data will be written to std‐
348              out, similar to the --stdout argument.
349
350              Non-existent  directories  and subdirectories will be created if
351              they do not exist, if filesystem permissions allow.
352
353              You will be prompted if the file already exists.
354
355              Please see the "Metadata variables" section of Streamlink's  CLI
356              documentation  for  all available metadata variables, as well as
357              the "Plugins" section for the list of metadata variables defined
358              in each plugin.
359
360              Unsupported characters in substituted variables will be replaced
361              with an underscore.
362
363              Example:
364
365                 streamlink --output "~/recordings/{author}/{category}/{id}-{time:%Y%m%d%H%M%S}.ts" <URL> [STREAM]
366
367       -O
368
369       --stdout
370              Write stream data to stdout instead of playing it.
371
372       -r FILENAME
373
374       --record FILENAME
375              Open the stream in the player, while at the same time writing it
376              to  FILENAME.  If  FILENAME  is set to - (dash), then the stream
377              data will be written to stdout, similar to  the  --stdout  argu‐
378              ment, while still opening the player.
379
380              Non-existent  directories  and subdirectories will be created if
381              they do not exist, if filesystem permissions allow.
382
383              You will be prompted if the file already exists.
384
385              Please see the "Metadata variables" section of Streamlink's  CLI
386              documentation  for  all available metadata variables, as well as
387              the "Plugins" section for the list of metadata variables defined
388              in each plugin.
389
390              Unsupported characters in substituted variables will be replaced
391              with an underscore.
392
393              Example:
394
395                 streamlink --record "~/recordings/{author}/{category}/{id}-{time:%Y%m%d%H%M%S}.ts" <URL> [STREAM]
396
397       -R FILENAME
398
399       --record-and-pipe FILENAME
400              Write stream data to stdout, while at the same time  writing  it
401              to FILENAME.
402
403              Non-existent  directories  and subdirectories will be created if
404              they do not exist, if filesystem permissions allow.
405
406              You will be prompted if the file already exists.
407
408              Please see the "Metadata variables" section of Streamlink's  CLI
409              documentation  for  all available metadata variables, as well as
410              the "Plugins" section for the list of metadata variables defined
411              in each plugin.
412
413              Unsupported characters in substituted variables will be replaced
414              with an underscore.
415
416              Example:
417
418                 streamlink --record-and-pipe "~/recordings/{author}/{category}/{id}-{time:%Y%m%d%H%M%S}.ts" <URL> [STREAM]
419
420       --fs-safe-rules
421              The rules used to make formatting variables filesystem-safe  are
422              chosen  automatically  according  to  the type of system in use.
423              This overrides the automatic detection.
424
425              Intended for use when Streamlink is running on  a  UNIX-like  OS
426              but writing to Windows filesystems such as NTFS; USB devices us‐
427              ing VFAT or exFAT; CIFS shares that are enforcing Windows  file‐
428              name limitations, etc.
429
430              These  characters  are replaced with an underscore for the rules
431              in use:
432
433              • POSIX: \x00-\x1F /
434
435              • Windows: \x00-\x1F \x7F " * / : < > ? \ |
436
437       -f
438
439       --force
440              When using --output or --record, always write to file even if it
441              already exists (overwrite).
442
443       --progress {yes,force,no}
444              When  using  --output  or  --record,  show  or hide the download
445              progress bar, or force it if there's no terminal.
446
447              Default is: yes.
448
449       --force-progress
450              Deprecated in favor of --progress=force.
451
452   Stream options
453       --url URL
454              A URL to attempt to extract streams from.
455
456              Usually, the protocol of http(s) URLs can be omitted (https://),
457              depending on the implementation of the plugin being used.
458
459              This is an alternative to setting the URL using a positional ar‐
460              gument and can be useful if set in a config file.
461
462       --default-stream STREAM
463              Stream to play.
464
465              Use best or worst for selecting the highest or lowest  available
466              quality.
467
468              Fallback  streams  can  be  specified by using a comma-separated
469              list:
470
471                 "720p,480p,best"
472
473              This is an alternative to setting the stream using a  positional
474              argument and can be useful if set in a config file.
475
476       --stream-url
477              If  possible,  translate  the resolved stream to a URL and print
478              it.
479
480       --retry-streams DELAY
481              Retry fetching the list of available streams until  streams  are
482              found while waiting DELAY second(s) between each attempt. If un‐
483              set, only one attempt will be made to fetch the list of  streams
484              available.
485
486              The   number   of  fetch  retry  attempts  can  be  capped  with
487              --retry-max.
488
489       --retry-max COUNT
490              When using --retry-streams, stop retrying the fetch after  COUNT
491              retry  attempt(s).  Fetch will retry infinitely if COUNT is zero
492              or unset.
493
494              If --retry-max is set without setting --retry-streams, the delay
495              between retries will default to 1 second.
496
497       --retry-open ATTEMPTS
498              After  a  successful  fetch,  try  ATTEMPTS  time(s) to open the
499              stream until giving up.
500
501              Default is: 1.
502
503       --stream-types TYPES
504
505       --stream-priority TYPES
506              A comma-delimited list of stream types to allow.
507
508              The order will be used to separate streams when there are multi‐
509              ple  streams  with the same name but different stream types. Any
510              stream type not  listed  will  be  omitted  from  the  available
511              streams  list.   An  *  (asterisk)  can be used as a wildcard to
512              match any other type of stream, eg. muxed-stream.
513
514              Default is: "hls,http,*".
515
516       --stream-sorting-excludes STREAMS
517              Fine tune the best and worst stream name synonyms  by  excluding
518              unwanted streams.
519
520              If  all  of  the  available streams get excluded, best and worst
521              will  become  inaccessible  and  new  special  stream   synonyms
522              best-unfiltered  and  worst-unfiltered can be used as a fallback
523              selection method.
524
525              Uses a filter expression in the format:
526
527                 [operator]<value>
528
529              Valid operators are >, >=, < and <=. If no operator is specified
530              then equality is tested.
531
532              For example this will exclude streams ranked higher than "480p":
533
534                 --stream-sorting-excludes ">480p"
535
536              Multiple  filters can be used by separating each expression with
537              a comma.
538
539              For example this will exclude streams from two quality types:
540
541                 --stream-sorting-excludes ">480p,>medium"
542
543   Stream transport options
544       --ringbuffer-size SIZE
545              The maximum size of the ringbuffer. Mega- or  kilobytes  can  be
546              specified via the M or K suffix respectively.
547
548              The ringbuffer is used as a temporary storage between the stream
549              and the player.  This allows Streamlink to download  the  stream
550              faster than the player which reads the data from the ringbuffer.
551
552              The smaller the size of the ringbuffer, the higher the chance of
553              the player buffering if the download speed  decreases,  and  the
554              higher  the  size,  the more data can be use as a storage to re‐
555              cover from volatile download speeds.
556
557              Most players have their own additional cache and will  read  the
558              ringbuffer's  content  as  soon  as  data  is available.  If the
559              player stops reading data while playback is  paused,  Streamlink
560              will  continue  to download the stream in the background as long
561              as the ringbuffer doesn't get full.
562
563              Default is: "16M".
564
565              NOTE:
566                 A smaller size is recommended on lower end systems  (such  as
567                 Raspberry Pi) when playing stream types that require some ex‐
568                 tra processing to avoid unnecessary background processing.
569
570       --stream-segment-attempts ATTEMPTS
571              How many attempts should be done to download each segment before
572              giving up.
573
574              This  applies  to all different kinds of segmented stream types,
575              such as DASH, HLS, etc.
576
577              Default is: 3.
578
579       --stream-segment-threads THREADS
580              The size of the thread pool used to download  segments.  Minimum
581              value is 1 and maximum is 10.
582
583              This  applies  to all different kinds of segmented stream types,
584              such as DASH, HLS, etc.
585
586              Default is: 1.
587
588       --stream-segment-timeout TIMEOUT
589              Segment connect and read timeout.
590
591              This applies to all different kinds of segmented  stream  types,
592              such as DASH, HLS, etc.
593
594              Default is: 10.0.
595
596       --stream-timeout TIMEOUT
597              Timeout for reading data from streams.
598
599              This  applies  to  all  different kinds of stream types, such as
600              DASH, HLS, HTTP, etc.
601
602              Default is: 60.0.
603
604       --mux-subtitles
605              Automatically mux available subtitles into the output stream.
606
607              Needs to be supported by the used plugin.
608
609   HLS options
610       --hls-live-edge SEGMENTS
611              Number of segments from the live stream's current live  position
612              to  begin  streaming.  The size or length of each segment is de‐
613              termined by the streaming provider.
614
615              Lower values will decrease the latency, but will  also  increase
616              the chance of buffering, as there is less time for Streamlink to
617              download segments and write their data to the output buffer. The
618              number   of   parallel   segment   downloads  can  be  set  with
619              --stream-segment-threads and the HLS  playlist  reload  time  to
620              fetch   and   queue   new   segments   can  be  overridden  with
621              --hls-playlist-reload-time.
622
623              Default is: 3.
624
625              NOTE:
626                 During live playback, the caching/buffering settings  of  the
627                 used  player  will  add  additional  latency. To adjust this,
628                 please refer to the player's own documentation  for  the  re‐
629                 quired  configuration.  Player  parameters  can  be  set  via
630                 --player-args.
631
632       --hls-segment-stream-data
633              Immediately write segment data into output  buffer  while  down‐
634              loading.
635
636       --hls-playlist-reload-attempts ATTEMPTS
637              Max  number  of  attempts when reloading the HLS playlist before
638              giving up.
639
640              Default is: 3.
641
642       --hls-playlist-reload-time TIME
643              Set a custom HLS playlist reload time value, either  in  seconds
644              or by using one of the following keywords:
645
646              • segment:  The  duration  of  the  last  segment in the current
647                playlist
648
649              • live-edge: The sum of segment durations of the live edge value
650                minus one
651
652              • default: The playlist's target duration metadata
653
654              Default is: default.
655
656       --hls-segment-queue-threshold FACTOR
657              The  multiplication factor of the HLS playlist's target duration
658              after which the stream will be stopped early if no new  segments
659              were  queued after refreshing the playlist (multiple times). The
660              target duration defines the maximum duration  a  single  segment
661              can  have,  meaning  new  segments must be available during this
662              time frame, otherwise playback issues can occur.
663
664              The intention of this queue threshold is  to  be  able  to  stop
665              early  when  the  end  of  a stream doesn't get announced by the
666              server, so Streamlink doesn't have to wait until a  read-timeout
667              occurs. See --stream-timeout.
668
669              Set to 0 to disable.
670
671              Default is: 3.
672
673       --hls-segment-ignore-names NAMES
674              A  comma-delimited  list of segment names that will get filtered
675              out.
676
677              Example: --hls-segment-ignore-names 000,001,002
678
679              This will ignore every segment that ends with 000.ts, 001.ts and
680              002.ts
681
682              Default is: None.
683
684       --hls-segment-key-uri URI
685              Override the segment encryption key URIs for encrypted streams.
686
687              The  value can be templated using the following variables, which
688              will be replaced with their respective part from the source seg‐
689              ment URI:
690
691                 {url} {scheme} {netloc} {path} {query}
692
693              Examples:
694
695                 --hls-segment-key-uri "https://example.com/hls/encryption_key"
696                 --hls-segment-key-uri "{scheme}://1.2.3.4{path}{query}"
697                 --hls-segment-key-uri "{scheme}://{netloc}/custom/path/to/key"
698
699              Default is: None.
700
701       --hls-audio-select CODE
702              Selects  a specific audio source or sources, by language code or
703              name, when multiple audio sources are available. Can be  *  (as‐
704              terisk) to download all audio sources.
705
706              Examples:
707
708                 --hls-audio-select "English,German"
709                 --hls-audio-select "en,de"
710                 --hls-audio-select "*"
711
712              NOTE:
713                 This  is only useful in special circumstances where the regu‐
714                 lar locale option fails, such as when multiple sources of the
715                 same language exists.
716
717       --hls-start-offset [[XX:]XX:]XX[.XX] | [XXh][XXm][XX[.XX]s]
718              Amount  of  time  to  skip from the beginning of the stream. For
719              live streams, this is a negative offset  from  the  end  of  the
720              stream (rewind).
721
722              Default is: 0.
723
724       --hls-duration [[XX:]XX:]XX[.XX] | [XXh][XXm][XX[.XX]s]
725              Limit  the  playback duration, useful for watching segments of a
726              stream.  The actual duration may be slightly longer,  as  it  is
727              rounded to the nearest HLS segment.
728
729              Default is: unlimited.
730
731       --hls-live-restart
732              Skip to the beginning of a live stream, or as far back as possi‐
733              ble.
734
735   DASH options
736       --dash-manifest-reload-attempts ATTEMPTS
737              Max number of attempts when reloading the DASH  manifest  before
738              giving up.
739
740              Default is: 3.
741
742   FFmpeg options
743       --ffmpeg-ffmpeg FILENAME
744              FFMPEG  is  used  to  access  or  mux  separate  video and audio
745              streams. You can specify the location of the  ffmpeg  executable
746              if it is not in your PATH.
747
748              Example: --ffmpeg-ffmpeg "/usr/local/bin/ffmpeg"
749
750       --ffmpeg-no-validation
751              Disable FFmpeg validation and version logging.
752
753       --ffmpeg-verbose
754              Write the console output from ffmpeg to the console.
755
756       --ffmpeg-verbose-path PATH
757              Path to write the output from the ffmpeg console.
758
759       --ffmpeg-fout OUTFORMAT
760              When muxing streams, set the output format to OUTFORMAT.
761
762              Default is: "matroska".
763
764              Example: --ffmpeg-fout "mpegts"
765
766       --ffmpeg-video-transcode CODEC
767              When muxing streams, transcode the video to CODEC.
768
769              Default is: "copy".
770
771              Example: --ffmpeg-video-transcode "h264"
772
773       --ffmpeg-audio-transcode CODEC
774              When muxing streams, transcode the audio to CODEC.
775
776              Default is: "copy".
777
778              Example: --ffmpeg-audio-transcode "aac"
779
780       --ffmpeg-copyts
781              Forces the -copyts ffmpeg option and does not remove the initial
782              start time offset value.
783
784       --ffmpeg-start-at-zero
785              Enable   the   -start_at_zero   ffmpeg   option    when    using
786              --ffmpeg-copyts.
787
788   HTTP options
789       --http-proxy HTTP_PROXY
790              A  HTTP  proxy to use for all HTTP and HTTPS requests, including
791              WebSocket connections.
792
793              Example: --http-proxy "http://hostname:port/"
794
795       --http-cookie KEY=VALUE
796              A cookie to add to each HTTP request.
797
798              Can be repeated to add multiple cookies.
799
800       --http-header KEY=VALUE
801              A header to add to each HTTP request.
802
803              Can be repeated to add multiple headers.
804
805       --http-query-param KEY=VALUE
806              A query parameter to add to each HTTP request.
807
808              Can be repeated to add multiple query parameters.
809
810       --http-ignore-env
811              Ignore HTTP settings set in the environment such as  environment
812              variables (HTTP_PROXY, etc) or ~/.netrc authentication.
813
814       --http-no-ssl-verify
815              Don't attempt to verify SSL certificates.
816
817              Usually a bad idea, only use this if you know what you're doing.
818
819       --http-disable-dh
820              Disable Diffie Hellman key exchange
821
822              Usually a bad idea, only use this if you know what you're doing.
823
824       --http-ssl-cert FILENAME
825              SSL certificate to use.
826
827              Expects a .pem file.
828
829       --http-ssl-cert-crt-key CRT_FILENAME KEY_FILENAME
830              SSL certificate to use.
831
832              Expects a .crt and a .key file.
833
834       --http-timeout TIMEOUT
835              General  timeout  used by all HTTP requests except the ones cov‐
836              ered by other options.
837
838              Default is: 20.0.
839
840   Web browser options
841       --webbrowser {yes,true,1,on,no,false,0,off}
842              Enable or disable support for Streamlink's webbrowser API.
843
844              Streamlink's webbrowser API allows plugins which implement it to
845              launch  a  web browser and extract data from websites which they
846              otherwise couldn't do via the regular HTTP session in Python due
847              to specific JavaScript restrictions.
848
849              The web browser is run isolated and in a clean environment with‐
850              out access to regular user data.
851
852              Streamlink currently only supports Chromium-based  web  browsers
853              using   the  Chrome  Devtools  Protocol  (CDP).   This  includes
854              Chromium itself, Google Chrome, Microsoft Edge, Brave,  Vivaldi,
855              and  others,  but full support for third party Chromium forks is
856              not guaranteed. If you encounter any issues, please try Chromium
857              or Google Chrome instead.
858
859              Default is: true.
860
861       --webbrowser-executable PATH
862              Path to the web browser's executable.
863
864              By default, it is looked up automatically according to the rules
865              of the used webbrowser API  implementation.   This  usually  in‐
866              volves  a  list  of known executable names and fallback paths on
867              all supported operating systems.
868
869       --webbrowser-timeout TIME
870              The maximum amount of time which the web  browser  can  take  to
871              launch and execute.
872
873       --webbrowser-cdp-host HOST
874              Host for the web browser's inter-process communication interface
875              (CDP specific).
876
877              Default is: 127.0.0.1.
878
879       --webbrowser-cdp-port PORT
880              Port for the web browser's inter-process communication interface
881              (CDP specific).
882
883              Tries to find a free port by default.
884
885       --webbrowser-cdp-timeout TIME
886              The  maximum  amount of time for waiting on a single CDP command
887              response.
888
889       --webbrowser-headless {yes,true,1,on,no,false,0,off}
890              Whether to launch the web browser in headless mode or not.  When
891              enabled,  it stays completely hidden and doesn't require a desk‐
892              top environment to run.
893
894              Default is: true.
895
896   Plugin options
897   Afreeca
898       --afreeca-username USERNAME
899              The username used to register with afreecatv.com.
900
901       --afreeca-password PASSWORD
902              A afreecatv.com account password to use with --afreeca-username.
903
904       --afreeca-purge-credentials
905              Purge cached AfreecaTV credentials to initiate a new session and
906              reauthenticate.
907
908   Bbciplayer
909       --bbciplayer-username USERNAME
910              The username used to register with bbc.co.uk.
911
912       --bbciplayer-password PASSWORD
913              A bbc.co.uk account password to use with --bbciplayer-username.
914
915       --bbciplayer-hd
916              Prefer  HD  streams  over local SD streams, some live programmes
917              may not be broadcast in HD.
918
919   Clubbingtv
920       --clubbingtv-username
921              The username used to register with Clubbing TV.
922
923       --clubbingtv-password
924              A    Clubbing    TV    account    password    to    use     with
925              --clubbingtv-username.
926
927   Crunchyroll
928       --crunchyroll-username USERNAME
929              A Crunchyroll username to allow access to restricted streams.
930
931       --crunchyroll-password [PASSWORD]
932              A Crunchyroll password for use with --crunchyroll-username.
933
934              If left blank you will be prompted.
935
936       --crunchyroll-purge-credentials
937              Purge  cached  Crunchyroll credentials to initiate a new session
938              and reauthenticate.
939
940       --crunchyroll-session-id SESSION_ID
941              Set a specific session ID for crunchyroll, can be used to bypass
942              region restrictions. If using an authenticated session ID, it is
943              recommended that the authentication parameters be omitted as the
944              session ID is account specific.
945
946              NOTE:
947                 The  session ID will be overwritten if authentication is used
948                 and the session ID does not match the account.
949
950   Nicolive
951       --niconico-email EMAIL
952              The email or phone number associated with your Niconico account
953
954       --niconico-password PASSWORD
955              The password of your Niconico account
956
957       --niconico-user-session VALUE
958              Value of the user-session token.
959
960              Can be used as an alternative to providing a password.
961
962       --niconico-purge-credentials
963              Purge cached Niconico credentials to initiate a new session  and
964              reauthenticate.
965
966       --niconico-timeshift-offset [[XX:]XX:]XX | [XXh][XXm][XXs]
967              Amount of time to skip from the beginning of a stream.
968
969              Default is: 0.
970
971   Openrectv
972       --openrectv-email EMAIL
973              The  email  associated  with your openrectv account, required to
974              access any openrectv stream.
975
976       --openrectv-password PASSWORD
977              An openrectv account password to use with --openrectv-email.
978
979   Pixiv
980       --pixiv-sessionid SESSIONID
981              The pixiv.net sessionid that's used in pixiv's PHPSESSID cookie.
982
983       --pixiv-devicetoken DEVICETOKEN
984              The pixiv.net device token that's used in  pixiv's  device_token
985              cookie.
986
987       --pixiv-purge-credentials
988              Purge  cached  Pixiv  credentials  to initiate a new session and
989              reauthenticate.
990
991       --pixiv-performer USER
992              Select a co-host stream instead of the owner stream.
993
994   Raiplay
995       --raiplay-email EMAIL
996              The email used to register with raiplay.it.
997
998       --raiplay-password PASSWORD
999              A raiplay.it account password to use with --raiplay-email.
1000
1001       --raiplay-purge-credentials
1002              Purge cached RaiPlay credentials to initiate a new  session  and
1003              reauthenticate.
1004
1005   Sbscokr
1006   Steam
1007       --steam-email EMAIL
1008              A Steam account email address to access friends/private streams
1009
1010       --steam-password PASSWORD
1011              A Steam account password to use with --steam-email.
1012
1013   Streann
1014       --streann-url URL
1015              Source URL where the iframe is located, only required for direct
1016              URLs of ott.streann.com
1017
1018   Twitcasting
1019       --twitcasting-password PASSWORD
1020              Password for private Twitcasting streams.
1021
1022   Twitch
1023       --twitch-disable-ads
1024              Skip embedded advertisement segments at the beginning or  during
1025              a stream.  Will cause these segments to be missing from the out‐
1026              put.
1027
1028       --twitch-disable-reruns
1029              Do not open the stream if the target channel is currently broad‐
1030              casting a rerun.
1031
1032       --twitch-low-latency
1033              Enables low latency streaming by prefetching HLS segments.  Sets
1034              --hls-segment-stream-data to true and --hls-live-edge to  2,  if
1035              it  is higher.  Reducing --hls-live-edge to 1 will result in the
1036              lowest latency possible, but will most likely cause buffering.
1037
1038              In order to achieve true low latency streaming during  playback,
1039              the player's caching/buffering settings will need to be adjusted
1040              and reduced to a value as low as possible, but still high enough
1041              to  not  cause  any buffering.  This depends on the stream's bi‐
1042              trate and the quality of the  connection  to  Twitch's  servers.
1043              Please  refer to the player's own documentation for the required
1044              configuration. Player parameters can be set via --player-args.
1045
1046              NOTE:
1047                 Low latency streams have to be enabled by the broadcasters on
1048                 Twitch  themselves.   Regular streams can cause buffering is‐
1049                 sues  with  this  option   enabled   due   to   the   reduced
1050                 --hls-live-edge value.
1051
1052       --twitch-api-header KEY=VALUE
1053              A header to add to each Twitch API HTTP request.
1054
1055              Can be repeated to add multiple headers.
1056
1057              Useful  for adding authentication data that can prevent ads. See
1058              the plugin-specific documentation for more information.
1059
1060       --twitch-access-token-param KEY=VALUE
1061              A parameter to add to the API request for acquiring the  stream‐
1062              ing access token.
1063
1064              Can be repeated to add multiple parameters.
1065
1066       --twitch-purge-client-integrity
1067              Purge  cached  Twitch  client-integrity  token and acquire a new
1068              one.
1069
1070   Ustreamtv
1071       --ustream-password PASSWORD
1072              A password to access password protected UStream.tv channels.
1073
1074   Ustvnow
1075       --ustvnow-username USERNAME
1076              Your USTV Now account username
1077
1078       --ustvnow-password PASSWORD
1079              Your USTV Now account password
1080
1081   Wwenetwork
1082       --wwenetwork-email EMAIL
1083              The email associated with your WWE Network account, required  to
1084              access any WWE Network stream.
1085
1086       --wwenetwork-password PASSWORD
1087              A WWE Network account password to use with --wwenetwork-email.
1088
1089   Yupptv
1090       --yupptv-boxid BOXID
1091              The yupptv.com boxid that's used in the BoxId cookie.
1092
1093       --yupptv-yuppflixtoken YUPPFLIXTOKEN
1094              The  yupptv.com  yuppflixtoken  that's used in the YuppflixToken
1095              cookie.
1096
1097       --yupptv-purge-credentials
1098              Purge cached YuppTV credentials to initiate a  new  session  and
1099              reauthenticate.
1100
1101   Zattoo
1102       --zattoo-email EMAIL
1103              The  email  associated with your zattoo account, required to ac‐
1104              cess any zattoo stream.
1105
1106       --zattoo-password PASSWORD
1107              A zattoo account password to use with --zattoo-email.
1108
1109       --zattoo-purge-credentials
1110              Purge cached zattoo credentials to initiate a  new  session  and
1111              reauthenticate.
1112
1113       --zattoo-stream-types TYPES
1114              A comma-delimited list of stream types which should be used.
1115
1116              The following types are allowed: dash,hls7
1117
1118              Default is: "dash".
1119

BUGS

1121       Please open a new issue on Streamlink's issue tracker on GitHub and use
1122       the appropriate issue forms:
1123
1124       https://github.com/streamlink/streamlink/issues
1125

SEE ALSO

1127       For more detailed information about config files,  plugin  sideloading,
1128       streaming protocols, proxy support, metadata, or plugin specific stuff,
1129       please see Streamlink's online CLI documentation here:
1130
1131       https://streamlink.github.io/cli.html
1132
1133       The list of available plugins and their descriptions can be found here:
1134
1135       https://streamlink.github.io/plugins.html
1136

AUTHOR

1138       Streamlink Contributors
1139
1141       2023, Streamlink
1142
1143
1144
1145
11466.4.2                            Nov 29, 2023                    STREAMLINK(1)
Impressum