{"id":49306884,"url":"https://github.com/qumo-dev/gomoqt","last_synced_at":"2026-04-26T10:01:09.325Z","repository":{"id":253104505,"uuid":"842476198","full_name":"qumo-dev/gomoqt","owner":"qumo-dev","description":"Pure Go implementation of the Media over QUIC","archived":false,"fork":false,"pushed_at":"2026-04-21T11:52:55.000Z","size":10585,"stargazers_count":34,"open_issues_count":13,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-04-21T13:36:30.437Z","etag":null,"topics":["go","golang","media-over-quic","moq","real-time"],"latest_commit_sha":null,"homepage":"https://qumo-dev.github.io/gomoqt/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qumo-dev.png","metadata":{"files":{"readme":"README.de.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["qumo-dev"]}},"created_at":"2024-08-14T12:34:20.000Z","updated_at":"2026-04-21T11:52:59.000Z","dependencies_parsed_at":"2026-02-27T10:04:12.667Z","dependency_job_id":null,"html_url":"https://github.com/qumo-dev/gomoqt","commit_stats":null,"previous_names":["okutanidaichi0106/gomoqu","okutanidaichi0106/gomoqt","okdaichi/gomoqt","qumo-dev/gomoqt"],"tags_count":39,"template":false,"template_full_name":null,"purl":"pkg:github/qumo-dev/gomoqt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qumo-dev%2Fgomoqt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qumo-dev%2Fgomoqt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qumo-dev%2Fgomoqt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qumo-dev%2Fgomoqt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qumo-dev","download_url":"https://codeload.github.com/qumo-dev/gomoqt/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qumo-dev%2Fgomoqt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32292958,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T09:34:17.070Z","status":"ssl_error","status_checked_at":"2026-04-26T09:34:00.993Z","response_time":129,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["go","golang","media-over-quic","moq","real-time"],"created_at":"2026-04-26T10:00:54.857Z","updated_at":"2026-04-26T10:01:09.313Z","avatar_url":"https://github.com/qumo-dev.png","language":"Go","funding_links":["https://github.com/sponsors/qumo-dev"],"categories":[],"sub_categories":[],"readme":"# gomoqt\n\n\u003cdiv align=\"center\"\u003e\n\u003csup align=\"center\"\u003e\u003ca href=\"README.md\"\u003eEnglish\u003c/a\u003e\u003c/sup\u003e\n\u003c/div\u003e\n\nEine Go-Implementierung von Media over QUIC Transport (MOQT), die speziell die MOQ Lite-Spezifikation für effizientes Medien-Streaming über QUIC umsetzt.\n\n[![Go](https://github.com/OkutaniDaichi0106/gomoqt/actions/workflows/go.yml/badge.svg)](https://github.com/OkutaniDaichi0106/gomoqt/actions/workflows/go.yml)\n[![Lint](https://github.com/OkutaniDaichi0106/gomoqt/actions/workflows/lint.yml/badge.svg)](https://github.com/OkutaniDaichi0106/gomoqt/actions/workflows/lint.yml)\n[![moq-web CI](https://github.com/OkutaniDaichi0106/gomoqt/actions/workflows/moq-web-ci.yml/badge.svg)](https://github.com/OkutaniDaichi0106/gomoqt/actions/workflows/moq-web-ci.yml)\n[![Go Reference](https://pkg.go.dev/badge/github.com/OkutaniDaichi0106/gomoqt.svg)](https://pkg.go.dev/github.com/OkutaniDaichi0106/gomoqt)\n[![codecov](https://codecov.io/gh/OkutaniDaichi0106/gomoqt/branch/main/graph/badge.svg?token=4LZCD3FEU3)](https://codecov.io/gh/OkutaniDaichi0106/gomoqt)\n[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/qumo-dev/gomoqt)\n\n## Inhaltsverzeichnis\n- [Übersicht](#übersicht)\n- [Schnellstart](#schnellstart)\n- [Funktionen](#funktionen)\n- [Komponenten](#komponenten)\n- [Beispiele](#beispiele)\n- [Dokumentation](#dokumentation)\n- [Spezifikationskonformität](#spezifikationskonformität)\n- [Entwicklung](#entwicklung)\n- [Zum Projekt beitragen](#zum-projekt-beitragen)\n- [Lizenz](#lizenz)\n- [Danksagungen](#danksagungen)\n\n## Übersicht\nDiese Implementierung folgt der [MOQ Lite-Spezifikation](https://www.ietf.org/archive/id/draft-lcurley-moq-lite-04.html) und ermöglicht den Aufbau einer Kommunikationsinfrastruktur für Echtzeit-Medien-Streaming-Anwendungen über QUIC.\n\n## Schnellstart\n```bash\n# Mage installieren (Go 1.25+)\ngo install github.com/magefile/mage@latest\n\n# Führen Sie den Interop-Test im Docker‑Container aus\nmage interop:ts    # TypeScript-Client + Server\nmage interop:go    # Go-Client + Server\n```\n\n## Funktionen\n- **MOQ Lite-Protokoll** — Leichtgewichtige Version der MoQ-Spezifikation\n  - **Niedrige Wiedergabelatenz** — Minimiert Latenz von Datenentdeckung, Senden/Empfangen bis zur Wiedergabe\n  - **Unterbrechungsfreie Wiedergabe** — Robustes Design gegen Netzwerkschwankungen durch unabhängige Datenübertragung\n  - **Netzwerkumgebungsoptimierung** — Ermöglicht Verhaltensoptimierung entsprechend der Netzwerkbedingungen\n  - **Track-Management** — Publisher/Subscriber-Modell für Track-Datenübertragung\n  - **Effiziente Multiplexed Delivery** — Effizientes Multiplexing durch Track-Ankündigungen und Subscriptions\n  - **Web-Unterstützung** — Browser-Unterstützung über WebTransport\n  - **Native QUIC-Unterstützung** — Native QUIC-Unterstützung über `quic`-Wrapper\n- **Flexibles Dependency-Design** — Trennt Abhängigkeiten wie QUIC und WebTransport, ermöglicht Nutzung nur benötigter Komponenten\n- **Beispiele \u0026 Interop** — Beispielanwendungen und Interop-Suite in `examples/` und `cmd/interop` (broadcast, echo, relay, native_quic, Interop-Server/Client)\n\n### Siehe auch\n- [moqt/](moqt/) — Kernpaket (Frames, Sessions, Track-Muxing)\n- [msf/](msf/) — MSF-Katalog, Delta, Timeline und Katalog-Track-Hilfspaket\n- [quic/](quic/) — QUIC-Hilfen und Beispiel `examples/native_quic`\n- [webtransport/](webtransport/), [webtransport/webtransportgo/](webtransport/webtransportgo/), [moq-web/](moq-web/) — WebTransport und Client-Code\n- [examples/](examples/) — Beispiel-Apps (broadcast, echo, native_quic, relay)\n\n## Komponenten\n- `moqt` — zentrales Go-Paket für das Media over QUIC (MOQ)-Protokoll.\n- `msf` — MOQT Streaming Format: Katalog-, Delta- und Timeline-Modellierungspaket.\n- `moq-web` — TypeScript-Implementierung für Web-Clients.\n- `cmd/interop` — Interop-Server und -Clients (Go/TypeScript).\n- `examples` — Beispielanwendungen (broadcast, echo, native_quic, relay).\n\n## Beispiele\nDas Verzeichnis [examples](examples) enthält Beispielanwendungen zur Nutzung von gomoqt:\n- **Interop Server und Client** (`cmd/interop/`): Interoperabilitätstests zwischen verschiedenen MOQ-Implementierungen\n- **Broadcast-Beispiel** (`examples/broadcast/`): Demonstration der Broadcast-Funktionalität\n- **Echo-Beispiel** (`examples/echo/`): Einfacher Echo-Server und -Client\n- **Native QUIC** (`examples/native_quic/`): Direkte QUIC-Verbindungen\n- **Relay** (`examples/relay/`): Weiterleitung von Medienströmen\n\n## Dokumentation\n- [GoDoc](https://pkg.go.dev/github.com/OkutaniDaichi0106/gomoqt)\n- [MOQ Lite-Spezifikation](https://www.ietf.org/archive/id/draft-lcurley-moq-lite-04.html)\n- [MSF-Paket README](msf/README.md)\n- [Implementierungsstatus](moqt/README.md) — Detaillierter Fortschritt der Umsetzung\n\n## Spezifikationskonformität\nDiese Implementierung richtet sich nach der MOQ Lite-Spezifikation. Den aktuellen Umsetzungsstand findest du in der [README des Pakets moqt](moqt/README.md), inklusive Nachverfolgung der implementierten Funktionen je Abschnitt der Spezifikation.\n\n## Entwicklung\n### Voraussetzungen\n- Go 1.25.0 oder neuer\n- [Mage](https://magefile.org/) Build-Tool (Installation: `go install github.com/magefile/mage@latest`)\n\n### Entwicklungsbefehle\n```bash\n# Code formatieren\nmage fmt\n\n# Linter ausführen (benötigt golangci-lint: go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest)\nmage lint\n\n# Qualitätsprüfungen (fmt und lint)\nmage check\n\n# Alle Tests\nmage test:all\n\n# Tests mit Coverage\nmage test:coverage\n```\n\n#### Build \u0026 Clean\n```bash\n# Code bauen\nmage build\n\n# Generierte Dateien bereinigen\nmage clean\n\n# Verfügbare Befehle anzeigen\nmage help\n```\n\n## Zum Projekt beitragen\nBeiträge sind willkommen! So kannst du helfen:\n1. Repository forken.\n2. Feature-Branch erstellen (`git checkout -b feature/amazing-feature`).\n3. Änderungen durchführen.\n4. Codequalität prüfen:\n   ```bash\n   mage fmt\n   mage lint\n   mage test\n   ```\n5. Änderungen committen (`git commit -m 'Add amazing feature'`).\n6. Branch pushen (`git push origin feature/amazing-feature`).\n7. Pull Request eröffnen.\n\n## Lizenz\nDieses Projekt steht unter der MIT-Lizenz; siehe [LICENSE](LICENSE) für Details.\n\n## Danksagungen\n- [quic-go](https://github.com/quic-go/quic-go) — QUIC-Implementierung in Go\n- [webtransport-go](https://github.com/okdaichi/webtransport-go) — WebTransport-Implementierung in Go\n- [MOQ Lite-Spezifikation](https://www.ietf.org/archive/id/draft-lcurley-moq-lite-04.html) — Spezifikation, der diese Implementierung folgt","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqumo-dev%2Fgomoqt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqumo-dev%2Fgomoqt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqumo-dev%2Fgomoqt/lists"}