このプロジェクトについて
Opalは、無料・オープンソースのローカルファーストなメディアプレイヤー兼ブラウザであり、プレイヤー、ストリーミングサイト、サーバーフロントエンド、トレントクライアント、フィードといった別々のツール群を置き換えることを目指している。Zig、dvui、mpvでビルドされた単一のネイティブバイナリとして配布され、macOS(Apple silicon)とLinux x86_64を対象とし、Windows x64対応はアルファ版とされ、まだ同等の水準には達していない。
できること
単一の検索ボックスが、設定されたすべてのソースにクエリを展開し、ランク付けされた再生可能なリストを1つ返す。ソースにはローカルディスク、トレント、Jellyfin、Plex、Stremio、アニメ、YouTube、ライブTV、TMDBメタデータ、マンガが含まれる。トレントのマグネットはファイルのように扱われ、再生を押すとダウンロードを続けながらストリーミングが始まる。また、TMDB、YouTube、アニメ、Jellyfin、Plexにわたるトレンドウォール、ジャンル、エピソードのドリルダウンも提供する。
ライブTVとIPTVは、入力しながら検索できる約40,000チャンネルのカタログを通じてサポートされる。マンガ対応はMihon/Tachiyomi拡張機能を使用し、Opal自体がSuwayomiサーバーを実行する。YouTube再生はAV1セーフと説明されている。
オプションのオンデバイスAIコパイロットは、ツール使用を備えたローカルLLMを用いて、何を観るべきかといった質問に答え、再生可能な候補を返す。音声とAIモデルはオプトインであり、自動的にダウンロードされるものはない。無料のTMDB v4トークンを追加すると、より豊富なメタデータが得られる。
プレイヤーと追加機能
プレイヤーはmpv上に構築され、自動字幕、ウォッチパーティ、セッション復元、スマートフォンリモート、ポート41595のWeb UI、さらに動画フレームのOCR、言語フラッシュカード、RSS、シークレットモード、7つのテーマ、JSON APIを備える。インストールされていれば、再生をVLCに引き渡すこともできる。キーボードショートカットは、検索、ブラウザ、ライブラリ、履歴、全画面、プレイリスト、グリッドレイアウト、フィット/クロップ、ファイルを開く、設定、チートシートをカバーする。
Opal Connectと呼ばれるクロスブラウザのMV3拡張機能(Chrome、Edge、Firefox)は、タブをOpalのアクションに変える。動画を送信またはキューに追加し、マンガや小説サイトをソースとして追加し、サイドパネルのリモートから再生を操作できる。
プライバシーとデータ
このプロジェクトは、アカウントなし、テレメトリなし、クラウドなし、サブスクリプションなしを掲げている。履歴とAIメモリは、ユーザーが所有するSQLiteファイルに保存される。ファイルはXDG準拠であり、設定、トークン、opal.dbは~/.config/opal配下、キャッシュは~/.cache/opal配下、ダウンロードは~/Downloads/opal、コンテンツプラグインは~/.config/opal/plugins配下に置かれる。コンテンツソースは無効の状態で同梱され、プラグインレジストリからインストールする必要がある。プラグインはマニフェストと、JSONを出力するsearch/resolve実行ファイルで構成され、Luaはサンドボックス化されるがネイティブバイナリはサンドボックス化されない。
インストール
ワンコマンドのインストーラスクリプトがプラットフォームを検出し、チェックサムを検証し、アップデータおよびバージョン固定としても機能する。Linuxではsudoなしで~/.localにインストールされ、apt、dnf、zypper、AUR向けのシステム全体モードはオプトインである。パッケージはmacOS dmg、Homebrew tap、deb、rpm、AppImage、Windows msiまたはポータブルzipとしても提供される。ソースからのビルドにはZig 0.16.xと、mpv、sqlite、onnxruntime、SDL2、libtorrent-rasterbar、音声用のffmpeg/whisper-cppといったネイティブ依存関係が必要である。Linuxの最低要件にはlibmpv 0.34以降が含まれ、ビルド済みAppImageにはglibc 2.38が必要である。
アーキテクチャとライセンス
ソースツリーは、core(アロケータ、状態、設定、パス、sqlite-vec付きsqlite)、player(mpvラッパー、プレイリスト、字幕、履歴)、services(検索、AI、トレント、Jellyfin、リモートAPI)、ui(dvuiウィジェット)に分かれ、さらにコンパニオンWeb UIと拡張機能が並ぶ。このプロジェクトは、単一のリークチェック済みアロケータ、固定サイズバッファ、スレッドセーフティ規則の下での単一の共有状態ハブ、変更時のみの再描画を重視している。ライセンスはGPL-3.0で、同梱の依存関係はそれぞれ独自のライセンスを保持する。READMEは、Opalは何もホスト、インデックス、配布せず、ユーザーが設定したソースにのみ接続すること、そしてBitTorrentはユーザーのIPをスウォームに公開することを警告している。
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.