Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added public/blog/monte-video/uruguay.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
111 changes: 111 additions & 0 deletions src/pages/blog/monte-video.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
---
layout: "@/layouts/global.astro"
title: "Monte<video>: A Real Place"
author: kixelated
description: "Maybe join us in Uruguay this year? We'll be working on MoQ and stuff."
cover: "/blog/monte-video/uruguay.png"
date: 2025-11-11
---

# Monte\<video\>: A Real Place
Who knew?

No like seriously, they named a place after video encoding.
And it's the capital of Uruguay???

## Summer Camp
🎉 [kixelated/moq](https://github.com/kixelated/moq) was selected for the 2026 [Montevideo Tech Summer Camp](https://montevideotech.dev/summercamp2026/). 🎉

This means that Mike (Cloudflare) and I (painfully unemployed) will be mentoring MoQ newbies or whatever.
It's a multi-month community effort to make some poor open source project (ours) a little bit better.

And it all culminates in an IRL event in Montevideo at the end of January.
**Fun fact**: it's summer there while it's winter (mostly) everywhere else.

<figure>
![Uruguay](/blog/monte-video/uruguay.png)
<figcaption>AND they have an awesome thing on their flag.</figcaption>
</figure>

## Should you participate?
So I actually went to Uruguay last year.
[Mike's moq-js fork](https://github.com/video-dev/moq-js) was selected as a 2025 project and I thought it would be cool to help out in person.

Yes it was super awkward contributing to a fork of my own project.
Yes I'm just an awkward person in general.
But it was still fun, I recommend it, and I'll be heading there again this year.

If you want an excuse to work on MoQ or a business justification to visit Uruguay, this is your chance.
The Qualabs folks legitimately provide a full-blown vacation with organized events, tours, meals, etc.
You have to pay for flights+hotel... but that's about it.

And you don't actually spend much time doing "work".
The event is mostly about hanging out with other video nerds.
The Whatapp Group from last year is somehow still active.
You can *and should* bring your family\* or spouse or cat or whatever.

\* Steve (aka da Heff) brought his two daughters and wife last year.
They cackled like maniacs lighting the bonfire.

## What are we working on?
But before the event, we'll be working on MoQ.
If you just want to submit pull requests and don't want to hang out IRL, that's totally fine.
Approved, merged, and deployed straight to production.

I'll be filing a boatload of issues in the next few days in a vain attempt at project planning.
If you have any ideas or feature requests, file an issue or ping me on Discord.

And to be clear, you don't need permission and can work on whatever you want.
This event is more about bringing value to the community than serving any specific agenda.

But if you're out of ideas, here's some free ones:

### Conferencing
Steal the rendering engine from [hang.live](/blog/first-app) and make a general purpose conferencing app.
Without the copious amount of cringe and meme videos.
Throw in some lame corporate branding and you've got a legitimate product..?

### MoQ+HLS+DASH
One of the biggest barriers to adoption is getting MoQ to work with an existing HLS/DASH stack.
It turns out that it's not viable to instantaneously migrate all clients to MoQ.
I've got some ideas on how to simultaneously support MoQ, HLS, and DASH with a unified MoQ relay.

### OBS and Friends
Another barrier to adoption is getting the media in the first place.
I've got a crude gstreamer plugin already but it kind of sucks and needs a fresh coat of paint.
Going further and getting OBS to work with MoQ would be a HUGE milestone.

### POLISH
We can also just polish the MoQ player and make it (more) ready for production.
Stuff like better bundling, better documentation, better examples, etc.
You know, the really boring stuff.


## What next?
The kick-off meeting is [this Friday](https://meetu.ps/e/PF7F0/GFW4z/i).
That's in two days if you're reading this on the (exact) Wednesday that I'm writing this.

It'll be a recurring thing until the end of January.
I'm going to have to set an alarm for 3am to make the meeting (Australia) but sacrifice is part of my "job description".

- If you're interested in the IRL event, [email to get on the guest list](mailto:summercamp@montevideotech.dev).
- If you want to work on MoQ over the holidays, join the meetings to coordinate?
- Otherwise, why are you still reading this?

Or just hang out on [Discord](https://discord.gg/FCYF3p99mr).
Direct social interaction is overrated.
I'll make a `#montevideo` channel or something.

## One Last Thing
I want to thank JP, Nico, and the rest of [Qualabs](https://qualabs.com/) for being great hosts.

It's fantastic that they sponsor this event.
It's fantastic that they pay their employees to contribute to open source projects for a few months.
It's even more fantastic that they throw parties for video nerds.
They literally invite you to visit their home.

I had a blast last year and (hopefully) I'll see you there this year.

Written by [@kixelated](https://github.com/kixelated).
![@kixelated](/blog/avatar.png)

16 changes: 9 additions & 7 deletions src/pages/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ layout: "@/layouts/global.astro"
a super-charged TCP/UDP replacement that powers [HTTP/3](https://en.wikipedia.org/wiki/HTTP/3).
It's being developed by the [IETF](https://www.ietf.org/)\* and your _favorite_ big tech companies such as Google, Meta, Cisco, Akamai, Cloudflare, etc.

That's right, *soon* you will never have to deal with WebRTC again.
Unless masochism is your thing.
That's right, you no longer need to hack WebRTC!
There's a new way to achieve **real-time latency** in the browser, including contribution and mass distribution via generic CDNs.

<p class="tagline">Try out the web demo! [Watch](/watch) or [Publish](/publish) a broadcast</p>

Expand All @@ -21,7 +21,8 @@ Unless masochism is your thing.
</a>
<div>
Want a better demo?
<a href="https://hang.live" rel="noreferrer" target="_blank">hang.live</a> uses the same open-source libraries but adds more functionality on top.
<a href="https://hang.live" rel="noreferrer" target="_blank">hang.live</a> uses the same open-source libraries.
But with more features and cringe layered on top.
</div>
</div>

Expand All @@ -30,12 +31,13 @@ Unless masochism is your thing.

- 🔓 **Open Source**: Production-ready [Rust and TypeScript libraries](/source).
- 🌐 **100% Web**: Utilizes [WebTransport](https://developer.mozilla.org/en-US/docs/Web/API/WebTransport), [WebCodecs](https://developer.mozilla.org/en-US/docs/Web/API/WebCodecs_API), [WebAudio](https://developer.mozilla.org/en-US/docs/Web/API/WebAudio_API), WebEtc.
- ⚡ **Real-time**: Minimal latency by skipping unimportant media during congestion.
- ⚡ **Real-time**: Minimal latency by skipping less important media during congestion.
- 🚀 **Massive Scale**: Host your own CDN with [moq-relay](https://github.com/kixelated/moq/tree/main/rs/moq-relay) or use [Cloudflare](/blog/first-cdn).
- 🎬 **Multi-Platform**: [Web](https://github.com/kixelated/moq/tree/main/js/hang), [FFmpeg](https://github.com/kixelated/moq/tree/main/rs/hang-cli), and [GStreamer](https://github.com/kixelated/hang-gst) clients available.
- 🔍 **Discoverable**: Live notifications when broadcasts are published.
- 🎬 **Multi-Platform**: [Web](https://github.com/kixelated/moq/tree/main/js/hang), [FFmpeg](https://github.com/kixelated/moq/tree/main/rs/hang-cli), [GStreamer](https://github.com/kixelated/hang-gst), and [native](/source) clients available.
- 🔍 **Discoverable**: Live notifications when broadcasts are published or finish.
- 💪 **Efficient**: No encoding or bandwidth usage until a viewer needs it.
- 🔧 **Compatible**: TCP fallback via [WebSocket](https://github.com/kixelated/web-transport/tree/main/web-transport-ws), Safari fallback via [libav.js](https://github.com/Yahweasel/libav.js/).
- 🌍 **Compatible**: TCP fallback via [WebSocket](https://github.com/kixelated/web-transport/tree/main/web-transport-ws), Safari fallback via [libav.js](https://github.com/Yahweasel/libav.js/).
- 🔧 **Customizable**: Hardware accelerated encoding, the rest is in your control.

### *Standards
This website uses a [fork](/blog/transfork) of the IETF draft called [moq-lite](https://kixelated.github.io/moq-drafts/draft-lcurley-moq-lite.html) and a media layer called [hang](https://kixelated.github.io/moq-drafts/draft-lcurley-moq-hang.html).
Expand Down
Loading