📈 GH Trending Explorer 🎲 Surprise me

← all repos

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)

2026-10-20 · 46 ★ 2026-10-23 · 47 ★
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 |