English | Español | Français | Italiano | 日本語 | Português | 中文
moqxr è un publisher OpenMOQ in C++20 per Linux, macOS e Windows.
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.
- Analizza input MP4 frammentati con
ftyp+moov+moof/mdat. - Remuxa MP4 progressivi in oggetti media frammentati sintetizzati.
- Estrae metadati delle tracce e identificatori codec RFC 6381.
- Preserva la segnalazione HEVC e normalizza
hev1inhvc1quando necessario. - Costruisce piani di pubblicazione con catalogo, metadati SAP opzionali e oggetti media.
- Emette su disco gli oggetti generati e i metadati del catalogo per l'ispezione.
- Supporta framing MOQT consapevole del draft per draft 14, 16 e 18.
- Pubblica su Raw QUIC o WebTransport quando picoquic e picotls sono disponibili.
Compilare e testare:
cmake -S . -B build -DOPENMOQ_RUN_PICOQUIC_SMOKE_TESTS=OFF
cmake --build build
ctest --test-dir build --output-on-failureIl build predefinito crea sia l'eseguibile openmoq-publisher sia la libreria statica del publisher: build/libopenmoq_publisher.a su Linux/macOS, oppure build\<config>\openmoq_publisher.lib con i generatori Visual Studio su Windows.
Ispezionare un piano di pubblicazione:
./build/openmoq-publisher --input sample.mp4 --dump-planEmettere catalogo e oggetti media:
./build/openmoq-publisher --input sample.mp4 --emit-dir out/Pubblicare verso un relay:
OPENMOQ_PICOQUIC_TRACE=1 ./build/openmoq-publisher \
--input sample.mp4 \
--endpoint moqt://relay.example.com:443/moq \
--namespace media \
--forward 0 \
--timeout 10 \
--pacedSu Windows, sostituite ./build/openmoq-publisher con build\Release\openmoq-publisher.exe o con il percorso corrispondente alla configurazione di build.
| Argomento | Link |
|---|---|
| Build e dipendenze | docs/build.md |
| Avvio rapido CLI | docs/quickstart.md |
| Test | docs/testing.md |
| Panoramica del design | docs/design.md |
| Ricette input FFmpeg | docs/ffmpeg.md |
| Interoperabilità relay | docs/relay-interop.md |
| API Publisher C++ | docs/publisher-api.md |
| Mappatura protocollo | docs/protocol-mapping.md |
| Conformità WebTransport | docs/webtransport-compliance.md |
| Piano transport | docs/transport-plan.md |
| Stato e roadmap | docs/status.md |
Le guide localizzate dell'API Publisher sono disponibili in spagnolo, francese, italiano, giapponese, portoghese e cinese.
include/openmoq/publisher: header pubblicisrc: implementazione della libreria statica e della CLItests: copertura basata su CTestdocs: note di protocollo, guide di integrazione e riferimenti di designexamples: integrazioni publisher di esempio.github/workflows/ci.yml: CI Linux, macOS e Windows.github/workflows/release.yml: build degli artefatti di release per CLI, header e libreria statica
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.
Per la roadmap dettagliata, vedere docs/status.md.