Tver配信を便利に録画(保存)するTverRec
TverRecというGitHubで公開されているOSSのソフトウェアがあります。
技術的にはPowerShellで作られたWindows系のアプリなのですが、Linux等のUNIX系(MacOS含む)でもPowerShellを導入してやれば使用可能です。但しGUI操作ができるのはWindows版のみです。
以前Windows版でPowerShell Coreを入れて試してみたことがあったのでTverRecの動作概要はわかっていることから、最近自宅で良く使用しているLMDE6の環境にセットアップすることにしました。
GitHubのページより、緑色のボタン「<>Code」からzip形式でダウンロードしておいて、zipを解凍して任意のフォルダに配置しておけば準備OKです。
ちなみにWindows版の方はセットアップから初めてほぼ自動化されているので手軽なのですが、Linuxで使用するにはちょっとクセがある感じです。でもきちんと設定をして行けばLinuxでも問題なくTverRecが使用できました。また一つデスクトップPC用のOSがWindowsじゃなくても良い理由が出来ました。
LMDE6にdebian用の手順を参考にしてPowerShellをインストール
まずGitHub公式のドキュメントをきちんと読んで理解します。多分、最初に躓くのはPowerShellをLinuxにインストールするところだと思います。
Redhat、Ubuntu、debianの場合は素直にセットアップ手順に従うのが良いでしょう。LMDE6はdebian 12(Bookworm)がベースなのでdebian用のセットアップ手順を参考にします。
ここにdebianへのPowerShell導入スクリプトが掲載されているので試してみたところ、LMDE6ではdebianのバージョン情報が取得出来ずファイルが見つからない状態でした。LMDE6はbookwormがベースになっています。bookwormはdebian12なのでスクリプトを修正して実行することにしました。
いらない部分はコメントアウトしまくりです。一度こっきりなので結果オーライで良いと思います。wgetも既にインストールされてますのでコメントアウト。
###################################
# Prerequisites
# Update the list of packages
#sudo apt-get update
# Install pre-requisite packages.
#sudo apt-get install -y wget
# Get the version of Debian
#source /etc/os-release
# Download the Microsoft repository GPG keys
#wget -q https://packages.microsoft.com/config/debian/$VERSION_ID/packages-microsoft-prod.deb
wget -q https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb
# Register the Microsoft repository GPG keys
sudo dpkg -i packages-microsoft-prod.deb
# Delete the Microsoft repository GPG keys file
rm packages-microsoft-prod.deb
# Update the list of packages after we added packages.microsoft.com
sudo apt-get update
###################################
# Install PowerShell
sudo apt-get install -y powershell
# Start PowerShell
pwsh
最後にPowerShell 7.5.0と表示されたのでPowerShellのpwshコマンドが通って成功したっぽいです。これでPowerShellをLMDE6にインストール出来ました。

TverRecのファイル群の設定
引き続きTverRec関係の準備をしていきます。Windowsだと自動でやってくれますが、Linuxでは自動ではやってくれません。この辺りはニーズの問題でしょうね。利用者が増えてくればLinux版も充実すると思うのですが。(開発者も少ないユーザーの為に労力をかけてられませんからね)
*.ps1と*.shファイルの実行権
TverRecはPowerShellで作成されたファイル*.ps1が沢山入っています。また*shファイルも沢山あります。
これらに実行権を与える必要があるみたいなので、プロパティ>パーミッションから実行権(プログラムとして実行可能)にレ点をいれます。読み書きの権限なんかも確認して修正しておく必要が少しありました。これらはマウスポチポチで出来ますね。
confフォルダ内のファイル編集
confフォルダ内にはkeyword.confファイルがなかったのでresources/sample/からkeyword.sample.confをコピーして、confフォルダ内に配置してkeyword.confにリネームします。そしてテキストエディタで開いて、番組名にお気に入りの番組(シリーズ)を追記します。series/xxxxxxxxxxというのはTverの番組名ページのURLの一部になってますのでTverのサイトにアクセスして調べます。

次にダウンロードフォルダ等を指定します。
system_setting.ps1をコピーして、user_setting.ps1として並べて配置し、user_setting.ps1をテキストエディタで開いて
- ダウンロード先のフルパス
- ダウンロード中の作業ディレクトリのフルパス
- 移動先のフルパス
この辺りをLinuxのフォルダ(外付けHDDなど)に指定してやります。私の場合はSSDを酷使したくないので、あえて外付けのHDDを指定しています。
$script:downloadBaseDir = '/media/sasapurin/HDD-1TB/Tver'
$script:downloadWorkDir = '/media/sasapurin/HDD-1TB/Tver/Temp'
$script:saveBaseDir = ''
Code language: PHP (php)
※後で分かったことですがTempフォルダは空っぽになると最終処理でフォルダごと削除されてしまうので、なにかダミーファイルをフォルダ内に配置しておくと消されずに済みます。
高度な設定の編集は必須ではないみたいなので、任意に調整したら良いと思います。カスタマイズ性が高いので任意でお好みに設定するのが正解ですね。
解説放送版は要らないから除外しとく
Tverでは「解説放送版」や「ダイジェスト」、「予告」なども含まれます。私はコレらは不要なのでダウンロード対象外番組としてキーワード登録しておきます。
confフォルダ内にignore.confというファイルを置いて、除外キーワードを記しておくとダウンロード対象外として扱ってくれます。一度除外扱いされるとダウンロード済みとしてdbフォルダ内のhistory.csvに追記されるので次からはダウンロード候補に上がってきません。
要らない番組をダウンロードすると時間もかかるしリソースも無駄遣いなので除外キーワードは設定しておいた方が合理的です。

この辺りは使っている内に要らないキーワードが分かってくるので、徐々にカスタマイズしてより効率的な自動処理が行えるよう各自で工夫する必要がありそうです。
TverRecを実行してみる
unixフォルダ内の、start_tverrec.shをダブルクリックでターミナル内で実行します。
初回実行時にyotube-dlとffmpegは自動でダウンロードされます。また定期的に更新が無いか確認してくれて更新があれば自動でダウンロードしてくれます。この辺りの動作はWindows用の動作と同じですね。
先に、confフォルダ内のkeyword.confファイルで指定しておいたお気に入りのシリーズだけがダウンロードされたら成功です。yt-dlとffmpegが忙しく動き出してしばらく待たされます。

どうやらLinux版のスクリプトは、ループ処理で3600秒待機してまた一連の処理が走り出すみたいなので、CTRL+Cで終了させます。
TverRecの仕組み(簡単に)
TverRecでは、一度ダウンロードが成功したストーリーは、dbフォルダ内のhistory.csvに記録されていきます。これで次はダウンロード対象外としてダウンロード候補から外される仕組みです。なにかしらの原因でダウンロードが不完全だった場合は、このリストをメンテナンスしてリストから削除してやれば再びダウンロード対象となります。
基本的にはconfフォルダ内のkeyword.confファイルに目的とする番組(シリーズ)などを追記して行く運用になるんじゃないかと思います。ごく偶にupdate_tvrec.shを実行する様にメッセージが表示されることもありますが素直に従えばTverRecが最新版に更新されます。
Tverからお気に入りジャンルとか、お気に入り俳優とか、キーワードで根こそぎダウンロードすることもできるみたいですが、そういう使い方は止めておいた方が良いと思います。常識を逸脱したダウンロードをしているとTverに対策される可能性があり、このありがたいアプリも使えなくなってしまいます。各自の節度ある利用が必要ですね。
個人的には休日等にまとめて一気に視聴するのが気に入ってます。一話観て一週間待ってというのはなんか性に合わないのです。TV放送だと何かのイレギュラーで見逃すこともあるので、Tverの配信はとてもありがたいです。
全話揃えるには数週間かかりますが、揃ってから見るのが私としては一番快適です。私の場合は第一話だけ視聴してみて面白そうだと感じた番組を観ることにしてます。第一話が面白いと感じなかったらパスしてます。この辺りの見極めは重要ですが概ね第一話の感触で当たってます。最初の頃はなんとなく全話保存しておいて、観てみるとやっぱり面白くなかったと見ずに削除してました。
面白そうな番組のターゲットが定まったら、その後は週に一回程度TverRecを走らして各話保存漏れが無い様にして全話揃えてから観てます。視聴するのにも時間が必要なので無駄を省くのも重要です。
コメント