{"id":20055724,"url":"https://github.com/tsukumijima/konomitv","last_synced_at":"2025-04-04T13:13:36.439Z","repository":{"id":38876106,"uuid":"400551970","full_name":"tsukumijima/KonomiTV","owner":"tsukumijima","description":"KonomiTV: Kept Organized, Notably Optimized, Modern Interface TV media server","archived":false,"fork":false,"pushed_at":"2024-04-30T21:00:13.000Z","size":106921,"stargazers_count":526,"open_issues_count":1,"forks_count":30,"subscribers_count":13,"default_branch":"master","last_synced_at":"2024-05-12T00:22:01.149Z","etag":null,"topics":["dtv","edcb","fastapi","konomitv","mirakurun","python","tortoise-orm","uvicorn","vue","vuetify"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tsukumijima.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"License.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-08-27T15:20:10.000Z","updated_at":"2024-06-12T02:20:24.329Z","dependencies_parsed_at":"2023-10-02T18:31:37.855Z","dependency_job_id":"81c008ff-5bbb-4438-83dd-ae8adb904535","html_url":"https://github.com/tsukumijima/KonomiTV","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsukumijima%2FKonomiTV","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsukumijima%2FKonomiTV/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsukumijima%2FKonomiTV/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsukumijima%2FKonomiTV/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tsukumijima","download_url":"https://codeload.github.com/tsukumijima/KonomiTV/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247182420,"owners_count":20897381,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dtv","edcb","fastapi","konomitv","mirakurun","python","tortoise-orm","uvicorn","vue","vuetify"],"created_at":"2024-11-13T12:49:15.943Z","updated_at":"2025-04-04T13:13:36.414Z","avatar_url":"https://github.com/tsukumijima.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# \u003cimg width=\"350\" src=\"https://user-images.githubusercontent.com/39271166/134050201-8110f076-a939-4b62-8c86-7beaa3d4728c.png\" alt=\"KonomiTV\"\u003e　\u003c!-- omit in toc --\u003e\n\n\u003cimg width=\"100%\" src=\"https://github.com/user-attachments/assets/6971f354-0418-4305-bf6d-b061142ffec6\"\u003e\u003cbr\u003e\n\n**いろいろな場所とデバイスでテレビと録画を快適に見れる、モダンな Web ベースのソフトウェアです。**\n\nユーザーのさまざまな好みがつまった、温かみのある居心地の良い場を作りたいという願いを込めて、KonomiTV と名付けました。  \n手元の PC・タブレット・スマホをテレビにすることを考えたときに、まったく新しく、使いやすくて快適な視聴体験を創出したい一心で開発を進めています。\n\n計画はかなり壮大ですが、2025年2月時点ではおもに以下の機能のみ実装されています。\n\n- **「テレビをみる」**: 高画質/低遅延なリアルタイム視聴に対応し、ニコニコ実況や Twitter のコメントとともに番組を楽しめる、デバイスを選ばない快適な視聴体験\n- **「ビデオをみる」**: 動画配信サービスのような洗練された UI と、当時の盛り上がりを追体験できるコメント再生機能を備えた、録画番組をゆったりと楽しめる視聴体験 **[🎉NEW!]**\n- **「マイリスト」**: 気になる録画番組をさっと登録して、ゆっくり観たいときに思い出せる、あなたのための視聴リスト **[🎉NEW!]**\n- **「視聴履歴」**: 録画番組の視聴状況を自動で追跡し、途中で中断した場合も前回の続きから再開して、あなたの番組鑑賞をサポート **[🎉NEW!]**\n- **「KonomiTV アカウント」**:  外出先のスマホでも自宅の PC でも、いつでもどこでも同じ設定で使える\n- **「クライアント設定」**: KonomiTV のクライアントアプリ (PWA) の細かな設定が可能な設定画面\n- **「サーバー設定」**: KonomiTV サーバーの動作環境や配信設定をカスタマイズできる設定画面\n\n今後もより快適な視聴体験を実現すべく、「番組表」「録画予約管理（EDCB 連携）」「録画番組の自動エンコード」「キャプチャ画像の管理」など、さらに便利で使いやすい機能を順次追加していく予定です。\n\n## 目次 \u003c!-- omit in toc --\u003e\n- [設計思想](#設計思想)\n- [動作環境](#動作環境)\n  - [サーバー](#サーバー)\n  - [クライアント](#クライアント)\n- [備考・注意事項](#備考注意事項)\n- [事前準備](#事前準備)\n  - [チューナーのドライバーを px4\\_drv に変更する](#チューナーのドライバーを-px4_drv-に変更する)\n  - [EDCB の事前設定](#edcb-の事前設定)\n  - [QSVEncC・NVEncC・VCEEncC・rkmppenc に対応した GPU ドライバーのインストール](#qsvenccnvenccvceenccrkmppenc-に対応した-gpu-ドライバーのインストール)\n    - [Windows](#windows)\n    - [Linux](#linux)\n  - [Tailscale の導入](#tailscale-の導入)\n- [サーバーのインストール/アップデート](#サーバーのインストールアップデート)\n  - [Windows](#windows-1)\n  - [Linux](#linux-1)\n  - [KonomiTV にアクセスする](#konomitv-にアクセスする)\n  - [デスクトップアプリ・スマホアプリとして使う](#デスクトップアプリスマホアプリとして使う)\n  - [フィードバックのお願い](#フィードバックのお願い)\n- [付録](#付録)\n  - [`https://aa-bb-cc-dd.local.konomi.tv:7000/` の URL について](#httpsaa-bb-cc-ddlocalkonomitv7000-の-url-について)\n  - [設定ファイルの編集](#設定ファイルの編集)\n    - [バックエンドの設定](#バックエンドの設定)\n    - [エンコーダーの設定](#エンコーダーの設定)\n    - [リッスンポートの設定](#リッスンポートの設定)\n    - [録画済み番組の保存先フォルダの設定](#録画済み番組の保存先フォルダの設定)\n    - [アップロードしたキャプチャ画像の保存先フォルダの設定](#アップロードしたキャプチャ画像の保存先フォルダの設定)\n  - [局ロゴ](#局ロゴ)\n- [FAQ](#faq)\n  - [Web UI にアクセスすると 502 Bad Gateway エラーが表示される](#web-ui-にアクセスすると-502-bad-gateway-エラーが表示される)\n  - [Web UI にアクセスすると「Client sent an HTTP request to an HTTPS server.」と表示される](#web-ui-にアクセスするとclient-sent-an-http-request-to-an-https-serverと表示される)\n  - [Web UI にアクセスすると「このサイトは安全に接続できません」「～から無効な応答が送信されました。」(ERR\\_SSL\\_PROTOCOL\\_ERROR) と表示される](#web-ui-にアクセスするとこのサイトは安全に接続できませんから無効な応答が送信されましたerr_ssl_protocol_error-と表示される)\n  - [Web UI にアクセスすると、DNS エラーが表示される](#web-ui-にアクセスするとdns-エラーが表示される)\n  - [ライブストリーミングの視聴が安定しない・途切れ途切れになる](#ライブストリーミングの視聴が安定しない途切れ途切れになる)\n    - [全般](#全般)\n    - [KonomiTV サーバーのある自宅の Wi-Fi につないで視聴しているとき](#konomitv-サーバーのある自宅の-wi-fi-につないで視聴しているとき)\n    - [外出先 (自宅以外) から Tailscale 経由で視聴しているとき](#外出先-自宅以外-から-tailscale-経由で視聴しているとき)\n- [開発者向け情報](#開発者向け情報)\n  - [開発版 KonomiTV のインストール (開発環境の構築)](#開発版-konomitv-のインストール-開発環境の構築)\n  - [サーバーの起動](#サーバーの起動)\n  - [Windows / PM2 サービスのインストールと起動](#windows--pm2-サービスのインストールと起動)\n    - [Windows サービス](#windows-サービス)\n    - [PM2 サービス](#pm2-サービス)\n  - [クライアントの開発・ビルド](#クライアントの開発ビルド)\n- [寄付・支援について](#寄付支援について)\n- [Special Thanks](#special-thanks)\n- [License](#license)\n\n## 設計思想\n\n\u003cimg width=\"100%\" src=\"https://user-images.githubusercontent.com/39271166/153731898-c9743df8-794b-4498-ac25-017662f38759.png\"\u003e\u003cbr\u003e\n\u003cimg width=\"100%\" src=\"https://github.com/user-attachments/assets/e2a83d19-5716-4268-840d-cee4b985cb68\"\u003e\u003cbr\u003e\n\nいわゆる TS 抜きでテレビを見ている人の多くが、TVTest でテレビを見て、録画をファイルベースで管理して、録画ファイルをメディアプレイヤーで開いて…といった、ファイルやアーキテクチャベースの視聴の仕方をされているかと思います。  \nですが、その中で必ず出てくる BonDriver を選択したり、ファイルをフォルダの中から探しだして選択したり、1話を見終わったから2話を開き直したりといった手間は、本来その番組を視聴し、心いくまで楽しむにあたって、不要な工程ではないかと考えます。雑念、といったほうが分かりやすいでしょうか。  \n\n一方世間のトレンドに目を向けてみると、Netflix・Amazon Prime Video・AbemaTV のような配信サイトが幅を利かせています。  \nこれらのサイトが流行っているのは、（良い意味で）何も考えなくても、いつでもどこでも気軽に快適に映像コンテンツを見まくれる、そんなユーザー体験が実現されているからです。  \n配信サイトとテレビ・録画は「リアルタイムで配信されている」「事前に選んだコンテンツしか視聴できない」など大きな差異もありますが、映像コンテンツを視聴するインターフェイスという点では共通しています。  \nそこで、テレビと録画の視聴といういまだレガシーな視聴体験が残っている分野に、優れた UX を実現している配信サイトでの概念を取り入れ、まるで自分だけの Netflix のような視聴体験を演出できれば面白いのではないか？と考えました。その仮説と理想を実現すべく、鋭意開発を続けています。\n\nこうした考えから、設計思想として「映像コンテンツを視聴し楽しむ」ために不要な概念や操作を可能なかぎり表層から排除・隠蔽し、ユーザーが本当の目的以外の雑念に気を取られないようなシステムを目指しています。\n\nたとえば TVRemotePlus であった「ストリーム」の概念を KonomiTV では排しています。チャンネルをクリックするだけですぐに視聴できるほか、裏側ではチューナーの共有、同じチャンネルを複数のデバイスで見ているなら自動的に共聴するといった高度な仕組みも備え、ユーザーがストレスなく視聴できるように設計されています。  \n画質の切り替えの UI も、KonomiTV では多くの動画サイトと同じようにプレイヤー内に統合されています。裏側では毎回エンコーダーを再起動しているのですが、表層からはあたかも事前に複数の画質が用意されているかのように見えるはずです。\n\n一般的な PC で動かす以上使えるリソースには限界がありますし、全てにおいて Netflix のような機能を実装できるわけではありません。それでも使えるリソースの範囲で最大限使いやすいソフトウェアにしていければと、細部に様々な工夫を取り入れています。\n\n当然ながら表に泥臭い処理を見せないようにしている分、裏側の実装がそれなりに大変です。細かいところまで調整しているとかなりの手間と時間がかかります。  \nそれでも私が頑張れば私を含めたユーザーの視聴体験が向上するわけで、必要な犠牲かなと思っています。\n\n\u003cimg width=\"100%\" src=\"https://github.com/user-attachments/assets/933956b2-acd5-45c5-8226-c857d12f2a2a\"\u003e\u003cbr\u003e\n\u003cimg width=\"100%\" src=\"https://github.com/user-attachments/assets/feb4661b-dcd5-4137-99b5-cb2f2024e9fb\"\u003e\u003cbr\u003e\n\n## 動作環境\n\n### サーバー\n\n- **Windows 10/11 PC または Linux (Ubuntu) PC**\n  - **Windows 10 Pro と Ubuntu 20.04 LTS の PC でのみ動作確認を行っています。**\n    - Windows 11 でも動作するとは思いますが、手元に環境がないため、検証は行っていません（動作報告はいただいています）。\n    - 32bit 版の Windows 10 には対応していません。\n    - Windows サービスを特殊な方法で強引に動かしている関係で、Active Directory などの企業向けユーザー認証が必要な環境では動作しません。\n  - **Linux PC は Ubuntu (20.04 LTS 以降) / Debian (11 Bullseye 以降) のみサポートしています。**\n    - Linux PC では Docker 上にインストールすることもできます（後述）。\n      - Ubuntu 24.04 LTS での動作は完全に未検証です。おそらく Docker でインストールした方がトラブルが少ないと思います。\n    - Debian での動作確認はしていません。おそらく動くとは思いますが…\n    - RedHat 系 OS・Arch Linux でも動作するかもしれませんが、開発/検証リソースが大幅に不足しているため、サポートは行いません。\n      - できるだけ Ubuntu の利用を推奨しますが、もし Ubuntu 以外の OS にインストールする際は、Docker でのインストールを推奨します。\n      - ビルド済みのサードパーティーライブラリは glibc 2.31 以上に依存しています。Docker を使わずにインストールする場合、[glibc 2.30 以下を採用する OS](https://repology.org/project/glibc/versions) では動作しません。\n    - ARM 向けには、Rockchip RK3568 / RK3588 SoC のハードウェアエンコーダーに対応しています。\n      - arm64 のみに対応しています。armhf などの 32bit ARM には対応していません。\n      - ラズパイ4 / ラズパイ5はハードウェアエンコーダーが非力なのと入手性が微妙なため、サポート予定はありません。\n        - ラズパイ5に至ってはハードウェアエンコーダー自体が搭載されていない…\n      - ARM 向けのインストーラーも用意していますが、テスト不足のため、動作する保証はありません。\n- **EDCB または Mirakurun / mirakc**\n  - KonomiTV のバックエンドには、EDCB または Mirakurun / mirakc のいずれかを選択できます。\n  - **EDCB は、220122 以降のバージョンの [xtne6f 版 EDCB](https://github.com/xtne6f/EDCB) / [tkntrec 版 EDCB](https://github.com/tkntrec/EDCB) にのみ対応しています。**\n    - **220122 以前のバージョンの EDCB では正常に動作しません。\u003cins\u003e「人柱版10.66」などの古いバージョンをお使いの場合は、EDCB のアップグレードが必要です。\u003c/ins\u003e**\n    - 230922 以降の xtne6f 版 / tkntrec 版 EDCB に更新すると EpgDataCap_Bon の起動が少し高速化され、KonomiTV でより快適にチャンネルを切り替えられるようになります。**  \n    - **最新の EDCB のビルド済みアーカイブは [tsukumijima/DTV-Builds](https://github.com/tsukumijima/DTV-Builds) にて配布しています。** こだわりがなければ、DTV-Builds で配布しているアーカイブの利用を強くおすすめします (動作確認も DTV-Builds で配布しているアーカイブで行っています)。\n    - **KonomiTV と連携するには、さらに EDCB に事前の設定が必要になります（後述）。**\n    - [サーバー設定] → [常に Mirakurun / mirakc から放送波を受信する] をオンにすると、番組情報取得は EDCB から、放送波の受信は Mirakurun / mirakc から行えます。\n      - Linux 環境ではチャンネル選局速度が向上するため、Mirakurun / mirakc サーバーが別途ある場合は強くおすすめします。\n    - 240622 以降で実装された Linux 版 EDCB での動作確認は行っていません。私の開発環境では [EDCB-Wine](https://github.com/tsukumijima/EDCB-Wine) で安定稼働しています。\n  - **Mirakurun は 3.9.0 以降を推奨します。**\n    - 3.8.0 以下のバージョンでも動作しますが、諸問題で推奨しません。\n  - **Mirakurun 互換チューナーサーバーである [mirakc](https://github.com/mirakc/mirakc) も利用できます。**\n    - 動作確認は最新版のみで行っています。\n    - mirakc は局ロゴの収集に対応していないため、局ロゴが同梱されていないチャンネルでは、常にデフォルトの局ロゴが利用されます。\n  - リバースプロキシなどで Mirakurun / mirakc に Basic 認証が掛かっていると正常に動作しません。\n\n\u003e [!IMPORTANT]\n\u003e **KonomiTV サーバー本体は Windows と Linux の両方で動作するように設計されていますが、メディア配信サーバーとして動作するために、多くの外部ソフトウェアを必要とします。**  \n\u003e 実行環境である CPython や、FFmpeg / QSVEncC などの動画エンコードやストリーミングに必要なツール類は、すべて [KonomiTV のサードパーティーライブラリ](https://github.com/tsukumijima/KonomiTV/blob/master/.github/workflows/build_thirdparty.yaml) に同梱されており、OS に依存せず単独で動作するよう細かく調整されています。  \n\u003e そのため、通常は Linux 環境であっても追加のパッケージインストールは必要ありませんが、検証できていない新しい OS ではうまく動作しない可能性もあります。\n\n### クライアント\n\n- **PC: Google Chrome**\n  - **Windows 版 Microsoft Edge は https://github.com/tsukumijima/KonomiTV/issues/58 の問題 (Edge 側のバグ) があるため非推奨です。** \n    - 仮にこの問題がなかったとしても、Microsoft Edge では通信節約モード (HEVC) での視聴に有料の [HEVC ビデオ拡張機能](https://apps.microsoft.com/detail/9NMZLZ57R3T7) プラグインが別途必要になります。Chrome ではこのような制約はないため、Chrome の利用をおすすめします。 \n  - Firefox でも動作するはずですが、コメント描画が重く、コメント表示をオンにするとライブストリーミングが時折止まることが確認されています。  \n    - 動作確認も基本行っておらず、積極的なサポートはしていません。Chrome を使うことをおすすめします。\n  - Mac Safari はサポートしていません。Mac でも Chrome を使ってください。\n- **Android: Google Chrome**\n  - Android の Firefox はサポートしていません。\n- **iPhone (iOS) / iPad (iPadOS): Safari**\n  - **iOS / iPadOS 17.1 以降のみに対応しています。17.0 以下の iOS / iPadOS バージョンのサポートは廃止されました。**\n    - iOS 17.1 で ManagedMediaSource API がサポートされたため、KonomiTV 0.9.0 以降では iOS / iPadOS でも PC・Android と同じ再生方式 (mpegts.js) で再生します。\n    - メンテナンスコストの観点から、以前の LL-HLS 再生方式は廃止されました。iPadOS では 17.0 以下でも一応動作しますが、iOS では 17.1 以降でないと視聴開始に失敗します。\n  - 動作確認は iOS / iPadOS 17.1 以降で行っています。\n  - **iOS / iPadOS の Chrome (WKWebView) はサポートしていません。**\n  - iOS Safari (iPadOS を除く) では Fullscreen API がサポートされていないため、フルスクリーンボタンは動作しません。\n  - PWA でも動作しますが、長年修正されていない Safari のバグの影響で、PWA モードでは Picture-in-Picture ボタンが動作しません。\n  - Safari は全体的にバグが多く開発が大変なため、全体的にあまり動作確認を行えていません。修正できていない不具合があるかもしれません。\n\n## 備考・注意事項\n\n- **まだ開発中の β 版です。当初よりかなり安定してきましたが、まだ完璧に保証ができる状態ではありません。**\n  - **KonomiTV 0.12.0 以降では、構想から4年の歳月を経て録画番組の再生機能が実装されました！🎉🎊**  \n    - **ライブ視聴・録画再生の両方で TVRemotePlus の完全上位互換となっています。** TVRemotePlus はすでに開発を終了しているため、移行をお勧めします。\n  - L字画面のクロップなどの細かな設定も含めて、TVRemotePlus よりも大幅に改善されているはずです。\n- **スマートフォンでは、最低限 iPhone SE2 (4.7インチ) 以上の画面サイズが必要です。**\n  - 快適に利用するには、画面サイズが 6.1 インチ以上の端末をおすすめします。\n  - iPhone 5s (4インチ) サイズの端末には原則対応しておらず、画面が大幅に崩れます。\n- **Fire タブレット (Fire HD 10 (2021) / Fire HD 8 (2022)) でも動作します。**\n  - Fire HD 10 (2021) では Google Play を導入した上で、Google Play 経由で Chrome をインストールしてください。\n  - Fire HD 8 (2022) では現状 Google Play が導入できないため、適宜 Chrome の APK を入手してインストールしてください。Chrome は、(Google アカウントとの同期機能以外は) GMS がインストールされていなくても動作します。\n  - **Fire HD 10 (2021) などの一部のローエンド Android (特に MediaTek SoC 搭載) デバイスでは、1080p 以上の映像描画が不安定なことが確認されています。** その場合は 720p 以下の画質を選択することをおすすめします。\n- **今後、開発の過程で設定や構成が互換性なく大幅に変更される可能性があります。**\n- **ユーザービリティなどのフィードバック・不具合報告・Pull Requests (PR) などは歓迎します。**\n  - 技術スタックはサーバー側が Python 3.11 + [FastAPI](https://github.com/tiangolo/fastapi) + [Tortoise ORM](https://github.com/tortoise/tortoise-orm) + [Uvicorn](https://github.com/encode/uvicorn) 、クライアント側が Vue.js 3.x + [Vuetify](https://github.com/vuetifyjs/vuetify) 3.x の SPA です。\n    - Vuetify は補助的に利用しているだけで、大部分は独自で書いた SCSS スタイルを適用しています。\n  - コメントを多めに書いたりそれなりにきれいにコーディングしているつもりです。少なくとも TVRemotePlus なんかよりかは読みやすいコードになっている…はず。\n  - 他人が見るために書いたものではないのであれですが、一応自分用の [開発資料](https://mango-garlic-eff.notion.site/KonomiTV-90f4b25555c14b9ba0cf5498e6feb1c3) と [DB設計](https://mango-garlic-eff.notion.site/KonomiTV-544e02334c89420fa24804ec70f46b6d) 的なメモを公開しておきます。もし PR される場合などの参考になれば。\n    - 2025年2月時点では両方のドキュメントとも3年以上全く更新できていないため、あくまで参考程度にご覧ください。\n\n\u003cimg width=\"100%\" src=\"https://github.com/user-attachments/assets/29ca62cb-056d-4d50-af59-bf031199355b\"\u003e\u003cbr\u003e\n\u003cimg width=\"100%\" src=\"https://github.com/user-attachments/assets/bb4d681e-91ba-410a-95a3-c77bdcaec073\"\u003e\u003cbr\u003e\n\n## 事前準備\n\n### チューナーのドライバーを px4_drv に変更する\n\n必須ではありませんが、**Windows で PLEX 製チューナーをお使いの方は、事前にドライバーを [px4_drv for WinUSB](https://github.com/tsukumijima/px4_drv) に変更しておくことを強く推奨します。**  \npx4_drv では、公式ドライバーとの比較で、チューナーの起動時間が大幅に短縮されています。  \nその分 KonomiTV での視聴までにかかる待機時間も速くなるため（5秒以上速くなる）、より快適に使えます。一部の新しいチューナーへの対応も追加されています。  \n\n**px4_drv を導入すると、ほかにもドロップが大幅に減って安定するなど、たくさんのメリットがあります！**  \n内蔵カードリーダーが使えないこと、BonDriver の差し替えが必要になることだけ注意してください。\n\n\u003e [!NOTE]  \n\u003e px4_drv for WinUSB のビルド済みアーカイブは [tsukumijima/DTV-Builds](https://github.com/tsukumijima/DTV-Builds) にて配布しています。\n\n### EDCB の事前設定\n\n\u003cimg width=\"613\" src=\"https://user-images.githubusercontent.com/39271166/201383288-7bcda592-bffd-4a15-b975-ced2b66e4289.png\"\u003e\u003cbr\u003e\n\n**EDCB バックエンドでは、いくつか EDCB に事前の設定が必要です。**  \n**\u003cins\u003eこの事前設定を行わないと KonomiTV は正常に動作しません。\u003c/ins\u003e 必ず下記のとおりに設定してください。**\n\n**また、必ず 220122 以降のバージョンの [xtne6f 版 EDCB](https://github.com/xtne6f/EDCB) / [tkntrec 版 EDCB](https://github.com/tkntrec/EDCB) を利用していることを確認してください。**  \n現在利用している EDCB のバージョンは、EpgTimer の設定ウインドウの下に表示されています。**KonomiTV でサポートしていない古い EDCB では、このバージョン表示自体がありません。**\n\n\u003e [!NOTE]  \n\u003e **230922 以降の xtne6f 版 / tkntrec 版 EDCB に更新すると EpgDataCap_Bon の起動が少し高速化され、KonomiTV でより快適にチャンネルを切り替えられるようになります。**\n\n**[動作環境] に記載のとおり、\u003cins\u003e220122 以前や「人柱版10.66」などの古いバージョンをお使いの場合は、EDCB のアップグレードが必要になります。\u003c/ins\u003e**  \n**最新版の EDCB のビルド済みアーカイブは [tsukumijima/DTV-Builds](https://github.com/tsukumijima/DTV-Builds) にて配布しています。**  \n特にこだわりがなければ、このビルド済みアーカイブで事前に EDCB を最新版にアップグレードしておいてください。\n\n-----\n\n\u003cimg width=\"664\" src=\"https://user-images.githubusercontent.com/39271166/201383475-7d5f6077-fb9a-452d-87a0-38c448a5e744.png\"\u003e\u003cbr\u003e\n\n**EpgTimer を開き、[設定] → [動作設定] → [全般] から、[EpgTimerSrv の設定画面を開く] をクリックして、EpgTimerSrv の設定画面を開きます。**  \nさらに [その他] タブに切り替え、以下のとおりに設定してください。\n\n- **[視聴に使用する BonDriver] に BonDriver を追加する**\n  - **EDCB に登録している BonDriver のうち、ここで設定した BonDriver だけが KonomiTV での視聴に利用されます。**\n  - [視聴に使用する BonDriver] に追加した BonDriver がすべて録画に使われているときは、KonomiTV からは視聴できません（チューナー不足と表示されます）。\n  - また、KonomiTV での視聴中に録画が開始されたとき、その時点でチューナーが足りない場合は録画予約が優先され、KonomiTV 向けのストリーム配信は停止されます。\n- **[ネットワーク接続を許可する (EpgTimerNW 用)] にチェックを入れる**\n  - この設定にチェックを入れることで、KonomiTV が TCP API 経由で EDCB と通信できるようになります。\n- **[ネットワーク接続を許可する (EpgTimerNW 用)] → [アクセス制御] に、`+127.0.0.0/8,+10.0.0.0/8,+172.16.0.0/12,+192.168.0.0/16,+169.254.0.0/16,+100.64.0.0/10` と入力する**\n  - [プライベート IP アドレス](https://wa3.i-3-i.info/word11977.html) と [Tailscale](https://tailscale.com/) の [100.x.y.z](https://tailscale.com/kb/1015/100.x-addresses/) アドレスからのアクセスを許可する設定です。\n  - この数字の羅列の意味を理解している方以外は、そのままコピペして貼り付けることを強くおすすめします。\n- **[ネットワーク接続を許可する (EpgTimerNW 用)] → [IPv6] のチェックを外す**\n  - この設定にチェックを入れると、**IPv6 アドレスでアクセスできるようになる代わりに、IPv4 アドレスでのアクセスが一切できなくなります (落とし穴…)。**\n  - [IPv4/IPv6 両対応にする設定ではない](https://github.com/xtne6f/EDCB/blob/work-plus-s-220921/Document/Readme_Mod.txt#L256) ため、チェックを外すことを強くおすすめします。\n- **xtne6f 版 EDCB の場合、[EpgTimerSrv の応答を tkntrec 版互換にする (要再起動)] にチェックを入れる**\n  - EDCB から局ロゴを取得する際に必要です。変更を適用するには、EpgTimerSrv (EpgTimer Service) を再起動してください。\n  - tkntrec 版 EDCB では既定で有効になっています（設定項目自体がありません）。\n\n-----\n\n\u003cimg width=\"570\" src=\"https://user-images.githubusercontent.com/39271166/201386157-451f84cb-38a2-44dd-b8e7-4c2b461c90ed.png\"\u003e\u003cbr\u003e\n\n**また、EpgDataCap_Bon にも設定が必要です。**  \n**EpgDataCap_Bon を開き、[設定] → [ネットワーク設定] → [TCP送信] から、[SrvPipe] を選択して [追加] ボタンをクリックしてください。**\n送信先一覧に `0.0.0.1:0-29 (SrvPipe)` と表示されていれば OK です。\n\n\u003e [!NOTE]  \n\u003e SrvPipe とは、EpgDataCap_Bon で受信した放送波を EpgTimerSrv (EpgTimer Service) に渡すための、EDCB 固有の特殊な名前付きパイプのことです。  \n\u003e KonomiTV は SrvPipe を経由して EDCB から放送波を受信しているため、この設定を忘れると、テレビのライブストリーミングができません。\n\n\u003e [!NOTE]  \n\u003e 必須ではありませんが、この機会に [設定] → [動作設定] → [全サービスを処理対象とする] のチェックを外しておくことを推奨します。\n\nこのほか、**リモート PC の KonomiTV から EDCB にアクセスする場合は、EpgTimerSrv.exe にファイアウォールが掛かっていると接続に失敗します。**  \n適宜ファイアウォールの設定を変更し、EDCB に接続できるようにしておいてください。\n\n### QSVEncC・NVEncC・VCEEncC・rkmppenc に対応した GPU ドライバーのインストール\n\nKonomiTV は、[QSVEncC](https://github.com/rigaya/QSVEnc) (Intel QSV)・[NVEncC](https://github.com/rigaya/NVEnc) (NVIDIA NVENC)・[VCEEncC](https://github.com/rigaya/VCEEnc) (AMD VCE)・[rkmppenc](https://github.com/rigaya/rkmppenc) (Rockchip ARM SoC) の4つのハードウェアエンコーダーに標準で対応しています。\n\n\u003e [!IMPORTANT]  \n\u003e FFmpeg (ソフトウェアエンコーダー) は遅い上に CPU 負荷がかなり高くなるため、ハードウェアエンコーダーの利用を強くおすすめします。  \n\u003e FFmpeg での積極的な動作確認は行っていません。\n\n#### Windows\n\n- QSVEncC：[Intel Graphics Driver](https://downloadcenter.intel.com/ja/product/80939/Graphics-Drivers)\n- NVEncC：[NVIDIA Graphics Driver](https://www.nvidia.co.jp/Download/index.aspx)\n- VCEEncC：[AMD Graphics Driver](https://www.amd.com/ja/support)\n\nそれぞれのハードウェアエンコーダーを使用するには、対応した GPU ドライバーのインストールが必要です。  \n基本的にすでにインストールされていると思います。\n\n\u003e [!NOTE]  \n\u003e 古いドライバーを使用している場合は、この機会に最新のドライバーにアップデートしておくことをおすすめします。ドライバーが古すぎると、ハードウェアエンコードに失敗する場合があります。\n\n#### Linux\n\n**QSVEncC では、別途 Intel Media Driver のインストールが必要です。**\n\n\u003e [!WARNING]  \n\u003e **Linux 版の Intel QSV は、Broadwell (第5世代) 以上の Intel CPU でのみ利用できます。**  \n\u003e そのため、Haswell (第4世代) 以下の CPU では、Intel Media Driver のインストール有無にかかわらず、QSVEncC を利用できません。  \n\u003e なお、Windows 版の Intel QSV は、Haswell (第4世代) 以下の CPU でも利用できます。\n\n```bash\n\n# Ubuntu 22.04 LTS\ncurl -fsSL https://repositories.intel.com/gpu/intel-graphics.key | sudo gpg --dearmor --yes -o /usr/share/keyrings/intel-graphics-keyring.gpg\necho 'deb [arch=amd64 signed-by=/usr/share/keyrings/intel-graphics-keyring.gpg] https://repositories.intel.com/gpu/ubuntu jammy client' | sudo tee /etc/apt/sources.list.d/intel-graphics.list \u003e /dev/null\n# Ubuntu 20.04 LTS (対応する GPG 鍵のダウンロード URL が微妙に異なる)\ncurl -fsSL https://repositories.intel.com/graphics/intel-graphics.key | sudo gpg --dearmor --yes -o /usr/share/keyrings/intel-graphics-keyring.gpg\necho 'deb [arch=amd64 signed-by=/usr/share/keyrings/intel-graphics-keyring.gpg] https://repositories.intel.com/gpu/ubuntu focal client' | sudo tee /etc/apt/sources.list.d/intel-graphics.list \u003e /dev/null\n\nsudo apt update \u0026\u0026 sudo apt install -y intel-media-va-driver-non-free intel-opencl-icd libmfxgen1\n```\n\n以上のコマンドを実行して、Intel Media Driver をインストールしてください (Ubuntu 20.04 LTS 以降向け) 。  \n最新のインストール手順は [QSVEncC の公式ドキュメント](https://github.com/rigaya/QSVEnc/blob/master/Install.ja.md) もあわせてご確認ください。\n\n\u003e [!NOTE]  \n\u003e **Docker でインストールする際は、ホストマシンに Intel Media Driver をインストールしなくても動作します。**  \n\u003e [KonomiTV の Docker イメージ](https://github.com/tsukumijima/KonomiTV/blob/master/Dockerfile) には Intel Media Driver が標準でインストールされているほか、Intel Graphics 自体のドライバは Linux カーネルに取り込まれているためです。\n\n\u003e [!NOTE]  \n\u003e 以前 Alder Lake (第12世代) 以降の Intel CPU で必要だった `libmfx-gen1.2` は、[QSVEncC 7.38](https://github.com/rigaya/QSVEnc/releases/tag/7.38) 以降で `libmfxgen1` に置き換えられました。  \n\u003e `libmfxgen1` は、Ubuntu 20.04 LTS 以降で利用できます。\n\n\u003e [!WARNING]  \n\u003e **Jasper Lake 世代などの一部 CPU や Arc GPU では、別途 HuC ファームウェアのロードを有効にする必要があります。**  \n\u003e HuC ファームウェアのロードを有効にするには、`/etc/modprobe.d/i915.conf` にカーネルパラメーターとして `options i915 enable_guc=2` を追記し、システムを再起動してください。  \n\u003e 詳細は [QSVEncC のドキュメント](https://github.com/rigaya/QSVEnc/blob/master/Install.ja.md) をご確認ください。\n\n-----\n\n**NVEncC では、[NVIDIA Graphics Driver](https://www.nvidia.co.jp/Download/index.aspx) のインストールが必要です。**  \n基本的にはすでにインストールされていると思います。個人的には `ubuntu-drivers` コマンドを使って apt でインストールするのがおすすめです。  \n[NVEncC の公式ドキュメント](https://github.com/rigaya/NVEnc/blob/master/Install.ja.md) もあわせてご確認ください。\n\n**Docker で KonomiTV をインストールする際は、さらに NVIDIA Container Toolkit のインストールが必要です。**  \nインストール手順は [NVIDIA の公式ドキュメント](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html) をご確認ください。\n\n-----\n\n**VCEEncC では、[AMDGPU-PRO Driver](https://www.amd.com/ja/support/linux-drivers) のインストールが必要です。**  \n古いドライバーがインストールされていると、VCEEncC を利用できないことがあります。最新のドライバーをインストールしてください。\n\n\u003e [!WARNING]  \n\u003e **VCEEncC を使うには AMDGPU-PRO ドライバーが必要です。**  \n\u003e オープンソース版の AMDGPU ドライバーには AMD AMF (Advanced Media Framework) が含まれていないため、VCEEncC を利用できません。\n\n```bash\n# Ubuntu 20.04 LTS (2024/09時点で最新の amdgpu-install パッケージの URL)\ncurl -LO https://repo.radeon.com/amdgpu-install/23.40.3/ubuntu/focal/amdgpu-install_6.0.60003-1_all.deb\n# Ubuntu 22.04 LTS (2024/09時点で最新の amdgpu-install パッケージの URL)\ncurl -LO https://repo.radeon.com/amdgpu-install/23.40.3/ubuntu/jammy/amdgpu-install_6.0.60003-1_all.deb\n\n# AMDGPU-PRO Driver のインストール\nsudo apt install -y ./amdgpu-install_6.0.60003-1_all.deb\nsudo apt update \u0026\u0026 sudo amdgpu-install -y --accept-eula --usecase=graphics,amf,opencl --opencl=rocr,legacy --no-32\n\n# 再起動\nsudo reboot\n```\n\n\n以上のコマンドを実行して、AMDGPU-PRO Driver をインストールしてください (Ubuntu 20.04 LTS 以降向け) 。\n\n-----\n\n**rkmppenc のサポートは試験的です。Rockchip 製 ARM SoC (RK3588/RK3588S など) でのみ利用できます。**\n\n```bash\n# Mali GPU Driver のインストール (RK3588/RK3588S 向け)\n## 他の Rockchip SoC の Mali GPU Driver は https://github.com/tsukumijima/libmali-rockchip/releases から入手できる\n## RK3588/RK3588S の場合、g610-g6p0 より g610-g13p0 の方が高速に動作する\nwget https://github.com/tsukumijima/libmali-rockchip/releases/download/v1.9-1-55611b0/libmali-valhall-g610-g13p0-wayland-gbm_1.9-1_arm64.deb\nsudo apt install -y ./libmali-valhall-g610-g13p0-wayland-gbm_1.9-1_arm64.deb\nrm libmali-valhall-g610-g13p0-wayland-gbm_1.9-1_arm64.deb\n\n# rockchip-multimedia-config のインストール\n## Rockchip のハードウェアエンコーダーを有効化するための設定パッケージ\nwget https://github.com/tsukumijima/rockchip-multimedia-config/releases/download/v1.0.2-1/rockchip-multimedia-config_1.0.2-1_all.deb\nsudo apt install -y ./rockchip-multimedia-config_1.0.2-1_all.deb\nrm rockchip-multimedia-config_1.0.2-1_all.deb\n\n# 念のため再起動\nsudo reboot\n```\n\n以上のコマンドを実行して、Mali GPU Driver と、Rockchip のハードウェアエンコーダーを有効化するための設定パッケージをインストールしてください。  \n[rkmppenc の公式ドキュメント](https://github.com/tsukumijima/rkmppenc/blob/master/Install.ja.md) もあわせてご確認ください。\n\n### Tailscale の導入\n\n\u003cimg width=\"100%\" src=\"https://user-images.githubusercontent.com/39271166/201439632-d78b8401-ef70-4955-98e8-b317ecf3e278.png\"\u003e\u003cbr\u003e\n\n**KonomiTV で外出先からリモート視聴するには、[Tailscale](https://tailscale.com/) というメッシュ VPN ソフトを、サーバー PC とクライアントデバイス双方にインストールしておく必要があります。**  \n\n\u003e [!NOTE]  \n\u003e KonomiTV を家の中だけで使う分には必須ではありませんが、セットアップがとっても簡単で時間もそこまでかからないので、この機会にインストールしておくことをおすすめします。\n\n\u003e [!NOTE]  \n\u003e 厳密にはほかの方法 (OpenVPN・SoftEther・リバースプロキシなど) でもリモート視聴は可能ですが、技術的に難易度がかなり高くネットワークエンジニア以外には難しいこと、Tailscale を使った方法が一番手軽でセキュアなことから、**\u003cins\u003eKonomiTV では Tailscale を使ったリモート視聴方法のみ公式にサポートしています。\u003c/ins\u003e**  \n\u003e **特にリバースプロキシや BASIC 認証経由でのアクセスでは\u003cins\u003e一部機能が正常に動作しなくなる\u003c/ins\u003eほか、セキュリティ上の問題もあるため、非推奨です。**\n\nTailscale は、デバイスが接続されているネットワークや物理的距離に関係なく、**同じアカウントにログインしている Tailscale クライアント (デバイス) 同士で直接通信できる、次世代型のメッシュ VPN です。**\n\nVPN サーバーを介さず Tailscale クライアント同士で直接通信するため、通常の VPN よりも高速です。さらに通信は暗号化されるため、セキュアに外出先から自宅のデバイスへアクセスできます。\n\n**さらに、デバイスをほかの Tailscale ユーザーとシェアすることもできます。**  \nGoogle ドライブでファイルへの招待リンクを作って共同編集したい人に送るのと同じ要領で、Tailscale クライアントをインストールしたデバイスをほかのユーザーとシェアできます。  \nKonomiTV を共有したい家族や親戚に Tailscale アカウントを作成してもらえば、Tailscale ログイン用の Google / Microsoft / GitHub アカウントを家族間で共有することなく、セキュアに KonomiTV をシェアできます。\n\n**Tailscale の詳細や導入方法は、以前私が執筆した **[こちら](https://blog.tsukumijima.net/article/tailscale-vpn/)** の記事をご覧ください。**  \nこの記事のとおりにセットアップすれば、あとは各デバイスで Tailscale での VPN 接続をオンにしておくだけです。\n\n**KonomiTV での利用以外にも、EDCB Material WebUI や EPGStation などの、プライベートネットワーク上の Web サーバーに家の外からアクセスするときにとても便利なサービスです。**  \n100台までは無料ですし (逸般の誤家庭でなければ十分すぎる)、この機会に導入しておくことをおすすめします。\n\n\u003cimg width=\"100%\" src=\"https://github.com/user-attachments/assets/8e91d6db-1988-4da1-bd10-3c11870fa3c8\"\u003e\u003cbr\u003e\n\n## サーバーのインストール/アップデート\n\n**KonomiTV には、インストーラー/アップデーター/アンインストーラーの3つのモードを内包した、CLI ベースのインストーラーがあります。**  \nこのインストーラーを使えば、とてもかんたんに KonomiTV をインストール/アップデートできます！\n\n**インストール時は、KonomiTV のインストーラーを起動したあと、最初の質問で `1` を入力します。**  \nあとは、インストーラーの通りに進めていくだけで、自動的にインストールが開始されます！詳しくは下記のインストール手順をご覧ください。\n\n**アップデート/アンインストール時は、KonomiTV のインストーラーを起動したあと、最初の質問でアップデートでは `2` 、アンインストールでは `3` を入力します。**  \n**その後、KonomiTV がインストールされているフォルダを入力すると、自動的にアップデート/アンインストールが開始されます！**\n\n\u003e [!NOTE]  \n\u003e インストール/アップデートにはインターネット接続が必要です。オフラインインストーラーではないため注意してください。\n\n\u003e [!WARNING]  \n\u003e **KonomiTV サーバーは特殊な仕組みで動作しているため、通常のアプリと異なり Windows の「設定」や「プログラムと機能」からアンインストールすることはできません。**  \n\u003e アンインストールする際は、**必ず KonomiTV のインストーラー (アンインストーラーモード) を使ってアンインストールしてください。**  \n\u003e インストーラーには後方互換性があるため、インストールされているバージョンより新しいバージョンのインストーラーを使ってアンインストールすることもできます。\n\n**以下はインストール時の手順になります。**  \nアップデート/アンインストールする際は適宜読み替えてください。\n\n\u003e [!WARNING]  \n\u003e KonomiTV は鋭意開発中のため、現在破壊的な構成変更が頻繁に行われています。   \n\u003e 破壊的変更が続く中アップデーターの機能を維持することは難しいため、**安定版リリースまでの当面の間、アップデーターは最低限のメンテナンスのみ行っています。**  \n\u003e お手数をおかけしますが、**0.7.1 以下から 0.8.0 以降へのアップデートは、適宜データベース (`server/data/database.sqlite`) や設定ファイル (`config.yaml`) などをバックアップの上で一旦アンインストールし、新規でインストールし直すことを強くおすすめします。**  \n\u003e 0.8.0 から 0.9.0 以降へのアップデートは動作する可能性がありますが、0.7.1 以下からのアップデートでは大幅な構成変更が入っているため、確実に動作しません。  \n\u003e **なお、0.7.1 のアンインストールには 0.7.1 のインストーラーが必要です。0.8.0 以降のインストーラーではアンインストールに失敗するため注意してください。**  \n\n\u003e [!NOTE]  \n\u003e **インストーラーを実行する前に、当該バージョンの [リリースノート](https://github.com/tsukumijima/KonomiTV/releases) を一読しておくことを強く推奨します。**  \n\u003e 各バージョンごとのインストール時の注意点なども、すべてリリースノートに記載されています。\n\n### Windows\n\n[動作環境](#動作環境) に記載のとおり、Windows 10 以降の 64bit OS にのみ対応しています。  \nWindows 8.1 以下と、32bit OS には対応していません。\n\n**[Releases](https://github.com/tsukumijima/KonomiTV/releases) ページから、最新の KonomiTV のインストーラーをダウンロードします。**  \nAssets の下にある `KonomiTV-Installer.exe` をダウンロードしてください。\n\n\u003e [!NOTE]  \n\u003e **`KonomiTV-Installer.exe` がウイルス対策ソフトにウイルスと扱われてしまうことがありますが、誤検知です。一般に Python 製ソフトを exe 化すると問答無用でウイルスだと扱われてしまうことが多く、頭を抱えています…。**  \n\u003e 適宜お使いのウイルス対策ソフトで、`KonomiTV-Installer.exe` の実行を許可してください。KonomiTV のインストーラーのソースコードは [こちら](https://github.com/tsukumijima/KonomiTV/tree/master/installer) で公開しています。\n\n\u003cimg width=\"100%\" src=\"https://user-images.githubusercontent.com/39271166/201462168-f898fe8f-ac1f-4942-908f-de6263389a97.png\"\u003e\u003cbr\u003e\n\n**ダウンロードが終わったら、`KonomiTV-Installer.exe` をダブルクリックで実行します。**  \nインストールには管理者権限が必要です。\n\n**あとは、インストーラーの通りに必要事項を入力していけば、インストールがはじまります！**  \nスペックにもよりますが、インストールには少し時間がかかります。気長に待ちましょう。\n\n**インストール処理の終盤で、KonomiTV の実行ユーザー名と、パスワードの入力を求められます。**\n\n\u003e [!NOTE]  \n\u003e ユーザー名とパスワードは、KonomiTV を一般ユーザーの権限で動作させるために必要です。  \n\u003e Windows サービスは通常、ネットワークドライブにアクセスする際に認証情報が必要ですが、**一般ユーザーの権限で動作させることで、そのユーザーのネットワークドライブに自由にアクセスできるようになります。**  \n\u003e なお、入力されたユーザー名とパスワードは、この目的以外には一切使用されません。\n\n実行ユーザー名を入力せずに Enter キーを押すと、デフォルトで現在ログオン中のユーザーが利用されます。\n\n\u003e [!IMPORTANT]  \n\u003e **セキュリティソフトの誤作動により、インストール途中にエラーが発生し、インストールに失敗することがあります。**  \n\u003e その場合は一時的にセキュリティソフトのリアルタイムスキャンをオフにしたり、インストール先のフォルダをスキャン対象から除外してから、再度インストーラーを実行してみてください。\n\n\u003e [!WARNING]  \n\u003e - **PIN などのほかの認証方法には対応していません。必ず通常のパスワードを入力してください。**\n\u003e - **指定したユーザーにパスワードを設定していない場合は、簡単なものでいいので何かパスワードを設定してから、その設定したパスワードを入力してください。**\n\u003e   - なお、パスワードの設定後にインストーラーを起動し直す必要はありません。\n\u003e - **Microsoft アカウントでユーザーアカウントを作成した場合もログオンできない場合があります。**\n\u003e   - 一度ローカルアカウントに切り替え、通常のパスワードを設定してから、再度インストーラーを実行してみてください。\n\u003e - **ごく稀に、正しいパスワードを指定したにも関わらず、ログオンできない場合があります。**\n\u003e   - その場合は、インストーラーを Ctrl+C で中断した後、インストーラーの実行ファイル (`KonomiTV-Installer.exe`) を Shift + 右クリック → [[別のユーザーとして実行]](https://faq.nec-lavie.jp/qasearch/1007/app/servlet/relatedqa?QID=020525) をクリックします。  \n\u003e     表示された画面でログオン中のユーザー名とパスワードを指定してから、再度インストーラーを実行してみてください。\n\u003e - **検証環境がないため、Windows Server / Active Directory / ドメインアカウントなどの特殊な環境はサポートしていません。**\n\u003e   - 当該環境ではインストーラー/アップデーターが正常に動作しないことが報告されています。\n\u003e   - インストーラー/アップデーターのソースコードを読み、手動でインストールを行ってください。\n\n\u003e [!WARNING]  \n\u003e **KonomiTV の Windows サービスは、PC の起動後数分遅れてから起動します。**  \n\u003e PC の起動直後は EDCB や Mirakurun の Windows サービスがまだ起動していないためです。\n\n### Linux\n\n[動作環境](#動作環境) に記載のとおり、Ubuntu 20.04 LTS / Debian 11 Bullseye 以降の OS にのみ対応しています。  \nそれ以外のディストリビューションでも動くかもしれませんが、動作は保証しませんし、今後のサポート予定もありません (Docker ならどの OS でもそれなりに動くような気はします) 。\n\n\u003e [!NOTE]  \n\u003e できるだけ Ubuntu の利用を推奨しますが、もし Ubuntu 以外の OS にインストールする際は、Docker でのインストールをおすすめします。\n\n\u003e [!WARNING]  \n\u003e **NVIDIA が KonomiTV で利用していたバージョンの CUDA Docker イメージを削除した影響で ([詳細1](https://twitter.com/TVRemotePlus/status/1683860609555898369) / [詳細2](https://twitter.com/TVRemotePlus/status/1689227380664209409)) 、0.7.1 以下では Docker を使ったインストール方法が利用できなくなりました。**  \n\u003e 0.8.0 以降のバージョンでは CUDA Docker イメージの pull 先を [NGC](https://catalog.ngc.nvidia.com/orgs/nvidia/containers/cuda/tags) に変更しています。0.8.0 以降へのアップデートをお願いします。\n\n\u003e [!WARNING]  \n\u003e **AMD が Docker イメージ内で利用している AMDGPU-PRO ドライバーの旧バージョンの APT リポジトリをサイレントに削除した影響で (https://github.com/tsukumijima/KonomiTV/issues/118 / https://github.com/tsukumijima/KonomiTV/issues/130) 、0.11.0 以下では Docker を使ったインストール方法が利用できなくなりました。**  \n\u003e 0.12.0 以降のバージョンでは AMDGPU-PRO ドライバーの APT リポジトリの URL を更新しています。0.12.0 以降へのアップデートをお願いします。\n\n**Linux 向けの KonomiTV には、通常のインストール方法と、Docker を使ったインストール方法の 2 通りがあります。**  \n\n**通常のインストール方法では、事前に [PM2](https://PM2.keymetrics.io/docs/usage/quick-start/) と [Node.js](https://github.com/nodesource/distributions) (PM2 の動作に必要) のインストールが必要です。**  \n[Mirakurun](https://github.com/Chinachu/Mirakurun) や [EPGStation](https://github.com/l3tnun/EPGStation) を Docker を使わずにインストールしているなら、すでにインストールされているはずです。  \nまた、インストーラーの実行時に `lshw` コマンドが必要です。`lshw` がインストールされていない場合は、適宜インストールしてください。\n\n**Docker を使ったインストール方法では、事前に [Docker](https://docs.docker.com/engine/install/) と [Docker Compose](https://docs.docker.com/compose/install/) のインストールが必要です。**  \nDocker Compose は V1 と V2 の両方に対応していますが、できれば V2 (ハイフンなしの `docker compose` コマンド) が使えるようにしておくことをおすすめします。\n\n**なお、Ubuntu 公式 apt リポジトリの Docker / Docker Compose は古いバージョンで固定されているため、必ず Docker 公式 apt リポジトリからインストール・アップデートを行うようにしてください。**  \n古い Docker / Docker Compose では正常に動作しません。\n\n\u003e [!WARNING]  \n\u003e **ARM デバイスでは、対応コストの観点から Docker を使ったインストール方法はサポートされていません。**\n\n\u003e [!WARNING]  \n\u003e **Docker Compose V1 は最終版の 1.29.2 でのみ動作を確認しています。古いバージョンでは正常に動作しない可能性が高いです。**  \n\u003e もし Docker Compose V1 が 1.29.2 よりも古い場合は、この機会に V2 への更新をおすすめします。以前よりもグラフィカルに進捗が表示されたりなどのメリットもあります。  \n\n\u003e [!WARNING]  \n\u003e [QSVEncC・NVEncC・VCEEncC・rkmppenc に対応した GPU ドライバーのインストール](#qsvenccnvenccvceenccrkmppenc-に対応した-gpu-ドライバーのインストール) に記載のとおり、**NVIDIA GPU が搭載されている PC に Docker を使ってインストールする場合は、必ず事前に NVIDIA Container Toolkit をインストールしておいてください。**  \n\u003e NVIDIA Container Toolkit がインストールされていない場合、KonomiTV のインストールにも失敗する可能性が高いです。\n\n\u003e [!NOTE]  \n\u003e Docker を使ってインストールする場合、動作環境によっては `getaddrinfo EAI_AGAIN registry.yarnpkg.com` といったエラーで Docker イメージのビルドに失敗することがあります。  \n\u003e Docker の DNS 設定がおかしかったり、Docker が書き換える iptables の定義が壊れてしまっていることが原因のようで、解決方法は千差万別です。  \n\u003e また、KonomiTV の Docker Compose 構成では都合上 `network_mode: host` を使っていますが、これによりほかの環境と衝突している可能性もあります。  \n\u003e KonomiTV は通常のインストール方法でも極力環境を汚さないように開発されています。Docker を使わずに通常通りインストールしたほうが手っ取り早いかもしれません。  \n\u003e 参考: https://e-tipsmemo.hatenablog.com/entry/2024/04/07/000000\n\n\u003cimg width=\"100%\" src=\"https://user-images.githubusercontent.com/39271166/201463450-96bb686e-c5bb-493d-b907-57b5f51ac986.png\"\u003e\u003cbr\u003e\n\n```bash\ncurl -LO https://github.com/tsukumijima/KonomiTV/releases/download/v0.12.0/KonomiTV-Installer.elf\nchmod a+x KonomiTV-Installer.elf\n./KonomiTV-Installer.elf\n```\n\n以上のコマンドを実行して `KonomiTV-Installer.elf` を実行し、インストーラーの通りに進めてください。  \nインストールには root 権限が必要です。`KonomiTV-Installer.elf` の実行時に自動的にパスワードを求められます。\n\n\u003e [!NOTE]  \n\u003e ARM デバイスでは、`KonomiTV-Installer.elf` の代わりに `KonomiTV-Installer-ARM.elf` をダウンロードしてください。\n\n### KonomiTV にアクセスする\n\n\u003cimg width=\"100%\" src=\"https://user-images.githubusercontent.com/39271166/201465324-fdae7d03-ba1f-4aa4-9d48-7e04f2290bc7.png\"\u003e\u003cbr\u003e\n\n**「インストールが完了しました！ すぐに使いはじめられます！」と表示されたら、KonomiTV サーバーのインストールは完了です！おつかれさまでした！！🎉🎊**  \nインストーラーに記載されている URL から、KonomiTV の Web UI にアクセスしてみましょう！  \n\n**通常、`(イーサネット)` または `(Wi-Fi)` の URL が家の中からアクセスするときの URL 、`(Tailscale)` の URL が外出先（家の外）から Tailscale 経由でアクセスするときの URL になります。**  \n\n\u003e [!NOTE]  \n\u003e `https://my.local.konomi.tv:7000/` の URL は、KonomiTV サーバーをインストールした PC 自身を指す URL ([ループバックアドレス](https://wa3.i-3-i.info/word1101.html)) です。  \n\u003e `(Tailscale)` とつく URL は、事前に Tailscale を導入していない場合は表示されません。  \n\u003e 外出先からのアクセス自体は、Tailscale をいつ導入したかに関わらず、Tailscale が起動していれば問題なく行えます。\n\nKonomiTV サーバーは Windows サービス (Windows) / PM2 サービス (Linux) / Docker サービス (Linux-Docker) としてインストールされているので、サーバー PC を再起動したあとも自動的に起動します。\n\nもし再起動後に KonomiTV にアクセスできない場合は、`server/logs/KonomiTV-Server.log` に出力されているエラーメッセージを確認してください。\n\n\u003e [!TIP]  \n\u003e **ぜひこの機会に KonomiTV の公式 Twitter をフォローしていただけると嬉しいです！**  \n\u003e KonomiTV の開発進捗やユーザーのみなさんへのお知らせなどを随時ツイートしています。  \n\u003e 各種 Tips も発信していますので、もし導入時にわからない箇所があれば、一度ツイートを検索してみると解決策が見つかるかもしれません。\n\u003e \n\u003e [![Twitter](https://img.shields.io/twitter/follow/KonomiTV?style=social)](https://twitter.com/TVRemotePlus)\n\n### デスクトップアプリ・スマホアプリとして使う\n\n\u003cimg width=\"100%\" src=\"https://user-images.githubusercontent.com/39271166/201473243-e246802f-0100-4e6a-bb0e-4247f784bb3b.png\"\u003e\u003cbr\u003e\n\n**PC 版 Chrome や Edge では、URL バー右のアイコン → [アプリをインストール] から、KonomiTV をブラウザバーのないデスクトップアプリとしてインストールできます！**  \nブラウザバーが表示されない分、より映像に没頭できますし、画面も広く使えます。私も KonomiTV をデスクトップアプリとして使っています。  \nタスクバーや Dock に登録しておけば、起動するのも簡単です。ぜひお試しください。\n\n\u003e [!NOTE]  \n\u003e デスクトップアプリとしてインストールしない場合は、[サイトの設定] から自動再生を [許可する] にしておくと、テレビをスムーズに視聴できます。\n\n\u003cimg width=\"100%\" src=\"https://user-images.githubusercontent.com/39271166/201473798-97aa818a-0474-46bc-b56a-0c49f281e92a.jpg\"\u003e\u003cbr\u003e\n\n**Android Chrome では下に表示される [ホーム画面に追加] またはメニューの [アプリをインストール] から、iPhone / iPad Safari では共有メニュー → [ホーム画面に追加] から、それぞれ KonomiTV をブラウザバーのないスマホアプリとしてインストールできます！**\n\nスマホは画面が小さいので、アプリとしてインストールした方が画面が広くなって使いやすいです。私も KonomiTV をスマホアプリとして使っています。こちらもぜひお試しください。\n\n\u003e [!WARNING]  \n\u003e 現状、iPhone / iPad Safari で KonomiTV をスマホアプリとしてインストールすると、Safari のバグの影響で Picture-in-Picture ボタンが利用できなくなります。  \n\u003e とはいえ Picture-in-Picture が不要であれば、アプリとしてインストールした方が圧倒的に快適です。\n\n\u003e [!NOTE]  \n\u003e [PWA (Progressive Web Apps)](https://developer.mozilla.org/ja/docs/Web/Progressive_web_apps) という、Web アプリを通常のネイティブアプリのように使えるようにする技術を利用しています。  \n\u003e 将来的には PWA だけでなく、より快適に利用できるようにした iOS 向けアプリと Android 向けアプリ (いわゆるガワアプリ) をリリースする予定です。\n\n### フィードバックのお願い\n\n**KonomiTV はまだまだ開発中のソフトウェアです。**\n\n機能が多岐に渡ることと、もとよりテレビのストリーミングという特殊で複雑な技術を扱っていることから、テストが追いつかず慢性的な検証不足に陥っています。  \nできるだけ手元の環境で検証やテストを行うようにはしていますが、すべての環境や条件を網羅できているわけではありませんし、不具合や問題が残っている可能性は十分にあります。\n\n**もし KonomiTV を使っていて、何か不具合や問題が発生した場合は、ぜひ [Google フォーム](https://docs.google.com/forms/d/e/1FAIpQLScWKzmfCat4w9n9Jp4_P1dIFzewzV4qO-7_BJOcs5Zdvt6yPA/viewform) からフィードバックをお願いします…！！**  \n**フィードバックしていただけると、KonomiTV の品質改善に大いに役立ちます！**\n\n\u003e [!NOTE]  \n\u003e できればマイナーな条件や機能の組み合わせで問題が出ないか、各自でテストしていただけるととても助かります…！  \n\u003e その際、フィードバックフォームには試した環境や条件などを詳細に記載していただけると、問題の再現性が高まります。\n\u003e\n\u003e KonomiTV ではユーザビリティ (使いやすさ) を第一に考えて UI や細部の機能を緻密に設計しています。  \n\u003e 「〇〇の機能/画面が使いづらい」といったフィードバックや、新しい機能のリクエストも大歓迎です。\n\nみなさんからのフィードバックにすべて応えることはできませんが、いただいたフィードバックは KonomiTV の機能向上や改善に役立てさせていただきます！\n\n\u003cimg width=\"100%\" src=\"https://github.com/user-attachments/assets/b262e652-bffc-4466-b5bb-005a3ec6db10\"\u003e\u003cbr\u003e\n\n## 付録\n\n### `https://aa-bb-cc-dd.local.konomi.tv:7000/` の URL について\n\n**この `https://aa-bb-cc-dd.local.konomi.tv:7000/` のフォーマットの URL は、KonomiTV の WebUI に HTTPS でアクセスするための特殊な URL です。**  \n\naa-bb-cc-dd の部分には、ローカル IP アドレスのうち、. (ドット) を - (ハイフン) に置き換えた値が入ります。  \nつまり、サーバー PC のローカル IP アドレスが `192.168.1.11` だったとしたら、`https://192-168-1-11.local.konomi.tv:7000/` という URL になります。\n\n\u003e [!TIP]\n\u003e [ループバックアドレス](https://wa3.i-3-i.info/word1101.html) のみ、`https://127-0-0-1.local.konomi.tv:7000/` の代わりに、  \n\u003e ・`https://my.local.konomi.tv:7000/`  \n\u003e ・`https://local.local.konomi.tv:7000/`  \n\u003e ・`https://localhost.local.konomi.tv:7000/`  \n\u003e のシンプルな URL でアクセスできます。\n\n通常、自宅のローカル LAN 上の Web サイトには、`http://192.168.1.11:8000/` のような IP アドレス直打ちでの HTTP アクセスがほとんどです。EDCB Material WebUI・TVRemotePlus・Mirakurun・EPGStation などの DTV 関連のソフトでも、同様のアクセス方法が取られてきました。\n\n…ところが、最近のブラウザはインターネット上に公開されている Web サイトのみならず、盗聴のリスクが著しく低いローカル LAN 上の Web サイトにも、HTTPS を要求するようになってきました。  \nすでに PWA の主要機能である [Service Worker](https://developer.mozilla.org/ja/docs/Web/API/Service_Worker_API) などをはじめ、近年追加された多くの Web API の利用に HTTPS が必須になってしまっています。こうした強力な API が HTTP アクセスでは使えないことが、KonomiTV を開発する上で大きな制約になっていました。\n\n**そこで KonomiTV では、過去に例のない非常に特殊な仕組みを使い、プライベートネットワーク上の Web サービスにも関わらず [自己署名証明書](https://wa3.i-3-i.info/word18213.html) のインストールなしで HTTPS でアクセスできるようにしました。**  \n具体的には、Let's Encrypt の DNS 認証 / ワイルドカード証明書・ワイルドカード DNS・Keyless SSL の3つの技術を組み合わせています。**[tsukumijima/Akebi](https://github.com/tsukumijima/Akebi)** に技術解説とソースコードを載せていますので、よろしければご覧ください。\n\n**この仕組み (Akebi) を使うには、`https://192-168-1-11.local.konomi.tv:7000/` のような HTTPS URL でアクセスする必要があります。** 当然ですが、プライベート IP アドレス単体では正式な証明書を取得できないためです。\n\n\u003e [!NOTE]\n\u003e `https://(IPアドレス(.を-にしたもの)).local.konomi.tv:7000/` はすべてのプライベート IP アドレスに対応していますが、セキュリティ上の兼ね合いでグローバル IP アドレスには対応していません。  \n\u003e なお、Tailscale の [100.x.y.z アドレス](https://tailscale.com/kb/1015/100.x-addresses/) には対応しています。\n\n\u003e [!TIP]\n\u003e どうしてもほかの URL でアクセスしたい方向けに、一応サーバー設定 (config.yaml) にカスタム HTTPS 証明書を指定する機能を用意しています。  \n\u003e サポートは一切しませんので、すべて理解している方のみ行ってください。\n\n### 設定ファイルの編集\n\n**KonomiTV のサーバー設定は、KonomiTV をインストールしたフォルダにある config.yaml に保存されています。**  \n\n\u003e [!IMPORTANT]  \n\u003e **KonomiTV 0.10.0 以降では、サーバー設定を KonomiTV の UI 上で変更できるようになりました！**  \n\u003e サーバー設定を変更するには、管理者権限を持つ KonomiTV アカウントでログインし、[設定] → [サーバー設定] に移動してください。  \n\u003e KonomiTV サーバー内で一番最初に作成された KonomiTV アカウントには、既定で管理者権限が付与されています。\n\n\u003e [!WARNING]  \n\u003e 0.7.1 以下に利用されていた config.yaml と 0.8.0 以降で利用されている config.yaml は、フォーマットの互換性がありません。  \n\u003e KonomiTV は開発中のため、今後も設定ファイルの破壊的変更が発生する可能性があります。\n\n\u003e [!WARNING]  \n\u003e config.example.yaml は、config.yaml のデフォルトの設定を記載した、config.yaml のひな形となるファイルです。  \n\u003e アップデート時に上書きされるため、config.example.yaml は編集しないでください。  \n\n**config.yaml は、インストーラーでインストールした際に自動的に生成されます。**  \n\n以下は主要な設定項目の説明です。  \nほかにも設定項目はありますが、基本的に変更の必要はありません。\n\n#### バックエンドの設定\n\nKonomiTV のバックエンドには、EDCB または Mirakurun / mirakc のいずれかを選択できます。  \n`general.backend` に `EDCB` または `Mirakurun` を指定してください。\n\n\u003e [!WARNING]  \n\u003e 一部 Windows 環境では localhost の名前解決が遅いため、チューナーが数秒遅れて起動し、ストリーミング開始までの待機時間が長くなる場合があります。    \n\u003e **EDCB / Mirakurun と同じ PC に KonomiTV をインストールしている場合、localhost ではなく 127.0.0.1 の利用を推奨します。**\n\n-----\n\nEDCB をバックエンドとして利用する場合は、EDCB (EpgTimerNW) の TCP API の URL (`general.edcb_url`) をお使いの録画環境に合わせて編集してください。\n\n通常、TCP API の URL は `tcp://(EDCBのあるPCのIPアドレス):4510/` になります。接続できない際は、ファイアウォールの設定や EpgTimer Service が起動しているかを確認してみてください。  \n前述のとおり、あらかじめ EDCB の事前設定を済ませておく必要があります。\n\n\u003e [!NOTE]  \n\u003e TCP API の URL として `tcp://edcb-namedpipe/` と指定すると、TCP API の代わりに名前付きパイプで通信を行います（KonomiTV と EDCB が同じ PC で起動している場合のみ）。\n\n-----\n\nMirakurun / mirakc をバックエンドとして利用する場合は、Mirakurun / mirakc の HTTP API の URL (`general.mirakurun_url`) をお使いの録画環境に合わせて編集してください。\n\n通常、HTTP API の URL は `http://(Mirakurun/mirakcのあるPCのIPアドレス):40772/` になります。接続できない際は、Mirakurun / mirakc が起動しているかを確認してみてください。\n\n#### エンコーダーの設定\n\nエンコーダーには、ソフトウェアエンコーダーの FFmpeg のほか、ハードウェアエンコーダーの QSVEncC・NVEncC・VCEEncC・rkmppenc を選択できます。  \n`general.encoder` に `FFmpeg` / `QSVEncC` / `NVEncC` / `VCEEncC` / `rkmppenc` のいずれかを指定してください。\n\n**ハードウェアエンコーダーを選択すると、エンコードに GPU アクセラレーションを利用するため、CPU 使用率を大幅に下げる事ができます。**  \nエンコード速度も高速になるため、お使いの PC で利用可能であれば、できるだけハードウェアエンコーダーを選択することを推奨します。\n\n\u003e [!NOTE]  \n\u003e お使いの PC で選択したハードウェアエンコーダーが利用できない場合、ライブストリーミング時にその旨を伝えるエラーメッセージが表示されます。まずはお使いの PC でハードウェアエンコーダーが使えるかどうか、一度試してみてください（設定ファイルの変更後はサーバーの再起動が必要です）。\n\n\u003e [!NOTE]  \n\u003e 前述のとおり、Linux 環境で QSVEncC・NVEncC・VCEEncC・rkmppenc を利用する場合は、別途 GPU ドライバーのインストールが必要です。\n\n**QSVEncC は、Intel 製 CPU の内蔵 GPU に搭載されているハードウェアエンコード機能 (Intel QSV) を利用するエンコーダーです。**  \nここ数年に発売された Intel Graphics 搭載の Intel 製 CPU であれば基本的に搭載されているため、一般的な PC の大半で利用できます。内蔵 GPU なのにもかかわらず高速で、画質も良好です。  \n\n\u003e [!WARNING]  \n\u003e Linux 版の Intel QSV は、Broadwell (第5世代) 以上の Intel CPU でのみ利用できます。そのため、Haswell (第4世代) 以下の CPU では、QSVEncC を利用できません。  \n\u003e なお、Windows 版の Intel QSV は、Haswell (第4世代) 以下の CPU でも利用できます。\n\n**NVEncC は、Geforce などの NVIDIA 製 GPU に搭載されているハードウェアエンコード機能 (NVENC) を利用するエンコーダーです。**  \n高速で画質も QSV より若干良いのですが、Geforce シリーズでは同時にエンコードが可能なセッション数が 3 に限定されているため、同時に 3 チャンネル以上視聴することはできません。  \n同時に 4 チャンネル以上視聴しようとした場合、KonomiTV では「NVENC のエンコードセッションが不足しているため、ライブストリームを開始できません。」というエラーメッセージが表示されます。\n\n**VCEEncC は、Radeon などの AMD 製 GPU に搭載されているハードウェアエンコード機能 (AMD VCE) を利用するエンコーダーです。**  \nQSVEncC・NVEncC に比べると安定しない上に、画質や性能もあまり良くありません。もし QSVEncC・NVEncC が使えるならそちらを使うことをおすすめします。\n\n**rkmppenc は、RK3588 などの Rockchip 製 ARM SoC に搭載されているハードウェアエンコード機能 (mpp) を利用するエンコーダーです。**  \n画質は VCEEncC と同等くらいですが、ARM デバイスで利用できるハードウェアエンコーダーとしては最高レベルの性能を誇ります。\n\n#### リッスンポートの設定\n\n`server.port` に、KonomiTV サーバーのリッスンポートを指定してください。  \nデフォルトのリッスンポートは `7000` です。  \n\n\u003e [!NOTE]  \n\u003e インストーラーでのインストール時にポート 7000 がほかのサーバーソフトと重複している場合は、代わりのポートとして 7100 (7100 も利用できない場合は、さらに +100 される) が自動的にデフォルトのリッスンポートに設定されます。\n\n基本的に変更の必要はありません。変更したい方のみ変更してください。\n\n#### 録画済み番組の保存先フォルダの設定\n\n`video.recorded_folders` に、録画済み番組の保存先フォルダを指定してください。\n\nデフォルトの録画済み番組の保存先フォルダは、インストーラーで入力したフォルダが自動的に設定されています。  \n録画済み番組の保存先フォルダを変更したくなったときは、この設定を変更してください。\n\n#### アップロードしたキャプチャ画像の保存先フォルダの設定\n\n`capture.upload_folders` に、アップロードしたキャプチャ画像の保存先フォルダを指定してください。\n\nクライアントの [キャプチャの保存先] 設定で [KonomiTV サーバーにアップロード] または [ブラウザでのダウンロードと、KonomiTV サーバーへのアップロードを両方行う] を選択したときに利用されます。\n\nデフォルトの保存先フォルダは、インストーラーで入力したフォルダが自動的に設定されています。  \n保存先フォルダを変更したくなったときは、この設定を変更してください。\n\n-----\n\n\u003cimg width=\"100%\" src=\"https://github.com/user-attachments/assets/5576f7eb-71d3-4a56-8104-22ad4c949818\"\u003e\u003cbr\u003e\n\n\u003cimg width=\"100%\" src=\"https://user-images.githubusercontent.com/39271166/201438534-10a19a9e-56ef-4c9e-88c2-2198de76979d.png\"\u003e\u003cbr\u003e\n\n**サーバー設定の変更を反映するには、KonomiTV サーバー (KonomiTV Service) の再起動が必要です。**\n\n\u003e [!IMPORTANT]  \n\u003e **KonomiTV 0.10.0 以降では、KonomiTV の UI から KonomiTV サーバーを再起動できるようになりました！**  \n\u003e KonomiTV サーバーを再起動するには、管理者権限を持つ KonomiTV アカウントでログインし、[設定] → [サーバー設定] → [メンテナンス] に移動してください。  \n\u003e KonomiTV サーバー内で一番最初に作成された KonomiTV アカウントには、既定で管理者権限が付与されています。\n\n- Windows:「サービス」アプリを開いた後、サービス一覧の中から KonomiTV Service を探して、右クリックメニューから [再起動] をクリックしてください。   \n  - または、管理者権限のコマンドラインから `sc stop \"KonomiTV Service\"; sc start \"KonomiTV Service\"` を実行してください。\n- Linux: `sudo pm2 restart KonomiTV` を実行してください。\n  - `sudo` をつけないと正しく実行できません (KonomiTV は root ユーザーの PM2 プロファイルに登録されているため) 。\n- Linux (Docker): KonomiTV をインストールしたフォルダで `docker compose restart` を実行してください。\n\nなお、config.yaml が存在しなかったり、設定項目が誤っているとサーバーの起動の時点でエラーが発生します。  \nその際は `server/logs/KonomiTV-Server.log` に出力されているエラーメッセージに従い、config.yaml の内容を確認してみてください。\n\n### 局ロゴ\n\nKonomiTV には、放送波から取得できるものよりも遥かに高画質な局ロゴが同梱されています。  \nほとんどの地上波チャンネル・BS/CS の全チャンネル・一部の CATV のコミュニティチャンネルをカバーしており、受信できるチャンネルに対応する局ロゴが同梱されていれば、それが利用されます。\n\n\u003e [!NOTE]  \n\u003e 放送波から取得できる局ロゴは最高でも 64x36 で、現代的なデバイスで見るにはあまりにも解像度が低すぎます。とはいえ、局ロゴがなければぱっとチャンネルを判別できなくなり、ユーザー体験が悪化してしまいます。  \n\u003e さらに、局ロゴは何らかの事情で取得できていないことも考えられます。こういった事情もあり、高画質な局ロゴを同梱しています。\n\nチャンネルに対応する局ロゴが同梱されていない場合は、Mirakurun・EDCB のいずれかから局ロゴの取得を試みます。Mirakurun または EDCB から局ロゴを取得できなかった場合は、デフォルトの局ロゴが利用されます。    \n\n- Mirakurun:\n  - Mirakurun の API から局ロゴの取得を試みます。  \n  - 基本的には何もしなくても局ロゴが収集されているはずです。\n  - mirakc は局ロゴの収集に対応していないため、局ロゴが同梱されていないチャンネルでは、常にデフォルトの局ロゴが利用されます。\n- EDCB:\n  - EDCB のロゴデータ保存機能で収集された局ロゴの取得を試みます。\n    - ロゴデータ保存機能は [2020年10月に追加された](https://github.com/xtne6f/EDCB/commit/0457241ccdd83ae9847ab15a16157d04927b72ce) もので、KonomiTV が動作する 220122 以降のバージョンの EDCB なら問題なく利用できます。\n  - EpgDataCap_Bon の設定 → [EPG取得設定] → [ロゴデータを保存する] にチェックが入っていて、なおかつ `EDCB/Settings/LogoData/` にロゴデータ (PNG) が保存されていることが条件です。\n\n\u003e [!NOTE]  \n\u003e 同梱されているロゴは `server/static/logos/` に `NID(ネットワークID)-SID(サービスID).png` (解像度: 256×256) のフォーマットで保存されています。  \n\u003e チャンネルのネットワーク ID とサービス ID がわかっていれば、自分で局ロゴ画像を作ることも可能です。\n\n\u003cimg width=\"100%\" src=\"https://github.com/user-attachments/assets/4e5e173e-e89a-4e17-8266-1155e8ee2f6a\"\u003e\u003cbr\u003e\n\n## FAQ\n\n### Web UI にアクセスすると 502 Bad Gateway エラーが表示される\n\nKonomiTV サーバーの起動中と考えられます。しばらく待ってから再度アクセスしてみてください。\n\n数分待ってもアクセスできない場合は、KonomiTV サーバーがエラー終了している可能性があります。`server/logs/KonomiTV-Server.log` に出力されているエラーログを確認してみてください。\n\n### Web UI にアクセスすると「Client sent an HTTP request to an HTTPS server.」と表示される\n\nエラーメッセージの通り、`http://` でアクセスしてしまっているときに表示されます。  \nKonomiTV サーバーは HTTPS で起動しているため、Web UI には `https://` で始まる URL でアクセスする必要があります。\n\n### Web UI にアクセスすると「このサイトは安全に接続できません」「～から無効な応答が送信されました。」(ERR_SSL_PROTOCOL_ERROR) と表示される\n\n[`https://aa-bb-cc-dd.local.konomi.tv:7000/` の URL について](#httpsaa-bb-cc-ddlocalkonomitv7000-の-url-について) の項目で説明した通り、KonomiTV では過去に例のない非常に特殊な仕組みを使い、[自己署名証明書](https://wa3.i-3-i.info/word18213.html) のインストールなしで HTTPS でアクセスできるようにしています。\n\nWeb UI には `https://(IPアドレス(.を-にしたもの)).local.konomi.tv:7000/` のフォーマットの HTTPS URL (例: `https://192-168-1-11.local.konomi.tv:7000/`) でアクセスしてください。  \nURL が少し長いので、適宜ブックマークやホーム画面に追加しておくと便利です。\n\n\u003e [!IMPORTANT]  \n\u003e 上記のフォーマット以外の URL (例: `https://localhost:7000/`・`https://192.168.1.11:7000/`) では証明書や HTTPS の通信エラーが発生し、Web UI にアクセスできない仕様になっています。  \n\u003e 当然ですが、プライベート IP アドレス単体では正式な証明書を取得できないためです。 \n\n### Web UI にアクセスすると、DNS エラーが表示される\n\nお使いのルーターで DNS Rebinding Protection が有効になっている可能性があります。\n\nKonomiTV を利用するには、DNS Rebinding Protection を無効にする必要があります。  \n適宜ルーターの設定を変更するか、お使いのデバイスの DNS を 1.1.1.1 や 8.8.8.8 などの公開 DNS サーバーに変更してください。\n\n\u003e [!TIP]  \n\u003e OpenWRT では、Rebind Protection のチェックボックスを外すと無効化できるようです。\n\n### ライブストリーミングの視聴が安定しない・途切れ途切れになる\n\n原因はいくつか考えられますが、回線速度が遅かったり、不安定な通信環境であることが考えられます。  \n\n#### 全般\n\n- **KonomiTV サーバーをインストールした PC が有線 LAN に接続されていない可能性があります。**\n  - **KonomiTV サーバーをインストールした PC はできるだけ有線 LAN に接続してください。** Wi-Fi 接続だけでも動作しますが、Wi-Fi 環境次第では通信が不安定になることがあります。\n  - LAN 端子がないなどやむを得ず Wi-Fi 接続だけで使う場合は、PC をできるだけ Wi-Fi ルーターに近い場所に配置するなど、安定して通信できることを確認してください。\n- **デバイスのスペック不足の可能性があります。**\n  - KonomiTV はブラウザでリッチな視聴体験を実現していますが、その反面どうしてもネイティブアプリに比べると動作が重いです。特に **Android のローエンドや数年前の古いスマホでは、スペック不足でストリーミングが安定しないことがあります。**\n  - 根本的には新しいデバイスに買い替える以外の方法はありませんが、**描画処理が重たいニコニコ実況のコメント表示や低遅延ストリーミングをオフにすると、以前より安定して再生できることが多いです。**\n  - また、画質を 720p 以下に下げて視聴するのも有効です。古いスマホでは液晶の解像度が低めことも多いので、720p 以下に下げても十分視聴に耐えると思います。\n\n#### KonomiTV サーバーのある自宅の Wi-Fi につないで視聴しているとき\n\n- **遅い Wi-Fi アクセスポイントに接続されている可能性があります。**\n  - 5GHz 帯の Wi-Fi アクセスポイント (SSID に `5G`・`A` と入っていることが多い) に接続し直してみてください。\n  - 5GHz 帯の Wi-Fi アクセスポイントに対応していない古いデバイスをお持ちの方は、この機会に買い替えや 5GHz 対応の USB Wi-Fi ドングルの購入をおすすめします…。\n- **Wi-Fi ルーターとの距離が離れている可能性があります。Wi-Fi ルーターに近い場所に移動するか、より近い Wi-Fi アクセスポイントに接続し直してください。**\n  - Wi-Fi ルーターとの距離が離れていると、遮蔽物や減衰の影響で通信が不安定になることがあります。\n  - デバイスを Wi-Fi ルーターにできるだけ近づけた状態でストリーミングが安定するなら、Wi-Fi 環境自体に問題がある可能性が高いです（電波干渉が発生している、など）。との距離が離れておらず、通信速度が十分に出ていることを確認してください。\n- **低遅延ストリーミングをオフにしてみてください。**\n  - 低遅延ストリーミングがオンのときは、放送波との遅延を最短 0.9 秒にまで抑えて視聴できます。ただし、回線速度が遅かったり不安定な通信環境だと、ストリーミングが安定しないことがあります。\n  - 低遅延ストリーミングをオフにすると、遅延が 5 秒以上になりますが、不安定な通信環境でも安定して視聴できます。\n  - 低遅延ストリーミングのオン/オフは [設定] → [全般] から変更できます。\n- **ストリーミング画質を下げてみてください。**\n  - デフォルトのストリーミング画質の 1080p では、平均約 10Mbps のデータ量を消費します (通信節約モードがオンなら約 3Mbps に減少する) 。データ量はシーン次第で上下しますが、一般的に動きの激しいシーンや実写ではデータ量が多くなります。\n  - 画質を下げることで、回線速度が遅くても安定して視聴できるようになります。\n  - スペックの低いデバイスでは、画質を下げるとストリーミングが安定することがあります。\n  - デフォルトのストリーミング画質は [設定] → [全般] から変更できます。\n\n#### 外出先 (自宅以外) から Tailscale 経由で視聴しているとき\n \n- **低遅延ストリーミングをオフにしてみてください。**\n  - 低遅延ストリーミングがオンのときは、放送波との遅延を最短 0.9 秒にまで抑えて視聴できます。ただし、**モバイルデータ通信 (4G) やフリー Wi-Fi などのネットワーク遅延の大きい不安定な通信環境では、ストリーミングが安定しないことが多いです。**\n    - 海外や他の都道府県など地理的に離れた場所から視聴するときは、ネットワーク遅延が特に大きくなります。\n  - **低遅延ストリーミングをオフにすると、遅延が 5 秒以上になりますが、不安定な通信環境でも比較的安定して視聴できます。**\n  - 低遅延ストリーミングのオン/オフは [設定] → [全般] から変更できます。\n- **ストリーミング画質を下げてみてください。**\n  - デフォルトのストリーミング画質の 1080p では、平均約 10Mbps のデータ量を消費します (通信節約モードがオンなら約 3Mbps まで減る)  。データ量はシーン次第で上下しますが、一般的に動きの激しいシーンや実写ではデータ量が多くなります。\n  - 場所にもよりますが、モバイルデータ通信 (4G) やフリー Wi-Fi では通信速度があまり出ないことが多いです。**画質を下げることで、回線速度が遅くても安定して視聴できるようになります。**\n    - スマホの小さな画面では画質を 720p や 540p まで下げても見た目ほとんど変わらないので、そのあたりまで画質を下げるのがおすすめです。\n  - **画質を下げることで、モバイルデータ通信 (4G/5G) で視聴するときのデータ通信量 (いわゆるギガ、パケ代) も抑えられます。** 360p や 240p まで下げれば、データ通信量をかなり削減できます。\n    - PC サイズの画面で 360p はさすがに厳しいですが、スマホサイズの画面なら 360p でもそれなりに視聴に耐える印象です。\n  - スペックの低いデバイスでは、画質を下げるとストリーミングが安定することがあります。\n  - デフォルトのストリーミング画質は [設定] → [全般] から変更できます。\n- **通信節約モードを有効にしてみてください。**\n  - 通信節約モードでは、H.265 / HEVC という圧縮率の高いコーデックを使い、画質はほぼそのまま、通信量を**通常の 1/2 程度**に抑えながら視聴できます。\n  - **外出先からモバイルデータ通信 (4G/5G) で視聴するときは常に通信節約モードをオンにしておくことをおすすめします。** 画質を保ったまま、データ通信量 (いわゆるギガ、パケ代) をかなり削減できます。\n  - ただし、サーバー PC の GPU が H.265 / HEVC でのハードウェアエンコードに対応している必要があります。視聴開始時に「H.265/HEVC でのエンコードに対応していません」というエラーメッセージが表示された場合は、通信節約モードは使えません。\n  - 通信節約モードのオン/オフは [設定] → [全般] から変更できます。\n\n\u003cimg width=\"100%\" src=\"https://github.com/user-attachments/assets/0b034bfa-6021-442b-a81e-046722ff3469\"\u003e\u003cbr\u003e\n\n## 開発者向け情報\n\nVS Code を開発に利用しています。  \n開発時に推奨する VS Code 拡張機能は [.vscode/extensions.json](.vscode/extensions.json) に記述されています。\n\n### 開発版 KonomiTV のインストール (開発環境の構築)\n\nここでは、master ブランチにある最新の開発版 KonomiTV を手動でインストールする方法を説明します。  \nサポートは行えませんので、技術的な知識がある方のみお試しください。\n\n- Python 3.11.x\n- Poetry (最新版)\n- Node.js 20.16.0 (クライアントの開発やビルドを行う場合のみ)\n- yarn 1.x (クライアントの開発やビルドを行う場合のみ)\n\n事前に、上記ソフトウェアをインストールしている必要があります。\n\n開発環境は Windows 10 (x64) と Ubuntu 20.04 LTS (x64) で動作を確認しています。  \nなお、開発環境の Docker での動作は想定していません。サードパーティーライブラリなどの兼ね合いで、Docker では開発時の柔軟性が低くなってしまうためです。\n\n```bash\n# Windows は PowerShell 7 で、Ubuntu は bash での実行を想定\n\n# リポジトリの clone\n## /Develop の部分は適宜変更すること\ncd /Develop\ngit clone https://github.com/tsukumijima/KonomiTV.git\n\n# 設定ファイルのコピーと編集\n## config.yaml は適切に構成されている必要がある (さもなければサーバーが起動しない)\ncd KonomiTV/\n# Windows\nCopy-Item -Force config.example.yaml config.yaml\n# Linux:\ncp -a config.example.yaml config.yaml\nnano config.yaml\n\n# 一時的な Poetry 仮想環境の構築 (UpdateThirdparty の実行に必要)\ncd server/\npoetry env use 3.11\npoetry install --no-root\n\n# 最新のサードパーティーライブラリを GitHub Actions からダウンロード\n## 本番環境用のスタンドアローン版 Python もサードパーティーライブラリに含まれている\npoetry run task update-thirdparty\n\n# サードパーティーライブラリ内のスタンドアローン版 Python を明示的に指定して Poetry 仮想環境を再構築\n# Windows:\nRemove-Item -Recurse -Force .venv/\npoetry env use /Develop/KonomiTV/server/thirdparty/Python/python.exe\n# Linux\nrm -rf .venv/\npoetry env use /Develop/KonomiTV/server/thirdparty/Python/bin/python\n\n# 依存パッケージのインストール\npoetry install --no-root\n```\n\n### サーバーの起動\n\nKonomiTV サーバー (KonomiTV.py) を起動すると、内部で [Uvicorn](https://github.com/encode/uvicorn) と [Akebi HTTPS Server](https://github.com/tsukumijima/Akebi) が起動されます。\n\nUvicorn は ASGI サーバーで、FastAPI で記述された KonomiTV のアプリケーションサーバーを実行します。  \nまた、KonomiTV の場合は `client/dist/` 以下の静的ファイル (クライアント) を配信する Web サーバーの役割も兼ねています。  \nAkebi HTTPS Server は、自己署名証明書なしでプライベートネットワーク上の HTTP サーバーに HTTPS 化するためのリバースプロキシサーバーです。\n\n実際にユーザーがアクセスするのは Uvicorn の HTTP (HTTP/1.1) サーバーのリバースプロキシである、Akebi HTTPS Server による HTTPS (HTTP/2) サーバーになります。  \nUvicorn も Akebi HTTPS Server も KonomiTV.py の起動時に透過的に同時起動されるため、一般のユーザーが意識する必要はありません。\n\n```bash\ncd /Develop/KonomiTV/server/\n\n# リロードモードで起動する\npoetry run task dev\n\n# 通常モードで起動する\npoetry run task serve\n```\n\nサーバーの起動方法には、リロードモードと通常モードの2つがあります。\n\n通常モードは、本番環境 (リリース版) での Windows サービスや PM2 サービスで起動されるサーバーと同じモードになります。  \nより厳密にサービス起動時の環境を再現したい際は、sudo などで root 権限/管理者権限で実行してください。\n\nリロードモードでは、`server/` 以下のコードを変更すると自動でサーバーが再起動されます。  \nコードが変更されると今まで起動していたサーバープロセスは強制終了され、新しいサーバープロセスが起動されます。\n\n\u003e [!WARNING]  \n\u003e リロードモードかつ EDCB バックエンド利用時、サーバーを終了するタイミング次第では、EDCB のチューナープロセス (EpgDataCap_Bon) が終了されないままになることがあります。  \n\u003e 必ずログでエンコードタスクが終了 (Offline) になったことを確認してから、サーバーを終了してください。\n\n\u003e [!WARNING]  \n\u003e Python の asyncio の制限により、リロードモードは事実上 Windows 環境では利用できません。  \n\u003e 正確には外部プロセス実行を伴うストリーミング視聴を行わなければ一応動作しますが、予期せぬ問題が発生する可能性があります。  \n\u003e この関係もあり、現在の開発は Linux (Ubuntu 20.04 LTS) をメインに行っています。\n\n起動したサーバーは、`https://my.local.konomi.tv:7000/` でリッスンされます。\n特にリッスン範囲の制限はしていないので、プライベートネットワーク上の他の PC やスマホからもアクセスできます。  \nサーバーを終了するときは、Ctrl+C を押してください。\n\n起動中のサーバーのログは、`server/logs/KonomiTV-Server.log` に保存されます。  \n同時起動される Akebi HTTPS Server のログは `server/logs/Akebi-HTTPS-Server.log` に保存されます。\n\n\u003e [!NOTE]  \n\u003e サーバー設定でデバッグモード (general -\u003e debug) を有効にすると、デバッグログも出力されるようになります。開発環境では常にデバッグモードにしておくことをおすすめします。  \n\u003e さらにエンコーダーのログ (general -\u003e debug_encoder) を有効にすると、ライブ視聴時のエンコーダーのログが `server/logs/KonomiTV-Encoder-(ストリームID).log` に保存されます。\n\nAPI ドキュメント (Swagger) は https://my.local.konomi.tv:7000/api/docs にあります。  \nAPI ドキュメントは FastAPI によって自動生成されたものです。  \nその場で API リクエストを試せたり、グラフィカルに API ドキュメントを参照できたりととても便利です。ぜひご活用ください。\n\n### Windows / PM2 サービスのインストールと起動\n\nここでは、上記手順で構築した開発環境を Windows / PM2 サービスとして起動する方法を説明します。\n\n#### Windows サービス\n\n事前に PowerShell 7 を管理者権限で起動しておいてください。  \n管理者権限でない場合、Windows サービスのインストールに失敗します。\n\n\u003e [!WARNING]  \n\u003e KonomiTV の Windows サービスは相当強引な手法で実装しているため (そうせざるを得なかった…) 、開発状況次第では Windows サービスでのみ動作しなくなっている可能性があります。  \n\u003e 動作不良時は、一度 `poetry run task serve` で起動できるかや、`server/logs/KonomiTV-Server.log` 内のログを確認してみてください。\n\n\u003e [!NOTE]  \n\u003e KonomiTV-Service.py は、KonomiTV の Windows サービスの管理を行うユーティリティスクリプトです。\n\u003e `poetry run python KonomiTV-Service.py --help` と実行すると、利用できるコマンドの一覧が表示されます。\n\n```powershell\ncd /Develop/KonomiTV/server/\n\n# Windows サービスのインストール\n## インストールと同時に自動起動 (OS 起動後数分遅延してから) も設定される\npoetry run python KonomiTV-Service.py install --username (ログオン中のユーザー名) --password (ログオン中ユーザーのパスワード)\n\n# Windows サービスの起動\n## sc start \"KonomiTV Service\" でも起動できる\npoetry run python KonomiTV-Service.py start\n\n# Windows サービスの停止\n## sc stop \"KonomiTV Service\" でも停止できる\npoetry run python KonomiTV-Service.py stop\n\n# Windows サービスのアンインストール\n## アンインストールと同時に自動起動の設定も解除される\npoetry run python KonomiTV-Service.py stop  # サービスを停止してからアンインストールすること\npoetry run python KonomiTV-Service.py uninstall\n```\n\n#### PM2 サービス\n\n事前に root 権限で PM2 がインストールされている必要があります。\n\n```bash\ncd /Develop/KonomiTV/server/\n\n# PM2 サービスのインストール\nsudo pm2 start .venv/bin/python --name KonomiTV -- KonomiTV.py\n\n# PM2 のスタートアップ設定\nsudo pm2 startup\n\n# PM2 への変更の保存\nsudo pm2 save\n\n# PM2 サービスの起動\nsudo pm2 start KonomiTV\n\n# PM2 サービスの停止\nsudo pm2 stop KonomiTV\n\n# PM2 サービスのアンインストール\nsudo pm2 stop KonomiTV  # サービスを停止してからアンインストールすること\nsudo pm2 delete KonomiTV\nsudo pm2 save\n```\n\n### クライアントの開発・ビルド\n\nクライアント (フロントエンド) は Vue.js 3.x の SPA (Single Page Application) で開発されており、コーディングとビルドには少なくとも Node.js が必要です。  \nNode.js 20.16.0 / yarn 1.x で開発しています。\n\n```bash\ncd /Develop/KonomiTV/client/\n\n# 依存パッケージのインストール\nyarn install\n\n# クライアントの開発サーバーの起動\nyarn dev\n\n# クライアントのビルド\n## ビルド成果物は client/dist/ に出力され、サーバー側の HTTP サーバーによって配信される\nyarn build\n```\n\n起動したクライアントの開発サーバーは、`https://my.local.konomi.tv:7001/` でリッスンされます。  \n`client/` 以下のコードを変更すると、自動で差分が再ビルドされます。  \n特にリッスン範囲の制限はしていないので、プライベートネットワーク上の他の PC やスマホからもアクセスできます。  \nサーバーを終了するときは、Ctrl+C を押してください。\n\n\u003e [!WARNING]  \n\u003e `yarn dev` でクライアントの開発サーバーを起動する際は、必ず `poetry run task dev` でサーバー側の開発サーバーも起動してください。  \n\u003e クライアントの開発サーバーはフロントエンド側の静的ファイルのみをホスティングしますが、サーバー側の開発サーバーは静的ファイルの配信だけでなく、API サーバーとしての役割も兼ねています。  \n\u003e このため、クライアントの開発サーバーのみ、クライ�","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftsukumijima%2Fkonomitv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftsukumijima%2Fkonomitv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftsukumijima%2Fkonomitv/lists"}