ライブ配信をダウンロードできるStreamlinkのインストール

ライブ配信をダウンロードできるStreamlinkのインストール ツール

「ライブ配信中の動画をダウンロードしたい」
「ストリーミング動画を別ファイルに保存したい」
「Pythonでライブ配信されている動画を処理したい」

このような場合には、Streamlinkがオススメです。
この記事では、Streamlinkについて解説しています。

本記事の内容

  • Streamlinkとは?
  • Streamlinkのシステム要件
  • Streamlinkのインストール
  • Streamlinkの動作確認

それでは、上記に沿って解説していきます。

Streamlinkとは?

Streamlinkは、ライブ配信中の動画を扱うことができるPythonライブラリです。
具体的には、次のことができます。

  • 動画ファイルとしてダウンロードできる
  • 外部プレーヤー(VLCなど)で動画を視聴できる

外部プレーヤーで動画を見るのは、その分だけ負荷が少ないでしょうね。
ブラウザの機能で動画を見るよりは、マシンに与える負荷は減っているはずです。

そして、Streamlinkが対象とする主な動画サイトは以下。

  • Twitch.tv
  • YouTube.com
  • Livestream.com
  • Dailymotion.com

これは、ほんの一部に過ぎません。
対象となるサイトは、以下ページですべてを確認できます。
https://streamlink.github.io/plugins.html#plugins

なお、StreamlinkはLivestreamerからフォークしたプロジェクトです。
人気のあったLivestreamerは、現在開発が停止しています。
つまり、StreamlinkはLivestreamerの後継と言えます。

以上、Streamlinkについて説明しました。
次は、Streamlinkのシステム要件を確認します。

Streamlinkのシステム要件

現時点(2022年3月)でのStreamlinkの最新バージョンは、3.2.0となります。
この最新バージョンは、2022年3月6日にリリースされています。

サポートOSに関しては、以下を含むクロスプラットフォーム対応です。

  • Windows
  • macOS
  • Linux

サポート対象となるPythonのバージョンは、以下となっています。

  • Python 3.6
  • Python 3.7
  • Python 3.8
  • Python 3.9
  • Python 3.10

以下は、Python公式開発サイクルです。

バージョンリリース日サポート期限
3.62016年12月23日2021年12月23日
3.72018年6月27日2023年6月27日
3.82019年10月14日2024年10月
3.92020年10月5日2025年10月
3.102021年10月4日2026年10月

Streamlinkは、Python公式開発サイクルをカバーしています。
ただ、Python 3.6はもうサポート対象外でも問題ないのですけどね。

まとめると、Streamlinkのシステム要件はPython 3.6以降であることぐらいです。
つまり、基本的にはStreamlinkはどんな環境でも動くと言えます。

以上、Streamlinkのシステム要件を説明しました。
次は、Streamlinkをインストールします。

Streamlinkのインストール

検証は、次のバージョンのPythonで行います。

$ python -V
Python 3.10.2

まずは、現状のインストール済みパッケージを確認しておきます。

$ pip list
Package    Version
---------- -------
pip        22.0.4
setuptools 60.9.3
wheel      0.36.2

次にするべきことは、pipとsetuptoolsの更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。

python -m pip install --upgrade pip setuptools

では、Streamlinkのインストールです。
Streamlinkのインストールは、以下のコマンドとなります。

pip install streamlink

Streamlinkのインストールは、少し時間がかかります。
終了したら、どんなパッケージがインストールされたのかを確認します。

$ pip list
Package            Version
------------------ ---------
certifi            2021.10.8
charset-normalizer 2.0.12
idna               3.3
isodate            0.6.1
lxml               4.8.0
pip                22.0.4
pycountry          22.3.5
pycryptodome       3.14.1
PySocks            1.7.1
requests           2.27.1
setuptools         60.9.3
six                1.16.0
streamlink         3.2.0
urllib3            1.26.8
websocket-client   1.3.1
wheel              0.36.2

そこそこ多いパッケージがインストールされました。
これを見ると、StreamlinkはPython仮想環境にインストールすることをオススメします。

Python仮想環境については、次の記事で説明しています。

以上、Streamlinkのインストールを説明しました。
次は、Streamlinkの動作確認を行います。

Streamlinkの動作確認

Streamlinkの動作確認として、YouTubeのライブ配信をダウンロードしてみましょう。
まずは、対象動画の情報(解像度)を取得します。

例えば、ANNnewsCHのニュースを対象とした場合は次のコマンドとなります。

streamlink https://www.youtube.com/watch?v=sRbzjQTxvPE

上記を実行した結果は、以下。

$ streamlink https://www.youtube.com/watch?v=sRbzjQTxvPE
[cli][info] Found matching plugin youtube for URL https://www.youtube.com/watch?v=sRbzjQTxvPE
Available streams: 144p (worst), 240p, 360p, 480p, 720p (best)

上記結果より、対象動画の利用可能な解像度が取得できました。
今回は、この中で最も良い解像度で動画をダウンロードします。

また、時間は30秒間を指定します。

streamlink https://www.youtube.com/watch?v=sRbzjQTxvPE 720p -o test.ts --hls-duration 00:00:30

上記を実行すると、test.tsというファイルが作成されます。
VLCプレーヤーがインストール済みなら、test.tsファイルを見ることができます。

ただ、今回はTSファイルが作成まできれば十分です。
ここまで確認できれば、Streamlinkの動作確認としては問題ありません。

以上、Streamlinkの動作確認を説明しました。

タイトルとURLをコピーしました