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