
TVerRec(ティーバーレック)
TverRecは、TVerのHLSコンテンツをダウンロードするためのスクリプトで、PowerShell Coreというソフトウェアで動作するよう設計されています。スクリプト一式はGitHubで公開されています。
TverRecは3つのソフトウェアを必要としますが、Windowsユーザーはコマンドを実行するだけで必要なソフトウェアが自動的にインストールされる仕様になっています。
youtube-dl を同梱していないのは著作権絡みだと思われます。同じアプローチを取っているダウンローダーとしては、海外製の XDM があります。
PowerShell Core
PowerShell Core は、Windows、Linux、macOS、Arm に対応したクロスプラットフォーム対応のコマンドシェルです。マイクロソフトがWindows PowerShell をクロスプラットフォーム対応に改造したものなので、怪しいものではありません。
ソフトウェア情報
TverRec でできること

- TVerの番組をダウンロードして保存する。
- 番組のジャンルを指定して一括ダウンロード。
- 番組の出演タレントを指定してダウンロード。
- 番組名を指定して一括ダウンロード。
- CMカット。
- 新しい番組が配信される度に一括ダウンロード。
- TVer の全録が可能です。
- TVer の番組サムネイルをダウンロードファイルに埋め込みます。
- 字幕データが TVer にある場合は、字幕情報もダウンロードファイルに埋め込みます。
- 並列ダウンロードによる高速ダウンロードが可能です。
- また、ダウンロードした番組が破損していないかの検証も行います。
- ダウンロードされたファイルは、最終移動先に自動的に整理。
- 動作に必要な youtube-dl や ffmpeg などの必要コンポーネントは自動的に最新版をダウンロード。
- Windows 環境ではトースト通知によりダウンロードの進捗状況などを通知します。
- 日本国外からも VPN 不要で利用することができます。
- 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をコピペするだけで動作します。
- 初期設定を完了させる。(次項で詳細説明しています)
→ system_setting.ps1 を別名保存して user_setting.ps1 を作成する。 - z.download_single_video.cmd をダブルクリックして実行する。
→ 初回起動時は youtube-dl などが自動的にダウンロードされる。 - 番組のURLをコピーする。
- z.download_single_video.cmd の実行画面にペーストする。
- ダウンロードが始まるので終わるまで待つ。
→ ダウンロードの進捗状況はタスクマネージャーで確認してください。 - 以上
インストール

ダウンロード → 解凍 → 初期設定
- GitHubから最新バージョンをダウンロードする。
- 任意のフォルダに解凍する。
- 初期設定、この手順は必須です。
system_setting.ps1 をメモ帳などのテキストエディタで開いてフォルダを修正した後別名保存して user_setting.ps1 を作成する。個別ダウンロードはこのファイルを作成するだけで動作します。各種ディレクトリを指定しますが全て同じでもよい。(ダウンロード先、ダウンロード中の作業フォルダ、保存先) - 以上
(フォルダ構成)
以下のソフトウェアはTverRecを起動した時に自動的にインストールされます。起動するたびにバージョンチェックを行い最新バージョンをインストールする仕様です。
- PowerShell Core (Windows のみ自動インストール)
- youtube-dl
- ffmpeg
- Python (Linux/Mac 環境のみ必要。Windows 環境では不要)
初期設定

confフォルダに保存されたサンプルファイルを修正して別名で保存する。
ダウンロード、作業フォルダ、保存先の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をコピペして利用する(シングルモード) |
コマンドファイルの使い方

初期設定をしていない時は、コマンドを実行するとエラーを返します。
keyword.conf を作成していない時は、ビックリするくらいの番組がダウンロードされるので注意ください。
- win\start_tverrec.cmd を実行する(ダブルクリック)
- conf\user_setting.ps1 を呼び出す(バッチファイルが自動的にロードする)
- user_setting.ps1 が存在しない時は、conf\system_setting.ps1 がロードされる
- conf\keyword.conf を参照してダウンロードする番組を検索する
- keyword.conf が存在しない時は、conf\keyword.sample.conf を参照する。
- ダウンロード開始、バックグラウンドで動作するため進捗は確認できません。
- keyword.conf で指定した番組が全てダウンロードされたら終了
※ビックリするくらいのファイル数 - 以上
- 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 を実行する

- 環境設定を終えておくこと。
- start_tverrec.cmd をダブルクリックする。
- 初回に限り PowerShell Core, youtube-dl, ffmpeg がインストールされる。
- 再度 C:\TVerRec\win\start_tverrec.cmd をダブルクリックする。
- 停止する時は、stop_tverrec.cmd をダブルクリックする。
- ダウンロードが終了するまで待つ。
- 以上
- z.download_single_video.cmd をダブルクリックする。
- URLを聞かれるのでコピペする。
- 以上
- x.generate_list.cmd をダブルクリックして list.csv を作成する。
- list.csv を開いて番組名を確認する。必要に応じて修正する。
- y.tverrec_list.cmd をダブルクリックしてダウンロードを開始する。(start_tverrec.cmd でもよい)
- ダウンロードが終了するまで待つ。
- 以上
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を使用する場合は、自己責任です。

Scrap 2nd.
ストリームレコーダーの記事一覧。
まとめ


- TverRec はライブストリーミングに対応したスクリプト。
- PowerShell Core で動作するよう設計されている。
- Tver専用のため汎用性はない。
- 本体はダウンロード機能を搭載せず、youtube-dl にダウンロードタスクを渡すことにより著作権問題を回避している。(らしい)
- .conf, .ps1 を自分用に書き換えることで正しく動作するようになる。
- 設定のハードルが高いので、脱落者多数。(たぶん)
- hls | SC2

ストリーミング動画のダウンロード支援ガイド【2024年最新版】
HLS形式の動画ダウンロードには、専用ソフトやアプリが必要。著作権侵害や悪意のあるソフトには注意。サービスによっては専用アプリでダウンロード可能。
このサイトを検索 | Search this site
0 コメント