Skip to content

Commit

Permalink
Update the source page a little.
Browse files Browse the repository at this point in the history
  • Loading branch information
kixelated committed Nov 8, 2023
1 parent c634b98 commit 5301be5
Showing 1 changed file with 10 additions and 7 deletions.
17 changes: 10 additions & 7 deletions web/src/pages/source.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,33 +3,36 @@ layout: "@/layouts/global.astro"
title: Source
---

# Rust
# Rust!

Native code is written in Rust in the [moq-rs](https://github.com/kixelated/moq-rs) repo.
Native code is written in Rust and is available at [kixelated/moq-rs](https://github.com/kixelated/moq-rs).
It's split into a few crates:

| crate | description |
| ----------------------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| [moq-transport](https://docs.rs/moq-transport/latest/moq-transport/) | A library that implements the [MoQ Transport](https://datatracker.ietf.org/doc/draft-ietf-moq-transport/) draft. |
| [moq-transport](https://docs.rs/moq-transport/latest/moq-transport/) | A library that mostly implements the [MoqTransport](https://datatracker.ietf.org/doc/draft-ietf-moq-transport/) draft... with a few strong opinions. |
| [moq-relay](https://github.com/kixelated/moq-rs/tree/main/moq-relay) | A MoQ server that connects publishers to subscribers, caching any duplicate subscriptions. |
| [moq-pub](https://github.com/kixelated/moq-rs/tree/main/moq-pub) | A MoQ client that integrates with ffmpeg to publish fMP4. |
| [moq-clock](https://github.com/kixelated/moq-rs/tree/main/moq-clock) | It's a clock! Just to demonstate that MoqTransport can do more than media. |
| [webtransport-quinn](https://docs.rs/webtransport-quinn/latest/webtransport_quinn/) | A [WebTransport](https://datatracker.ietf.org/doc/draft-ietf-webtrans-http3/) client and server utilizing [Quinn](https://github.com/quinn-rs/quinn). |

Check out the [open issues](https://github.com/kixelated/moq-rs/issues) for a rough road map and potential contributions!

# Web

Web code is written in Typescript in the [moq-js](https://github.com/kixelated/moq-js) repo.
It's available on NPM as [@kixelated/moq](https://www.npmjs.com/package/@kixelated/moq) and split into folders depending on your use-case:
Web code is written in Typescript and is available at [kixelated/moq-js](https://github.com/kixelated/moq-js).
It's split into a few folders:

| folder | description |
| -------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **transport** | Mostly implements [MoQ Transport](https://datatracker.ietf.org/doc/draft-ietf-moq-transport/) draft... with same said strong opinions. |
| **contribute** | Captures media, encodes via [WebCodecs](https://developer.mozilla.org/en-US/docs/Web/API/WebCodecs_API), and transmits over [WebTransport](https://developer.mozilla.org/en-US/docs/Web/API/WebTransport). |
| **playback** | Receives media over [WebTransport](https://developer.mozilla.org/en-US/docs/Web/API/WebTransport), decodes via [WebCodecs](https://developer.mozilla.org/en-US/docs/Web/API/WebCodecs_API), and renders via [OffscreenCanvas](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvas) and [WebWorklet](https://developer.mozilla.org/en-US/docs/Web/API/AudioWorklet). |
| **transport** | Implements [MoQ Transport](https://datatracker.ietf.org/doc/draft-ietf-moq-transport/) draft and the underlying messages. |

<center>πŸ’―πŸ”₯πŸš€πŸ¦€ Time to rewrite it in Rust πŸ¦€πŸš€πŸ”₯πŸ’―</center>

It's also available on NPM as [@kixelated/moq](https://www.npmjs.com/package/@kixelated/moq).
This project is using a lot of new web APIs so expect [issues](/issues).
Chrome support is guaranteed but other browsers are still catching up.

# License

Expand Down

0 comments on commit 5301be5

Please sign in to comment.