Skip to content
Till0196Public

About

Cross-platform TV player for live/recorded streams. Supports MPEG-2 TS & MMT/TLV in a unified Win/Mac/Linux UI.

Topics

Resources

Stars

47 stars

Watchers

0 watching

Forks

Repository files navigation

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 と衝突する)。

使い方

cd deck
cargo run --release -- 録画.ts        # 再生
cargo run --release                   # zerowave.toml のソース(coaxd・Mirakurun)で起動する

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

About

Cross-platform TV player for live/recorded streams. Supports MPEG-2 TS & MMT/TLV in a unified Win/Mac/Linux UI.

Topics

Resources

Stars

47 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages