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