Till0196 / ZeroWave
git clone https://github.com/Till0196/ZeroWave.git
v0.1.2 · 5d ago
Cross-platform TV player for live/recorded streams. Supports MPEG-2 TS & MMT/TLV in a unified Win/Mac/Linux UI.
+0
stars, 24h · #40,697
+~2
stars, 7 days · #25,989
+47
stars, 30 days · #13,855
47
★ total · +2% this week
2
forks · 3 open issues
Star history (as recorded here)
LanguageRust
LicenseApache-2.0
Created2026-10-13 (9d ago)
Last pushtoday
Watchers0
OwnerUser
GitHub topics
Links
README excerpt
# ZeroWave デジタル放送の視聴プログラム。MPEG-2 TS と MMT/TLV のdemuxからデコード、デインタレース、表示までを行います。 | クレート | 中身 | | --- | --- | | `mediadecoder` | ES ヘッダー解析、MPEG-2 / H.264 / HEVC / AAC / MPEG Audio / AIFF のデコード、規格が定める参照画像の管理。 | | `core`(`zwcore`) | 本体。コンテナフォーマット、時計と同期、八つのハードウェアデコードの経路(VA-API・V4L2・NVDEC・D3D12・VideoToolbox・Android・AMF・QSV)、音声の経路(デバイス、パススルー、リサンプル)、wgpu と GLES 2.0 のレンダリング、デインタレース、番組表と、プレイヤー(字幕、データ放送、レイヤー、プラグインの読み込み。feature `plugins`)。 | | `sdk`(`zwsdk`) | プラグインの SDK。プラグイン側(`plug`)、ホスト側(`host`、feature)、メッセージの型(`layer`・`video`)、フォントの探し方(`fonts`)、ホスト側の canvas 2D(`draw`、feature `host`)、通信(`net`)、UI(`ui`)、リモコン(`control`)、設定(`config`)。`javy/` と `ts/` は TypeScript用の Javy プラグインと SDK | | `deck` | デスクトップ向けZeroWave実装。ウィンドウ(winit・egui)、wgpu のサーフェス、音声の出力(Linux は libasound を実行時に開き、ほかは cpal)。 | 伝送層(`mpegts` / `mmttlv` / `isdb`)は coax-rs 。 プラグイン(TSMF、データ放送、映像フィルター、TypeScript のレイヤー)はzerowave_plugins 。 `core` の package 名は `zerowave-core`、使うときの名前は `zwcore`(`core` は libcore と衝突する)。 ### 使い方 [code] `coaxd` は coax のチューナーを管理するデーモンです。 coax のリリースから入手して、`ZeroWave` と同じフォルダーか `PATH` の通った場所に置くと、必要なときに自動で起動します。 `ZeroWave` のフォルダーに書き込めないときは、設定フォルダー(Windows は `%LOCALAPPDATA%\zerowave`、macOS は `~/Library/Application Support/zerowave`、Linux は `~/.local/share/zerowave`)に置きます。 ファームウェアが必要なデバイスは、`coaxd` と同じフォルダに `firmware` フォルダーを作成し、ファームウェアを設置してください(coax の説明)。 クロスビルドはビルドを参照してください。 macOS でダウンロードした ZeroWave.app を初めて開くときの手順は、macOS で初めて開くときにあります。 ### 文書 | 文書 | 中身 | | --- | --- | | スクリーンショット | 画面の例 | | 構成 | 解析とデコードのフィルター、ストリームの種別、規格の処理を一箇所に置く方針 | | 番組表とテーブル | TS・MMT/TLV のテーブル、放送波からの番組表の集め方と残し方 | | プラグイン | wasm のプラグインの SDK と hook、TSMF | | デコーダー | OS のデコーダー、デコーダーの優先順位と GPU 間転送、デコーダーのデインタレース、音声のデコーダー | | HDR | HLG・PQ の映像をサーフェスへ出す変換 | | AAC のパススルー | IEC 61937 で AV アンプへ渡す経路 | | 検証 | 試験の素材、参照実装との突き合わせ、`deck --check` | | ビルド | 通常のビルド、zig でのクロスビルド、feature | ### 注意 ZeroWave には CAS(限定受信方式)の処理は含まれていません。 暗号化された放送は再生できません。 ### ライセンス ZeroWave は Apache License 2.0 です(LICENSE)。 ほかのソフトウェアのヘッダーから書き写した宣言と、同梱している `sdk/javy/zwjavy.wasm` のライセンスは NOTICE にあります。 | 書き写した物 | ライセンス | | --- | --- | | NVIDIA Optical Flow SDK・Video Codec SDK(nv-codec-headers)のヘッダー | MIT | | Intel の libvpl・libva のヘッダー | MIT | | AMD Advanced Media Framework のヘッダー | MIT | | Linux の V4L2・DRM のヘッダー | GPL-2.0 WITH Linux-syscall-note(一部は BSD-3-Clause・MIT) | | `sdk/javy/zwjavy.wasm`(Javy・rquickjs・QuickJS-ng ほか) | Apache-2.0 WITH LLVM-exception・MIT |