livestreamer がメンテナンスされなくなりその後継に streamlink が公開されている。基本コマンドは livestreamer と同じで新しいオプションの追加や、サイト対応が行われている。

Twitch, Ustream, Youtube に対応した livestreamer の使い方

インストール方法

対応しているすべてのサイト一覧:Plugins — Streamlink documentation

日本から関係ありそうなのは、abema.tv, live.bilibili.com, dailymotion, live.line.me, mixer.com, nhk.or.jp/nhkworld, nicolive, openrec.tv, radiko.jp, sketch.pixiv.net, twitcasting.tv, twitch, vimeo, youtube。

インストール:Installation — Streamlink documentation
配布先:Releases · streamlink/streamlink
更新履歴:Changelog — Streamlink documentation

Windows を使っている場合はインストーラー版かポータブル版を選べる。そのほかの Mac や Linux などの OS にもソースコードからインストールできる。ソースコードからインストールする場合は python もインストールする。

ナイトリー(Win):streamlink/streamlink-nightly

Windows なら python も同梱されているポータブル版を使うのが手軽。
RosadinTV:Releases · streamlink/streamlink-portable

使い方

streamlink は livestreamer のオプションと互換のある CLI である。RosadinTV からポータブル版を使う場合は Streamlink.bat があるのでこれを実行してコマンドをコピペする。

基本コマンド。
streamlink twitch.tv/day9tv --default-stream best -o output.ts

外部プレイヤーで再生するコマンド。
streamlink twitch.tv/day9tv --default-stream best -p "E:tools\MPC-HC\mpc-hc.exe"

夜の時間帯などで best だと映像が途切れる場合は解像度を下げる。例えば 480p など。
streamlink twitch.tv/day9tv --default-stream 480p -p "E:tools\MPC-HC\mpc-hc.exe"

配信映像を渡せるプレイヤーは MPC-HC のほかに VLC や ffplay、mplayer などがある。
Players — Streamlink documentation

1.4.0 からニコニコ生放送にも対応した。URLは ?ref 以降がついていても認識する。
streamlink https://live2.nicovideo.jp/watch/lv325443328?ref=top&zroute=index&kind=top_onair --default-stream best -o output.ts

ログインが必要なタイムシフトやアカウント情報の引き継ぎなどは –niconico-email、niconico-password を併用するか、–niconico-user-session を使う。–niconico-user-session はログインしている状態から JSON形式XML形式で取得できる。タイムシフトなどの開始時間をずらすオプションは今のところ効果が無い。

streamlink https://live2.nicovideo.jp/watch/lv325443328 --niconico-email foo@bar.com niconico-password password --default-stream best -o output.ts
streamlink https://live2.nicovideo.jp/watch/lv325443328 --niconico-user-session user_session_123456789_ba3489af2304eb2957c6a77c0f1fa30ac559e802a36437ba5deacd9f742fa9cb --default-stream best -o output.ts

1.4.0 から radiko にも対応した。URLの対応形式。

http://radiko.jp/#!/live/QRR
http://radiko.jp/live/QRR
http://radiko.jp/#!/ts/QRR/20200308180000
http://radiko.jp/ts/QRR/20200308180000

streamlink http://radiko.jp/#!/live/QRR --default-stream best -o output.ts

対応しているプロトコル一覧

名前 Prefix
Adobe HTTP Dynamic Streaming hds://
Akamai HD Adaptive Streaming akamaihd://
Apple HTTP Live Streaming hls:// hlvsvariant://
MPEG-DASH dash://
Real Time Messaging Protocol rtmp:// rtmpe:// rtmps:// rtmpt:// rtmpte://
Progressive HTTP, HTTPS, etc httpstream://

hls:// は1種類のストリーム。hlvsvariant:// は複数のストリームに対応している。さらにローカルファイルにも対応している。ファイルパスは絶対パスで日本語を含まないようにする。

streamlink hlsvariant://file://C:/hls/playlist.m3u8 --default-stream best -o output.ts

ローカルファイルの復号は ffmpeg のほうが手軽。
ffmpeg で Apple HTTP Live Streaming(HLS)を扱う

オプション

ほとんど livestreamer と同じなので多くはそちらを参照。
streamlink で追加されたオプションを抜粋する。

公式ドキュメント:Command-Line Interface — Streamlink documentation

ヘルプコマンド。
streamlink --help

--hls-segment-ignore-names NAMES
セグメント番号を無視する。関連内容
例:000,001,002

--hls-start-offset HH:MM:SS
指定時間分だけ早めて読み込む。ライブ配信の場合、マイナス値を指定すると終了時間から指定秒だけ録画しない。VODでプラスならば録画時間を遅らせ、ライブ配信でマイナスなら録画時間を早める。つまり Youtube などのライブ配信で過ぎた時間をさかのぼって録画するならマイナス時間(-HH:MM:SS)を指定する。さかのぼってライブ配信の時点まで追いついたら等速の録画になる。Youtube のライブ配信でこの設定が効かなくなっている(2020年4月25日時点)。
既定値:00:00:00

--hls-duration HH:MM:SS
録画時間の指定。
既定値:unlimited(配信が終わるまで)

--hls-segment-key-uri
暗号キーの指定。マニフェストのキーが実際の暗号キーと異なる場合、スキームが http などで始まらない場合に使う。
既定値:無指定

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

--rtmp-rtmpdump, --rtmpdump FILENAME
以前は –r で rtmpdump のパスを指定していたが変更された。
例:”/usr/local/bin/rtmpdump”

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)