Image by Noom Peerapong / Unsplash

私の家庭映画鑑賞の軌跡

✍🏼 作成日 2022年04月23日    💡 更新日 2023年01月05日
🖥  説明:家族に映画鑑賞の自由を提供することも、ひとつの幸せです。
📚  Craft にも公開: https://www.craft.do/s/zRTAMsyWRqPewN

はじめに

テレビ視聴は家庭における欠かせない娯楽ですが、自分が見たいコンテンツを快適に視聴するのは簡単なことではありません。時にはお金を払ってもストレスが解消されないこともあり、会員限定広告や人気ドラマ視聴のための追加チケット購入など、不愉快な仕打ちに悩まされることも少なくありません。そこで、家庭での映画視聴に関する試行錯誤の記録をここに残すことで、皆さんにアイデアを提供し、生活の質を向上させる手助けになればと考えています。

私の基本状況

まず私の基本状況を紹介します。もしあなたの状況と一致する場合は続きを読んでいただき、ニーズが合わない場合でも参考としてご覧ください。

デバイス

  • メインディスプレイとしてソニー65X90Jテレビを採用。京东618で6000元強で購入。実際にはどのテレビでも可。

  • サブデバイスとしてApple TV 4K 2021モデルを京东国際で1300元で購入。InfuseはAppleプラットフォーム専用ですが、PCで直接再生しても問題なし。

  • 中国聯通ブロードバンド付属のZTE WiFi6ルーターをメインルーターとして無料利用。

  • NanoPi R4Sを](https://baike.baidu.com/item/软路由/4824918)ソフトウェアルーターとして使用。OpenWrtシステムで淘宝で500元前後で購入。他のソフトウェアルーターシステム/ハードウェアでも可。

  • 再生クライアントとして](https://firecore.com/infuse)Infuse Proサブスクリプションを利用。Apple米国ストアで年間70元前後。WebDAV対応の他の再生ソフトでも可。

  • ネットワーク基盤として中国聯通ブロードバンドを利用。

注:私のR4Sは](https://sspai.com/post/59708)サイドルーター方式で接続。これにより、360監視カメラ、華為スマートライト、小米スマート物干し、小天鵝スマート洗濯機など、特殊なネットワーク設定を必要としない家電が正常に動作します。特に360監視カメラはネットワーク接続に敏感なため、これらのデバイスは直接接続必須です。そのためサイドルーター方式を採用し、ほとんどのデバイスはデフォルトで直接接続、一部のデバイスのみ特殊ネットワークを利用するように設定しています。

ニーズ

  1. 食事時にCCTVニュースなどのテレビ生放送を視聴。

  2. 『フレンズ』や『ゲーム・オブ・スローンズ』などの古典的な海外ドラマ視聴。新作には興味なし。

  3. 阿里雲盤や百度網盤で規制される映画/ドラマの視聴。例えば劇場公開中の映画、配信中のドラマ、愛国心をテーマにした作品など。

  4. 暇つぶしに『トムとジェリー』、『ドラえもん』、『クレヨンしんちゃん』などのエピソード完結型アニメをBGM代わりに再生。

  5. ブルーレイ画質のドキュメンタリー視聴。

  6. カクつきのないスムーズな再生。

  7. 一度設定したら後は放置可能な安定性と永続性を重視。

  8. リソース探しやPCでのTorrentダウンロード(SSDへの負担懸念)は避けたい。

  9. PCソフトウェアには潔癖症。可能な限り新規インストールを避け、1つのソフトで解決できるなら2つはインストールしない。インストールする場合もPC環境への影響を最小限に(特にGithubからのダウンロードソフト)。優先的に](https://www.docker.com/get-started/#)Dockerでインストール。

注:Sonarr + Jackett + qBittorrentなどを用いた自動追劇システム(新エピソードの自動ダウンロード)もありますが、私のニーズでは過剰です。視聴するコンテンツの多くは阿里雲盤経由で視聴可能なCCTVドキュメンタリーやBBCドキュメンタリー、『フレンズ』などの古典的作品が多いためです。この自動化システムを採用しなかった理由は、大容量HDDの追加購入が必要なことと、メインの視聴経路が阿里雲盤であるためです。

初期の失敗事例

皆さんの遠回りを防ぐため、私が経験した失敗も共有します。興味がない方は次のセクションまでスキップしてください。

Emby

最初はUIの美しさと設定の簡便さから](https://post.smzdm.com/p/735222/)Embyサービスの利用を考えました。しかし、市販の有料サービスは特定の接続方法が必要だったり、定期的なサインインや質問への回答が求められたりと煩雑でした。最も深刻だったのは、ブルーレイ画質の映画(20GB以上)を視聴する際や夜間のピーク時の接続品質の悪さです。加えて、Infuseクライアントによるライブラリスキャン問題(Embyの責任ではないですが)もあり、](https://www.xheldon.com/life/apple-tv-using-and-problem.html#:~:text=infuse 首次使用时,登陆完 Emby 服务后)一度試した後でこの方式は断念しました。

IPTV

地方局の生放送を視聴するため](https://baike.baidu.com/item/iptv/113036)IPTVの利用を検討。通常、ブロードバンド契約時に運営会社が提供する有料IPTVサービスがありますが、私は無料版を使用しています。無料で利用するには、まずクライアント(私はApple TV用iPlay TVを5.99ドルで購入)をインストールし、Githubで公開されている放送ソースアドレス(READMEに使用方法記載)を入力します。これらのアドレスは有志がネットワークから収集した運営会社のIPTVアドレスです。

しかし、この方法の欠点は、ライブストリームソースが不安定なことです。時々手動でアドレスを更新する必要があったり、アドレス内の特定の再生ソースが無効になったりします。何度か経験した後は非常に煩わしく感じ、その後はCCTVのライブ視聴には、スマートフォンのミラーリングか、Android TVにインストールした「新視聴」アプリを使用しています。

現在のソリューション

注意:以下のすべての設定の基本前提は、家庭内のデバイス(Apple TV、R4S、Macなど)が同じネットワークセグメントにあることです。そうでないと相互に認識できません。現在の私のネットワークセグメントアドレスは192.168.7.xで、例えばR4Sは192.168.7.2、メインルーターは192.168.7.1にあります。1つのルーターから出ているものはすべて同じネットワークセグメントにあるため、ここで特に気にする必要はありません。これは単に、設定がうまくいかない場合にこのような原因があるかもしれないという注意です。

  1. R4Sと連携し、阿里雲盤(Aliyun Drive)が提供するWebDAVプロトコルを使用して、Infuseで映画を視聴します。インターネットで見たい映画の名前と「阿里雲盤」を検索して転送するだけで済みます。より高度な方法として、テレビドラマの場合は「ドラマ名 + 阿里雲盤 + スキャン」(エピソード名やポスター、キャストリスト、各シーズンの紹介情報などが整理されており、Infuseでテレビドラマ形式で閲覧できる状態)を検索します。

  2. R4Sと連携し、qBittorrentとJackett検索プラグイン、およびソフトウェアルーターの外付けハードディスクを使用して、映画を外付けハードディスクにダウンロードして視聴します。これにより、コンピュータのSSDを損傷することもなく、コンピュータに追加のソフトウェアをインストールする必要もありません。この方法は、阿里雲盤で何らかの理由によりアクセスできなくなった映画を補完するためのソリューションです。

Image

具体的な実践

以下で説明するR4Sソフトウェアルーターのプラグインはすべて、購入時に販売業者が既にシステムをインストールしてくれたものです。自分で手動でインストールする必要はなく、販売業者に依頼してインストールしてもらえます。

阿里雲盤

R4Sの阿里雲盤プラグイン阿里云盘 WebDAVを使用します。プロジェクトアドレス

Image

プラグインをインストールした後は、非常に簡単に設定できます。主に2つの設定があります。1つはRefresh Tokenで、これはChromeを使用して阿里雲盤のWebページを手動で開き、cmd + opt + iを押してコンソールを開き、Applicationタブで左側のLocal Storageをクリックしてtokenというキーを検索し、下の値の中からrefresh_tokenの値を見つけて、上記の画像に貼り付けるだけです:

Image

注:このrefresh_tokenは、その名の通り、実際のtokenを取得するために使用される値です。コードを確認したところ、そのロジックは117分ごとに再取得する(おそらくtokenは2時間で期限切れになる)ようです。そうでない場合、tokenは期限切れになります。したがって、R4Sが停電したりネットワークが切断された後、阿里雲盤にアクセスできない場合は、このrefresh_tokenを再度取得して入力する必要があります。

ポートは、衝突しない任意の番号を入力すればよく、ここでは8982に設定しています。その後、启用にチェックを入れ、右下の「保存して適用」をクリックすると設定が完了します。これで、ブラウザを使用して直接アクセスできます(家庭のルーターアドレスが192.168.7.2:8982の場合):

Image

次に、Infuseで設定を行い、ローカルネットワーク上のこのWebDAVサービスを認識させます。操作は以下の通りです:設定→ネットワーク→共有→共有の追加:

Image

アドレスは先ほどのローカルネットワークIPアドレスで、詳細設定でポートを入力します。その後、設定→メディアライブラリに進み、阿里雲盤内のフォルダすべてにチェックを入れます。これにより、ホームページでフォルダを確認できるようになります。ファイルを削除または追加した場合、すぐに反映させたい場合は、毎回チェックを入れる/外す操作を行う必要があります:

Image

ホームページビュー:

压缩

Infuseのその他の使用方法は、各自で探ってみてください。

qBittorrent

阿里雲盤では、一部のリソースが何らかの理由でアクセスできなくなることがあります。そのため、人気のドラマや海外のドラマをダウンロードするには、この方法を採用するしかありません。

qBittorrentはマグネットリンクとBTダウンロードをサポートしており、コンピュータに直接このソフトウェアをインストールすることもできます。しかし、BTダウンロードはSSDにダメージを与える可能性があるため、新しく購入したMac Studioでは直接使用したくありません。そのため、ソフトウェアルーター上で実行し、R4Sに外付けハードディスクをマウントして使用します。ルーター上でこのソフトウェアを使用するには、以下のように設定する必要があります:

外付けハードディスクのマウント

自宅に大学時代に購入した500GBのHDD(ディスクパーティションタイプはexFATが推奨、MacのAPFSは認識されないため、Macのディスクユーティリティでフォーマット可能)が引き出しで眠っていたので、活用することにしました。HDDをR4Sに直接接続すると認識されますが、マウントが必要です。これはコンピュータの概念で、ソフトウェアルーターにとっては、USBを通じてシステムに接続された外部ハードウェアが存在するものの、そのハードウェアをどのように扱うかが分からない状態を指します。したがって、外部HDDを接続すると、ソフトウェアルーターは仮想マウントポイント(下記の/dev/sda)を表示し、このHDDがルーターシステムのどのパスにマウントされているかを示します。その後、実際の物理マウントポイント/mnt/のどのパスにこのマウントポイントをマッピングするかを設定する必要があります。

系统-磁盘管理に進むと、外部HDDが認識されていることが確認できます(赤枠で示された部分)。ここで、下の挂载点をクリックし、該当デバイスを追加します:

SCR-20220419-w94

系统-挂载点に進むと、以下のように挂载点が表示されます:

画像では既にマウント済みのため、最初の赤枠が表示されていますが、デフォルトでは存在しません。下のマウントポイントを追加すると、上の已挂载的文件系统に表示されます。注:Linuxで外部デバイスをマウントするパスは通常/mnt下にあります。追加後、容量が外部HDDのものか確認してください。パーティションの関係上、仮想マウントポイント/dev/sda下には2つの物理HDDがマウント可能で、/mnt/sda1は数百MBのみ、/mnt/sda2が実際の読み書き可能なHDDです。

SCR-20220419-wba

その後、Macを使用している場合、Finderの网络で直接このデバイスを発見できます。R4SはデフォルトでSMB共有プログラムを搭載しているため、以下の設定が可能です。さらにカスタマイズしたい場合は、この共有設定を変更できます(ただしR4Sで変更できるのは名前のみです)。

Samba共有の設定

ここで最初にルーターのSamba共有(SMBプロトコル)を設定する理由は、SSHターミナルでルーターにログインし、コマンドラインで設定ファイルを編集する必要がなくなるため、初心者にとって親しみやすいからです。そのため、このステップを最初に配置しました。

ブラウザでルーターの設定ページにアクセスし、网络存储-网络共享に進み、以下のように入力します。ホスト名はFinderに表示される名前で、説明とワークグループはデフォルトのままで構いません。デフォルト状態では自动共享オプションが有効になっており、前節で述べたようにこのステップは実質不要です。ただし、デフォルトで自動共有される場合はルートディレクトリが共有され、/mnt/sda1も表示されてしまいます。この強迫観念を解消するため、下の共享目录を設定します:

SCR-20220419-w73

ここで注意が必要なのは、このページの2番目のタブ编辑模板を設定し、パスワードを使用する設定とsecurity共有タイプをUserから、パスワード不要で共有タイプをShare(匿名接続を許可)に変更することです。そうしないと、毎回アカウントとパスワードの入力が必要になり面倒です:

SCR-20220419-w6i

その後、右下の保存并应用をクリックします。

設定後、MacのFinder-ネットワークで直接確認できます:

Image

また、手動でサーバーに接続することも可能です:

SCR-20220419-wcv

Image

qBittorrentの設定

ソフトウェアルーターの网络存储-qBittorrentプラグインに進み、上記のマウントポイントとマウントディレクトリを/mnt/sda2/として以下のように設定します:

SCR-20220419-wdl

主に設定するのは「設定ファイルの保存パス」と「ダウンロードファイルの保存ディレクトリ」で、外部HDDのアドレス/mnt/sda2以下のパスに変更します(上の画像は起動後の画面で、未起動の場合は「Webページを開く」や「qBittorrent実行中」の表示はありません)。設定後、保存をクリックし、適用はまだ行わず、下载设置タブに進み、启用临时目录オプションを無効にします。そうしないと大量の一時ファイルが生成されます:

SCR-20220419-wdu

その後、保存して適用をクリックします。

次に、qBittorrentのWeb管理インターフェースにアクセスします。ルーターのアドレスに先ほど設定したポート番号192.168.7.2:9091を追加します:

Image

これでインストールは完了です。オンラインで見つけたマグネットリンクやtorrentファイルをダウンロードできます。

もしまだ種子ファイルを探したくない場合、またはオンラインで見つけたマグネットリンクが死んでいてダウンロードできない場合は、以下を続けてください。

qBittorrentのJackett検索プラグインの設定

このプラグインを使用すると、qBittorrent内で直接Jackettサービスを呼び出してリソースを検索し、右クリックでダウンロードできます:

Image

しかし、これはデフォルトの設定ではありません(qBittorrentのWindowsまたはMacクライアントを直接ダウンロードすると、Jackett検索プラグインはデフォルトで有効になっているようです。ただし、ルーターにはデフォルトのプラグインが付属していません)。個別にインストールする必要があります。手順は以下の通りで、画像を直接参照してください:

Image

「新しいプラグインをインストール」をクリックすると、アドレスの入力が求められます。このアドレスはこちらから取得するか、または直接以下のアドレスを入力しても構いません(どちらも同じです):https://raw.githubusercontent.com/qbittorrent/search-plugins/master/nova3/engines/jackett.py

その後、インストール済みの検索プラグインにこのプラグインのリストが表示されます。

注:上記のインストールは、qBittorrentのJackettプラグインをインストールしただけで、qBittorrentがJackettと連携できるようにするものです。これはSafariにThunderプラグインをインストールするようなものです。この時点ではまだ使用できません。Thunderソフトウェア自体をインストールする必要があるのと同様に、Jackettプラグインだけでは不十分で、Jackettサービスもインストールする必要があります。

Jackettサービスのインストール

ルーターに直接Jackettをインストールする手順は私にはうまくいきませんでした。常にエラーが発生し、おそらく何らかの環境設定が不足しているためです。最終的には諦めました。私はMacローカルでDockerを使用するため、この手順をMacローカルに移行し、qBittorrentのJackettプラグインを設定するだけで済むようにしました。

Dockerは公式サイトこちらからダウンロードできます。ダウンロード後、ターミナルでdockerと入力して環境変数が正しくインストールされているかテストできます。

DockerにJackettをインストールするのは簡単で、手順は公式のこちらにあります。以下に簡単に説明します:

ターミナルを開き、公式のインストール手順にあるdocker cliコードをコピーします:

1
2
3
4
5
6
7
8
9
10
11
docker run -d \
--name=jackett \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Asia/Shanghai \
-e AUTO_UPDATE=true `#optional` \
-p 9117:9117 \
-v <本地硬盘路径(去掉本句左右两侧尖括号)>:/config \
-v <本地硬盘路径(去掉本句左右两侧尖括号)>:/downloads \
--restart unless-stopped \
lscr.io/linuxserver/jackett

例えば上記の設定では、私のローカルハードドライブのパスは~/Code/Docker/config~/Code/Docker/downloadsです。この設定を簡単に説明すると、ローカルポート9117をDockerコンテナの9117ポートにマッピングし、自動更新を有効にし、予期せず停止した場合を除いて再起動を禁止します。

その後、Dockerでこのサービスが表示されます(デフォルトで直接起動します):

Image

次に、ブラウザでこのアドレスにアクセスします:127.0.0.1:9117(または以下の画像のようにローカルネットワークIPにアクセスしても同じです)。JackettのWeb設定ページが表示されます:

Image

ここでこのAPIキーをメモしてください。次の手順で使用します。次に、qBittorrentのJackettを設定します。

Jackettはローカルにインストールされているため、ルーターにインストールされたqBittorrentのプラグインがローカルのJackettにアクセスできるようにするには、ローカルネットワークIPを知る必要があります。システム設定で確認できます:

Image

その後、FinderでqBittorrentの設定ディレクトリを開きます(先ほどqBittorrentの設定ディレクトリを設定したのを覚えていますか?ソフトルーターの外付けハードドライブに保存しました)。Finderのパスはconfig/qBittorrent/data/nova3/engines/jackett.jsonです。このアドレスとポートを設定します:

Image

次に、qBittorrentのページを更新し、プラグイン設定を開くと、このアドレスとプラグインが正常に設定されていることが確認できます:

Image

これで設定は完了です。

注:Jackettを設定した後、JackettサービスにIndexerを追加して、Jackettがどのウェブサイトから種子を検索するかを指定する必要があります。このプロセスは比較的簡単です。以下を参照してください:

「Add Indexer」をクリックし、表示されるインターフェースの右側にある「+」をクリックします。私はすべてのPublicタイプで言語が中国語または英語のサイトを追加しました(追加後、このリストには追加済みのサイトは表示されないため、スクリーンショットには中国語、英語、Publicのサイトはほとんど表示されていません)。Privateのサイトには会員のcookieが必要です:

Image

Image

Categoriesは、その名の通りウェブサイトのリソースタイプです。XXXはご存知の通りですが、このようなリソースはダウンロードする人が少ないため、BTでダウンロードするのは難しいです。BTの原理は、ダウンロードする人が多ければ多いほど、ダウンロードが速くなるからです。

また、いくつかの歴史的な理由により、国内のリソースは非常に少ないです。一方、海外のリソースはどれほど古くても、常に多くて速いです。まあ、大きな環境の下では私たち全員に責任があります。ここではこれ以上は触れません。

例えば、2年前の中国映画「疯狂的外星人」をダウンロードすると:

SCR-20220421-x9x

シードとリソースが非常に少ないです。しかし、10年以上前の海外映画「Harry Potter」をダウンロードすると、多くのリソースがあります:

SCR-20220421-x8k

WechatIMG29

これでルーター側の設定は終了です。最後のステップは、Infuseなどのプレーヤーにソフトルーターの外付けハードドライブを追加し、上記の映画を視聴することです。

Infuseの設定

この手順は比較的簡単で、先ほどWebDAVを設定した方法と同じですが、今回はWebDAVプロトコルをSMBプロトコルに変更します。直接スクリーンショットを見てみましょう:

Image

ここで位址はソフトルーターのアドレスで、私の場合は192.168.7.2です。ポートはデフォルトの445で問題ありません。

以下は効果図です:

Image

压缩2

テスト

Aliyun Driveの速度テストを試してみましょう:

Image

ソフトルーターに接続した外付けHDDの速度テストを試してみましょう:

Image

ローカルの外付けHDD(LAN経由)がリモートマウントしたAliyun Drive(HTTP経由)よりも遅い理由は、SMBに速度制限があるためです。

後書き

電子製品やソフトウェアの目的は、人間中心のサービスを提供することであり、人間がソフトウェアに合わせるべきではありません。これがMacOSの評価がWindowsよりも高い理由でもあります。毎日こうした設定に時間を費やしたい人はいないでしょう。誰もが箱から出してすぐ使えるテレビ、TVボックス、テレビソフトを望んでいますが、現実の様々な制約によってそれが難しい場合もあります。そのような時は面倒がらず、設定が苦手な人(例えば家族)のために、箱から出してすぐ使える環境を整えてあげることも、一種の幸せではないでしょうか。

皆さんが自由に映像を楽しめることを願っています!

- EOF -
この記事の初出: 私の家庭映画鑑賞の軌跡 - Xheldon Blog