Skip to content

Commit cf0b22b

Browse files
committed
Restructure README and add localized versions
1 parent 617a582 commit cf0b22b

14 files changed

Lines changed: 1138 additions & 606 deletions

README.es.md

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
# OpenMOQ Publisher
2+
3+
[English](README.md) | [Español](README.es.md) | [Français](README.fr.md) | [Italiano](README.it.md) | [日本語](README.ja.md) | [Português](README.pt.md) | [中文](README.zh.md)
4+
5+
`moqxr` es un publisher OpenMOQ en C++20 para Linux, macOS y Windows.
6+
7+
Convierte entrada MP4 en objetos publicables de estilo CMSF, crea planes de publicación MOQT conscientes del draft y puede inspeccionar esos planes localmente o publicarlos mediante rutas Raw QUIC y WebTransport respaldadas por picoquic.
8+
9+
## Qué Hace
10+
11+
- Analiza entrada MP4 fragmentada con `ftyp` + `moov` + `moof`/`mdat`.
12+
- Remultiplexa MP4 progresivo en objetos multimedia fragmentados sintetizados.
13+
- Extrae metadatos de tracks e identificadores de codec RFC 6381.
14+
- Preserva la señalización HEVC y normaliza `hev1` a `hvc1` cuando es necesario.
15+
- Crea planes de publicación con catálogo, metadatos opcionales de línea de tiempo SAP y objetos multimedia.
16+
- Emite objetos generados y metadatos de catálogo al disco para inspección.
17+
- Soporta framing MOQT consciente del draft para los drafts 14, 16 y 18.
18+
- Publica sobre Raw QUIC o WebTransport cuando picoquic y picotls están disponibles.
19+
20+
## Inicio Rápido
21+
22+
Compilar y probar:
23+
24+
```bash
25+
cmake -S . -B build -DOPENMOQ_RUN_PICOQUIC_SMOKE_TESTS=OFF
26+
cmake --build build
27+
ctest --test-dir build --output-on-failure
28+
```
29+
30+
Inspeccionar un plan de publicación:
31+
32+
```bash
33+
./build/openmoq-publisher --input sample.mp4 --dump-plan
34+
```
35+
36+
Emitir catálogo y objetos multimedia:
37+
38+
```bash
39+
./build/openmoq-publisher --input sample.mp4 --emit-dir out/
40+
```
41+
42+
Publicar a un relay:
43+
44+
```bash
45+
OPENMOQ_PICOQUIC_TRACE=1 ./build/openmoq-publisher \
46+
--input sample.mp4 \
47+
--endpoint moqt://relay.example.com:443/moq \
48+
--namespace media \
49+
--forward 0 \
50+
--timeout 10 \
51+
--paced
52+
```
53+
54+
En Windows, reemplace `./build/openmoq-publisher` por `build\Release\openmoq-publisher.exe` o por la ruta correspondiente a la configuración de build.
55+
56+
## Documentación
57+
58+
| Tema | Enlace |
59+
| --- | --- |
60+
| Compilación y dependencias | [docs/build.md](docs/build.md) |
61+
| Inicio rápido de CLI | [docs/quickstart.md](docs/quickstart.md) |
62+
| Pruebas | [docs/testing.md](docs/testing.md) |
63+
| Diseño | [docs/design.md](docs/design.md) |
64+
| Recetas de entrada FFmpeg | [docs/ffmpeg.md](docs/ffmpeg.md) |
65+
| Interoperabilidad con relays | [docs/relay-interop.md](docs/relay-interop.md) |
66+
| API Publisher de C++ | [docs/publisher-api.md](docs/publisher-api.md) |
67+
| Mapeo de protocolo | [docs/protocol-mapping.md](docs/protocol-mapping.md) |
68+
| Cumplimiento WebTransport | [docs/webtransport-compliance.md](docs/webtransport-compliance.md) |
69+
| Plan de transporte | [docs/transport-plan.md](docs/transport-plan.md) |
70+
| Estado y roadmap | [docs/status.md](docs/status.md) |
71+
72+
Las guías localizadas de la API Publisher están disponibles en [español](docs/publisher-api.es.md), [francés](docs/publisher-api.fr.md), [italiano](docs/publisher-api.it.md), [japonés](docs/publisher-api.ja.md), [portugués](docs/publisher-api.pt.md) y [chino](docs/publisher-api.zh.md).
73+
74+
## Estructura del Repositorio
75+
76+
- `include/openmoq/publisher`: headers públicos
77+
- `src`: implementación de la biblioteca y CLI
78+
- `tests`: cobertura basada en CTest
79+
- `docs`: notas de protocolo, guías de integración y referencias de diseño
80+
- `examples`: integraciones de publisher de ejemplo
81+
- `.github/workflows/ci.yml`: CI para Linux, macOS y Windows
82+
- `.github/workflows/release.yml`: builds de artefactos de release
83+
84+
## Estado Actual
85+
86+
El publisher puede generar planes de publicación, emitir salida inspeccionable y publicar sobre transportes Raw QUIC y WebTransport respaldados por picoquic. El draft 14 es el objetivo principal, el draft 16 se mantiene como perfil de compatibilidad, y el soporte de draft 18 está implementado para selección de versión, rutas de codec para setup/request framing y correlación de respuestas de request-stream mientras continúa el endurecimiento de interoperabilidad.
87+
88+
Para el roadmap detallado, consulte [docs/status.md](docs/status.md).

README.fr.md

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
# OpenMOQ Publisher
2+
3+
[English](README.md) | [Español](README.es.md) | [Français](README.fr.md) | [Italiano](README.it.md) | [日本語](README.ja.md) | [Português](README.pt.md) | [中文](README.zh.md)
4+
5+
`moqxr` est un publisher OpenMOQ en C++20 pour Linux, macOS et Windows.
6+
7+
Il transforme une entrée MP4 en objets publiables de style CMSF, construit des plans de publication MOQT adaptés aux drafts, et peut soit inspecter ces plans localement, soit les publier via des chemins Raw QUIC et WebTransport basés sur picoquic.
8+
9+
## Ce Qu'il Fait
10+
11+
- Analyse les entrées MP4 fragmentées avec `ftyp` + `moov` + `moof`/`mdat`.
12+
- Remuxe les MP4 progressifs en objets média fragmentés synthétisés.
13+
- Extrait les métadonnées de tracks et les identifiants de codecs RFC 6381.
14+
- Préserve la signalisation HEVC et normalise `hev1` en `hvc1` lorsque nécessaire.
15+
- Construit des plans de publication avec catalogue, métadonnées optionnelles de timeline SAP et objets média.
16+
- Émet les objets générés et les métadonnées de catalogue sur disque pour inspection.
17+
- Prend en charge le framing MOQT adapté aux drafts 14, 16 et 18.
18+
- Publie via Raw QUIC ou WebTransport lorsque picoquic et picotls sont disponibles.
19+
20+
## Démarrage Rapide
21+
22+
Construire et tester :
23+
24+
```bash
25+
cmake -S . -B build -DOPENMOQ_RUN_PICOQUIC_SMOKE_TESTS=OFF
26+
cmake --build build
27+
ctest --test-dir build --output-on-failure
28+
```
29+
30+
Inspecter un plan de publication :
31+
32+
```bash
33+
./build/openmoq-publisher --input sample.mp4 --dump-plan
34+
```
35+
36+
Émettre le catalogue et les objets média :
37+
38+
```bash
39+
./build/openmoq-publisher --input sample.mp4 --emit-dir out/
40+
```
41+
42+
Publier vers un relay :
43+
44+
```bash
45+
OPENMOQ_PICOQUIC_TRACE=1 ./build/openmoq-publisher \
46+
--input sample.mp4 \
47+
--endpoint moqt://relay.example.com:443/moq \
48+
--namespace media \
49+
--forward 0 \
50+
--timeout 10 \
51+
--paced
52+
```
53+
54+
Sous Windows, remplacez `./build/openmoq-publisher` par `build\Release\openmoq-publisher.exe` ou par le chemin correspondant à votre configuration de build.
55+
56+
## Documentation
57+
58+
| Sujet | Lien |
59+
| --- | --- |
60+
| Build et dépendances | [docs/build.md](docs/build.md) |
61+
| Démarrage CLI | [docs/quickstart.md](docs/quickstart.md) |
62+
| Tests | [docs/testing.md](docs/testing.md) |
63+
| Aperçu de conception | [docs/design.md](docs/design.md) |
64+
| Recettes d'entrée FFmpeg | [docs/ffmpeg.md](docs/ffmpeg.md) |
65+
| Interopérabilité relay | [docs/relay-interop.md](docs/relay-interop.md) |
66+
| API Publisher C++ | [docs/publisher-api.md](docs/publisher-api.md) |
67+
| Mapping du protocole | [docs/protocol-mapping.md](docs/protocol-mapping.md) |
68+
| Conformité WebTransport | [docs/webtransport-compliance.md](docs/webtransport-compliance.md) |
69+
| Plan transport | [docs/transport-plan.md](docs/transport-plan.md) |
70+
| État et roadmap | [docs/status.md](docs/status.md) |
71+
72+
Les guides localisés de l'API Publisher sont disponibles en [espagnol](docs/publisher-api.es.md), [français](docs/publisher-api.fr.md), [italien](docs/publisher-api.it.md), [japonais](docs/publisher-api.ja.md), [portugais](docs/publisher-api.pt.md) et [chinois](docs/publisher-api.zh.md).
73+
74+
## Structure du Dépôt
75+
76+
- `include/openmoq/publisher` : headers publics
77+
- `src` : implémentation bibliothèque et CLI
78+
- `tests` : couverture basée sur CTest
79+
- `docs` : notes de protocole, guides d'intégration et références de conception
80+
- `examples` : exemples d'intégrations publisher
81+
- `.github/workflows/ci.yml` : CI Linux, macOS et Windows
82+
- `.github/workflows/release.yml` : builds d'artefacts de release
83+
84+
## État Actuel
85+
86+
Le publisher peut générer des plans de publication, émettre une sortie inspectable et publier via des transports Raw QUIC et WebTransport basés sur picoquic. Le draft 14 est la cible principale, le draft 16 est maintenu comme profil de compatibilité, et le support du draft 18 est implémenté pour la sélection de version, les chemins de codec setup/request framing et la corrélation des réponses request-stream pendant que l'endurcissement interop se poursuit.
87+
88+
Pour la roadmap détaillée, consultez [docs/status.md](docs/status.md).

README.it.md

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
# OpenMOQ Publisher
2+
3+
[English](README.md) | [Español](README.es.md) | [Français](README.fr.md) | [Italiano](README.it.md) | [日本語](README.ja.md) | [Português](README.pt.md) | [中文](README.zh.md)
4+
5+
`moqxr` è un publisher OpenMOQ in C++20 per Linux, macOS e Windows.
6+
7+
Trasforma input MP4 in oggetti pubblicabili in stile CMSF, costruisce piani di pubblicazione MOQT consapevoli del draft e può ispezionare quei piani localmente oppure pubblicarli tramite percorsi Raw QUIC e WebTransport basati su picoquic.
8+
9+
## Cosa Fa
10+
11+
- Analizza input MP4 frammentati con `ftyp` + `moov` + `moof`/`mdat`.
12+
- Remuxa MP4 progressivi in oggetti media frammentati sintetizzati.
13+
- Estrae metadati delle tracce e identificatori codec RFC 6381.
14+
- Preserva la segnalazione HEVC e normalizza `hev1` in `hvc1` quando necessario.
15+
- Costruisce piani di pubblicazione con catalogo, metadati SAP opzionali e oggetti media.
16+
- Emette su disco gli oggetti generati e i metadati del catalogo per l'ispezione.
17+
- Supporta framing MOQT consapevole del draft per draft 14, 16 e 18.
18+
- Pubblica su Raw QUIC o WebTransport quando picoquic e picotls sono disponibili.
19+
20+
## Avvio Rapido
21+
22+
Compilare e testare:
23+
24+
```bash
25+
cmake -S . -B build -DOPENMOQ_RUN_PICOQUIC_SMOKE_TESTS=OFF
26+
cmake --build build
27+
ctest --test-dir build --output-on-failure
28+
```
29+
30+
Ispezionare un piano di pubblicazione:
31+
32+
```bash
33+
./build/openmoq-publisher --input sample.mp4 --dump-plan
34+
```
35+
36+
Emettere catalogo e oggetti media:
37+
38+
```bash
39+
./build/openmoq-publisher --input sample.mp4 --emit-dir out/
40+
```
41+
42+
Pubblicare verso un relay:
43+
44+
```bash
45+
OPENMOQ_PICOQUIC_TRACE=1 ./build/openmoq-publisher \
46+
--input sample.mp4 \
47+
--endpoint moqt://relay.example.com:443/moq \
48+
--namespace media \
49+
--forward 0 \
50+
--timeout 10 \
51+
--paced
52+
```
53+
54+
Su Windows, sostituite `./build/openmoq-publisher` con `build\Release\openmoq-publisher.exe` o con il percorso corrispondente alla configurazione di build.
55+
56+
## Documentazione
57+
58+
| Argomento | Link |
59+
| --- | --- |
60+
| Build e dipendenze | [docs/build.md](docs/build.md) |
61+
| Avvio rapido CLI | [docs/quickstart.md](docs/quickstart.md) |
62+
| Test | [docs/testing.md](docs/testing.md) |
63+
| Panoramica del design | [docs/design.md](docs/design.md) |
64+
| Ricette input FFmpeg | [docs/ffmpeg.md](docs/ffmpeg.md) |
65+
| Interoperabilità relay | [docs/relay-interop.md](docs/relay-interop.md) |
66+
| API Publisher C++ | [docs/publisher-api.md](docs/publisher-api.md) |
67+
| Mappatura protocollo | [docs/protocol-mapping.md](docs/protocol-mapping.md) |
68+
| Conformità WebTransport | [docs/webtransport-compliance.md](docs/webtransport-compliance.md) |
69+
| Piano transport | [docs/transport-plan.md](docs/transport-plan.md) |
70+
| Stato e roadmap | [docs/status.md](docs/status.md) |
71+
72+
Le guide localizzate dell'API Publisher sono disponibili in [spagnolo](docs/publisher-api.es.md), [francese](docs/publisher-api.fr.md), [italiano](docs/publisher-api.it.md), [giapponese](docs/publisher-api.ja.md), [portoghese](docs/publisher-api.pt.md) e [cinese](docs/publisher-api.zh.md).
73+
74+
## Struttura del Repository
75+
76+
- `include/openmoq/publisher`: header pubblici
77+
- `src`: implementazione di libreria e CLI
78+
- `tests`: copertura basata su CTest
79+
- `docs`: note di protocollo, guide di integrazione e riferimenti di design
80+
- `examples`: integrazioni publisher di esempio
81+
- `.github/workflows/ci.yml`: CI Linux, macOS e Windows
82+
- `.github/workflows/release.yml`: build degli artefatti di release
83+
84+
## Stato Attuale
85+
86+
Il publisher può generare piani di pubblicazione, emettere output ispezionabile e pubblicare su trasporti Raw QUIC e WebTransport basati su picoquic. Il draft 14 è il target principale, il draft 16 è mantenuto come profilo di compatibilità, e il supporto al draft 18 è implementato per selezione versione, percorsi codec di setup/request framing e correlazione delle risposte request-stream mentre continua l'hardening interop.
87+
88+
Per la roadmap dettagliata, vedere [docs/status.md](docs/status.md).

README.ja.md

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
# OpenMOQ Publisher
2+
3+
[English](README.md) | [Español](README.es.md) | [Français](README.fr.md) | [Italiano](README.it.md) | [日本語](README.ja.md) | [Português](README.pt.md) | [中文](README.zh.md)
4+
5+
`moqxr` は、Linux、macOS、Windows 向けの C++20 OpenMOQ publisher です。
6+
7+
MP4 入力を CMSF スタイルの公開可能オブジェクトに変換し、draft に応じた MOQT publish plan を作成します。その plan はローカルで検査でき、picoquic ベースの Raw QUIC または WebTransport 経路で公開することもできます。
8+
9+
## 機能
10+
11+
- `ftyp` + `moov` + `moof`/`mdat` を持つ fragmented MP4 入力を解析します。
12+
- progressive MP4 入力を合成された fragmented media object に remux します。
13+
- track metadata と RFC 6381 codec identifier を抽出します。
14+
- HEVC signaling を維持し、必要に応じて `hev1``hvc1` に正規化します。
15+
- catalog、任意の SAP event timeline metadata、media object を含む publish plan を作成します。
16+
- 生成された object と catalog metadata を検査用にディスクへ出力します。
17+
- draft 14、16、18 向けの draft-aware MOQT framing をサポートします。
18+
- picoquic と picotls が利用可能な場合、Raw QUIC または WebTransport で公開します。
19+
20+
## クイックスタート
21+
22+
ビルドとテスト:
23+
24+
```bash
25+
cmake -S . -B build -DOPENMOQ_RUN_PICOQUIC_SMOKE_TESTS=OFF
26+
cmake --build build
27+
ctest --test-dir build --output-on-failure
28+
```
29+
30+
publish plan を検査:
31+
32+
```bash
33+
./build/openmoq-publisher --input sample.mp4 --dump-plan
34+
```
35+
36+
catalog と media object を出力:
37+
38+
```bash
39+
./build/openmoq-publisher --input sample.mp4 --emit-dir out/
40+
```
41+
42+
relay へ公開:
43+
44+
```bash
45+
OPENMOQ_PICOQUIC_TRACE=1 ./build/openmoq-publisher \
46+
--input sample.mp4 \
47+
--endpoint moqt://relay.example.com:443/moq \
48+
--namespace media \
49+
--forward 0 \
50+
--timeout 10 \
51+
--paced
52+
```
53+
54+
Windows では、`./build/openmoq-publisher``build\Release\openmoq-publisher.exe` または該当する build configuration のパスに置き換えてください。
55+
56+
## ドキュメント
57+
58+
| トピック | リンク |
59+
| --- | --- |
60+
| ビルドと依存関係 | [docs/build.md](docs/build.md) |
61+
| CLI クイックスタート | [docs/quickstart.md](docs/quickstart.md) |
62+
| テスト | [docs/testing.md](docs/testing.md) |
63+
| 設計概要 | [docs/design.md](docs/design.md) |
64+
| FFmpeg 入力レシピ | [docs/ffmpeg.md](docs/ffmpeg.md) |
65+
| Relay interop | [docs/relay-interop.md](docs/relay-interop.md) |
66+
| C++ Publisher API | [docs/publisher-api.md](docs/publisher-api.md) |
67+
| Protocol mapping | [docs/protocol-mapping.md](docs/protocol-mapping.md) |
68+
| WebTransport compliance | [docs/webtransport-compliance.md](docs/webtransport-compliance.md) |
69+
| Transport plan | [docs/transport-plan.md](docs/transport-plan.md) |
70+
| Project status と roadmap | [docs/status.md](docs/status.md) |
71+
72+
ローカライズされた Publisher API ガイドは、[スペイン語](docs/publisher-api.es.md)[フランス語](docs/publisher-api.fr.md)[イタリア語](docs/publisher-api.it.md)[日本語](docs/publisher-api.ja.md)[ポルトガル語](docs/publisher-api.pt.md)[中国語](docs/publisher-api.zh.md)で利用できます。
73+
74+
## リポジトリ構成
75+
76+
- `include/openmoq/publisher`: public header
77+
- `src`: library と CLI の実装
78+
- `tests`: CTest ベースの test coverage
79+
- `docs`: protocol notes、integration guide、design reference
80+
- `examples`: publisher integration example
81+
- `.github/workflows/ci.yml`: Linux、macOS、Windows CI
82+
- `.github/workflows/release.yml`: release artifact build
83+
84+
## 現在の状態
85+
86+
publisher は publish plan の生成、検査可能な出力の生成、picoquic ベースの Raw QUIC と WebTransport transport での公開に対応しています。draft 14 が主なターゲットで、draft 16 は compatibility profile として維持されています。draft 18 は version selection、setup/request framing codec path、request-stream response correlation に対応しており、interop hardening は継続中です。
87+
88+
詳細な roadmap は [docs/status.md](docs/status.md) を参照してください。

0 commit comments

Comments
 (0)