livestreamerがメンテナンスされなくなりその後継にstreamlinkが公開されている。基本コマンドはlivestreamerと同じで新しいオプションの追加や、サイト対応が行われている。Windows利用者で3.0.0以降に更新するときはconfigファイルを削除するか、configファイル内の最終行にあるrtmpdump指定のパスを削除する。
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, showroom-live.com, sketch.pixiv.net, twitcasting.tv, twitch, vimeo, youtube。
- インストール:Installation — Streamlink documentation
- 配布先:Releases · streamlink/streamlink
- 更新履歴:Changelog — Streamlink documentation
使い方
streamlinkはlivestreamer のオプションと互換のある CLI である。
基本コマンド。
streamlink twitch.tv/rtainjapan --default-stream best -o output.ts
外部プレイヤーで再生するコマンド。
streamlink twitch.tv/rtainjapan --default-stream best -p "E:tools\MPC-HCmpc-hc.exe"
夜の時間帯などでbestだと映像が途切れる場合は解像度を下げる。例えば480pなど。
streamlink twitch.tv/rtainjapan --default-stream 480p -p "E:tools\MPC-HCmpc-hc.exe"
配信映像を渡せるプレイヤーは MPC-HC のほかに VLC や ffplay、mplayer などがある。
Players — Streamlink documentation
1.4.0からニコニコ生放送にも対応した。URLは?ref以降がついていても認識する。3.0.0からはコミュニティurlco形式に対応。
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形式(https://api.ce.nicovideo.jp/api/v1/session.create?__format=json)、XML形式(https://api.ce.nicovideo.jp/api/v1/session.create?__format=xml)で取得できた。セッションが取得できなくなったのを2021年5月21日に確認。タイムシフトなどの開始時間をずらすオプション–niconico-timeshift-offsetは2.0.0で実装された。
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
公式生放送に多い最初の10分(600秒)をスキップする例。[HH:]MM:SS指定も可能。
streamlink https://live2.nicovideo.jp/watch/lv325443328 --niconico-email foo@bar.com niconico-password password --niconico-timeshift-offset 600 --default-stream best -o output.ts
streamlink https://live2.nicovideo.jp/watch/lv325443328 --niconico-user-session user_session_123456789_ba3489af2304eb2957c6a77c0f1fa30ac559e802a36437ba5deacd9f742fa9cb --niconico-timeshift-offset 600 --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
対応しているプロトコル一覧
3.0.0からrtmp、hds、akamaihdプロトコルは廃止した。
名前 | 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)を扱う
configurationファイルの場所はWinodwsでは%APPDATA%\streamlink\streamlinkrc。
Command-Line Interface – Streamlink documentation
オプション
ほとんど 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などで始まらない場合、キーファイルがローカルにありlocalhost経由で差し替える場合などで使う。
既定値:無指定
--hls-segment-key-uri "https://example.com/hls/encryption_key" --hls-segment-key-uri "http://localhost/foo.bin" --hls-segment-key-uri "{scheme}://1.2.3.4{path}{query}" --hls-segment-key-uri "{scheme}://{netloc}/custom/path/to/key"
--niconico-purge-credentials
2.1.0で対応。引数指定なし。ニコニコのログイン認証を削除する。#3434
githubのSource code(zip)をからビルドする方法を知りたいです。
ソースコードからインストールしたことがないので詳しくは分かりませんが
Windowsなら https://github.com/streamlink/windows-builds
そのほかは https://streamlink.github.io/install.html#dependencies を参照してみてください