TVerRec(ティーバーレック)
TverRecは、TVerのHLSコンテンツをダウンロードするためのスクリプトで、PowerShell Coreというソフトウェアで動作するよう設計されています。スクリプト一式はGitHubで公開されています。
TverRecは3つのソフトウェアを必要としますが、Windowsユーザーはコマンドを実行するだけで必要なソフトウェアが自動的にインストールされる仕様になっています。
youtube-dl を同梱していないのは著作権絡みだと思われます。同じアプローチを取っているダウンローダーとしては、海外製の XDM があります。
PowerShell Core
PowerShell Core は、Windows、Linux、macOS、Arm に対応したクロスプラットフォーム対応のコマンドシェルです。マイクロソフトがWindows PowerShell をクロスプラットフォーム対応に改造したものなので、怪しいものではありません。
ソフトウェア情報
TverRec でできること
3つのダウンロードモード
個別ダウンロード以外のコマンドを実行すると、予期せぬ番組が大量にダウンロードされる可能性があるのでご注意ください。
モード | 説明 | |
一括ダウンロード | start_tverrec.cmd TVer のカテゴリ毎のページを指定、タレントや番組を指定、各放送局毎のページを指定 | |
リストダウンロード | x.generate_list.cmd/y.tverrec_list.cmd ダウンロード候補をリストファイルに出力し、リストファイルを編集した後にダウンロードする | |
個別ダウンロード | z.download_single_video.cmd 番組を 1 本ずつ指定してダウンロードする |
z.download_single_video.cmd(個別ダウンロード)
TverRec で利用頻度が高いのは「z.download_single_video.cmd」です。このスクリプトは、ダウンロードしたい番組のURLをコピペするだけで動作します。
インストール
初期設定
ダウンロード、作業フォルダ、保存先の3つを指定する。既存または新規作成フォルダを指定する。
system_setting.ps1 を開いて修正、[名前を付けて保存:user_setting.ps1] を実行する。(上書きでもよいが別名保存が推奨されている)
変更前 | 変更後 | |
#ダウンロード先のフルパス(絶対パス指定) を変更する $script:downloadBaseDir = 'W:' | $script:downloadBaseDir = 'C:\mp4' | |
#ダウンロード中の作業フォルダのフルパス(絶対パス指定) $script:downloadWorkDir = $env:TMP #$env:TMP = C:\Users\<ユーザ名>\AppData\Local\Temp | $script:downloadWorkDir = 'C:\temp' | |
#保存先のフルパス(絶対パス指定) $script:saveBaseDir = 'V:' | $script:saveBaseDir = 'C:\mp4' | |
system_setting.ps1 | user_setting.ps1 「名前を付けて保存」する。 |
keyword_sample.conf を変更後上書きでもよいが [名前を付けて保存: keyword.conf] が推奨されている。
変更前 | 変更後 | |
全てのリスト | 先頭に「#」を付加してコメントアウトする | |
新規追加 | ダウンロードしたい番組を追記する、書式はconfに説明あり | |
keyword_sample.conf | keyword.conf 「名前を付けて保存」する。 |
TverRec フォルダ構成
*触る必要のないファイルは省略しています。
TVerRec\... | 操作するファイル | 説明 |
.devcontainer | ||
.github | ||
.vscode | ||
bin | ||
colab | ||
conf | ignore.sample.conf | ダウンロード対象外番組を登録するファイル |
keyword.conf | 番組のキーワードなどを登録するファイル | |
system_setting.ps1 | 別名保存して user_setting.ps1 として新規作成する | |
db | ||
docker | ||
img | ||
lib | ||
list | list.csv | keyword.conf の条件に合致する番組のリスト。win/start_tverrec.cmd を実行する前に win/x.generate_list.cmd を実行してダウンロードされる番組を確認することができる。 |
src | ||
unix | ||
win | start_tverrec.cmd | バッチファイルの開始(keyword.conf が実行される) |
stop_tverrec.cmd | 実行中のバッチファイルを停止する | |
x.generate_list.cmd | ダウンロードリスト list.csv の作成 | |
y.tverrec_list.cmd | list.csv を参照して番組をダウンロードする | |
z.download_single_video.cmd | ブラウザのURLをコピペして利用する(シングルモード) |
コマンドファイルの使い方
- Windows PowerShell またはコマンドプロンプト起動
- start_tverrec.cmd をフルパスで指定する
例: C:\TverRec\win\start_tverrec.cmd - リターン
- 以上
Windows ターミナル(cmd) C:\> C:\TverRec\win\start_tverrec.cmd Windows PowerShell PS C:\> C:\TverRec\win\start_tverrec.cmd
TverRec を実行する
PowerShell Core
PowerShell Coreは、マイクロソフトが開発したクロスプラットフォームのコマンドラインシェルおよびスクリプト言語です。
Windows、macOS、Linuxなど、様々なオペレーティングシステムで動作します。
PowerShell Coreは、Windows PowerShellという従来のバージョンとは異なり、オープンソースであり、より広範なプラットフォームで使用することができます。
PowerShell Coreは、システム管理者や開発者が自動化されたタスクを実行するために使用することができ、.NET CoreやAzure Cloud Shellなど、様々なプラットフォームで利用されています。
HLS /HTTP Live Streaming
TVerはコンテンツをHLS方式で配信しているため、通常の方法ではファイル一式を取得することはできません。加えて、コンテンツを保護するために HLS-Encryption 技術が使われています。
HLS(HTTP Live Streaming)とは、動画ストリーミング技術の一種で、動画を小さなファイル(セグメント)に分割して、それらを順次ダウンロードしながら再生する方式です。
具体的には、動画ファイルを複数のセグメントに分割し、それらをHTTPで配信します。クライアント側(再生する側)は、最初のセグメントをダウンロードして再生を開始し、その後次々と次のセグメントをダウンロードして再生を続けます。このようにすることで、ネットワーク環境の変化に応じて、セグメントのサイズやビットレートを変更することができ、スムーズな再生を実現できます。
また、HLSはストリーミングの遅延を減らすために、再生中に次のセグメントを予めダウンロードするプリロード機能や、再生位置を指定して特定のセグメントから再生を開始する機能なども備えています。
HLSは、Appleが開発したプロトコルで、iPhoneやiPadなどのiOSデバイスでの再生に特化していますが、現在では様々なプラットフォームやデバイスでサポートされています。
著作権と HLS-Encryption
インターネット上での音楽利用にはJASRACの許諾が必要であることや、放送番組のインターネット同時配信等に係る権利処理の円滑化に関するワーキングチームが設置されていることなどから、TVerの著作権については尊重しなくてはなりません。
HLS-Encryption
TverRec は「ストリームレコーダー」が削除した機能 HLS-Encryption に対応しています。
HLS-Encryption は、HTTP Live Streaming (HLS) というプロトコルで動画を暗号化する技術です。HLS は、Apple Inc. が開発した適応型ビットレートストリーミングのプロトコルで、メディアプレーヤーやウェブブラウザ、モバイルデバイスなどで広くサポートされています。
HLS-Encryption では、動画ファイルを AES-128 という暗号化アルゴリズムで暗号化し、マニフェストファイルに復号化に必要なキーへのリンクを含めます。
著作権
ストリームレコーダーや TverRec などのスクリプトを使用して、HLS-Encryption コンテンツをダウンロードする場合、著作権法に違反する可能性があります。特に、HLSコンテンツがAES暗号化などで保護されている場合、コンテンツをダウンロードするためには著作権者の許可が必要です。著作権者の許可を得ずにHLSコンテンツをダウンロードすることは、違法行為となり、法的な問題を引き起こす可能性があります。
TverRecは、youtube-dlにダウンロードタスクを渡すことにより著作権問題を回避しているという解釈もありますが、これが正当な方法であるかどうかは不明です。また、TverRecの作者は、このソフトウェアを使用して発生したいかなる損害にも責任を負わないと免責事項を記載しています。
結論としては、
TverRecを使用する場合は、自己責任です。
まとめ
このサイトを検索 | Search this site
0 コメント