-
Notifications
You must be signed in to change notification settings - Fork 7
Add inline media examples and hand-drawn icons #121
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
8f9421a
1d753f7
0b976de
27fff9e
191e4be
a03713a
c5c9903
0c25e88
9679e6b
1191c71
d6d07af
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,34 @@ | ||
| --- | ||
| type Feature = | ||
| | "source" | ||
| | "web" | ||
| | "realtime" | ||
| | "scale" | ||
| | "native" | ||
| | "discover" | ||
| | "efficient"; | ||
|
|
||
| interface Props { | ||
| icon: Feature; | ||
| } | ||
|
|
||
| const { icon } = Astro.props; | ||
|
|
||
| // These are Kixel's original hand-drawn icons from moq.pro. | ||
| const artwork: Record<Feature, string> = { | ||
| source: "box", | ||
| web: "globe", | ||
| realtime: "rocket", | ||
| scale: "stonk", | ||
| native: "puzzle", | ||
| discover: "link", | ||
| efficient: "battery", | ||
| }; | ||
| --- | ||
|
|
||
| <li class="flex items-start gap-3"> | ||
| <span class="mt-0.5 flex h-9 w-11 shrink-0 items-center justify-center" aria-hidden="true"> | ||
| <img src={`https://moq.pro/icons/${artwork[icon]}.svg`} class="h-9 w-11 object-contain" alt="" /> | ||
| </span> | ||
| <span><slot /></span> | ||
| </li> |
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -11,17 +11,17 @@ Everything is open source and broken into two repositories: | |||||
| - [moq-dev/moq.dev](https://github.com/moq-dev/moq.dev): This website. | ||||||
|
|
||||||
| ## Rust | ||||||
| Native code is written in [Rust](https://github.com/moq-dev/moq/tree/main/rs) and is split into a few notable crates: | ||||||
| Native code is written in [Rust](https://doc.moq.dev/lib/rs/) and is split into a few notable crates: | ||||||
|
|
||||||
| | crate | description | | ||||||
| | ----------------------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------- | | ||||||
| | [moq-lite](https://docs.rs/moq-lite/latest/moq_lite/) | A generic pub/sub transport. This is a minimal reinterpretation of the IETF [MoqTransport draft](https://datatracker.ietf.org/doc/draft-ietf-moq-transport/). | | ||||||
| | [moq-relay](https://github.com/moq-dev/moq/tree/main/rs/moq-relay) | A Moq server that connects publishers to subscribers, caching and deduplicating any subscriptions. Note that MoQ does not support P2P; instead it utilizes relays to scale out to many subscribers. | | ||||||
| | [moq-relay](https://doc.moq.dev/bin/relay/) | A Moq server that connects publishers to subscribers, caching and deduplicating any subscriptions. Note that MoQ does not support P2P; instead it utilizes relays to scale out to many subscribers. | | ||||||
| | [moq-clock](https://github.com/moq-dev/moq/tree/main/rs/moq-clock) | It's a clock! Just to demonstrate that MoQ can be used for more than media. | | ||||||
| | [hang](https://docs.rs/hang/latest/hang/) | A media specific library built on top of moq-lite. This provides a JSON "catalog" that describes the media tracks and "container" that literally consists of a timestamp. The actual media decoding/encoding is left to the platform. | | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win Use the compound adjective Change Proposed fix- A media specific library built on top of moq-lite.
+ A media-specific library built on top of moq-lite.📝 Committable suggestion
Suggested change
🧰 Tools🪛 LanguageTool[grammar] ~21-~21: Use a hyphen to join words. (QB_NEW_EN_HYPHEN) 🤖 Prompt for AI AgentsSource: Linters/SAST tools |
||||||
| | [hang-cli](https://github.com/moq-dev/moq/tree/main/hang-cli) | A client that integrates with ffmpeg to publish media. This pipes fMP4 over stdin, so it's not the most efficient... | | ||||||
| | [hang-gst](https://github.com/moq-dev/gstreamer) | A GStreamer plugin for publishing and consuming media. Separate repository to avoid GStreamer build dependency. | | ||||||
| | [hang-obs](https://github.com/moq-dev/obs) | An OBS plugin for publishing media. Separate repository to avoid OBS build dependency. | | ||||||
| | [hang-cli](https://doc.moq.dev/bin/cli) | A client that integrates with ffmpeg to publish media. This pipes fMP4 over stdin, so it's not the most efficient... | | ||||||
| | [hang-gst](https://doc.moq.dev/bin/gstreamer) | A GStreamer plugin for publishing and consuming media. Separate repository to avoid GStreamer build dependency. | | ||||||
| | [hang-obs](https://doc.moq.dev/bin/obs) | An OBS plugin for publishing media. Separate repository to avoid OBS build dependency. | | ||||||
| | [hang-wasm](https://github.com/moq-dev/moq/tree/main/hang-wasm) | An MoQ web client utilizing WebAssembly, WebCodecs, and WebTransport. Deprecated in favor of the Typescript implementation; see below for justification. | | ||||||
|
|
||||||
|
|
||||||
|
|
@@ -36,7 +36,7 @@ There are some additional crates in other repositories that might be of interest | |||||
|
|
||||||
|
|
||||||
| ## Typescript | ||||||
| Web code is written in [Typescript](https://github.com/moq-dev/moq/tree/main/js) and is split into a few packages: | ||||||
| Web code is written in [Typescript](https://doc.moq.dev/lib/js/) and is split into a few packages: | ||||||
|
|
||||||
| | package | description | | ||||||
| | ------- | ----------- | | ||||||
|
|
||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
Repository: moq-dev/moq.dev
Length of output: 153
🏁 Script executed:
Repository: moq-dev/moq.dev
Length of output: 1083
🏁 Script executed:
Repository: moq-dev/moq.dev
Length of output: 398
🌐 Web query:
moq-dev/tap/moq-cli Homebrew formula💡 Result:
To install the moq-cli command-line tool using Homebrew, you can use the official Homebrew tap provided by the moq-dev organization [1][2]. You can install it by running the following commands in your terminal: 1. Tap the repository: brew tap moq-dev/tap 2. Install the formula: brew install moq-dev/tap/moq-cli This formula is maintained by the moq-dev project to provide easy installation of their Media over QUIC tools [1][3]. It is automatically generated and updated via their release workflows [1]. Additional tools in the same tap include moq-relay, moq-clock, moq-token-cli, and moq-gst [1][2].
Citations:
🌐 Web query:
doc.moq.dev concept/standard/interop brew install moq-dev/tap💡 Result:
The
moq-devproject is an open-source implementation of Media over QUIC (MoQ), a next-generation live media protocol designed to provide real-time latency at scale [1][2]. Concept and Interoperability The project focuses on a protocol called "moq-lite," which is a forwards-compatible subset of the IETF'smoq-transportdraft [3][2]. The core philosophy behindmoq-liteis to prioritize simplicity and immediate deployability, allowing it to function with any standardmoq-transportrelay, such as those provided by Cloudflare [3][2]. The documentation at doc.moq.dev explains these concepts, detailing how the protocol handles transport (using WebTransport, QUIC, or WebSockets) and media containers (likehangandcmaf) to achieve interoperability [4][3]. Installation via Homebrew Themoq-dev/tapis a Homebrew tap that allows users to install various tools from themoq-devworkspace [5]. You can add the tap and install the available packages using the following commands: brew tap moq-dev/tap brew install moq-dev/tap/moq-relay brew install moq-dev/tap/moq-cli brew install moq-dev/tap/moq-clock brew install moq-dev/tap/moq-token-cli brew install moq-dev/tap/moq-gst These formulae are automatically generated from themoq-dev/moqGitHub repository [5]. Note thatmoq-devis a distinct entity from other projects likemoqtap, which has different installation instructions [6]. [5][1]Citations:
Install the documented Homebrew formula.
The current MoQ installation command uses
moq-dev/tap/moq, but the applicable Homebrew formula ismoq-dev/tap/moq-cli. Usemoq-cliso the macOS walkthrough can complete before the CLI examples.Proposed fix
📝 Committable suggestion
🤖 Prompt for AI Agents