MonteVIDEO Tech Summer Camp

Summer Projects 2027 · Voting is open

You pick the projects
we’ll build together

The community brought the challenges. You choose the two we build.

  • 9proposals on the table
  • 2get built this edition
  • 3months of work, Nov to Jan

Voting closes Friday 30 October. The two selected projects are announced on Monday 2 November, and the kickoff is Friday 6 November, online.

Voting is open until Friday 30 October

Vote for your favourites

  1. 1

    Read the challenges

    Each card tells you the problem and what a team would need.

  2. 2

    Pick your top two

    Hit Vote for this on the two you most want to see built.

  3. 3

    Leave your name and send it 🙂

    Your name, your email, and how you’d like to take part.

Beyond the vote

You can join in different ways

The time commitment is part-time and flexible!

We understand that most participants have full-time jobs, so contributions can happen in your free time. We usually hold weekly 1-hour check-ins to keep everyone aligned, but there’s no fixed number of hours required.

  • Contributor

    Join the project to help design, code, or document, every contribution counts toward moving the project forward.

  • Industry Supporter

    Help us validate the project in a production environment.

  • Tech Sponsor

    Support the project technically, help unblock it and join the weekly syncs. Every project has one, from the kickoff to the Demo Day — sometimes the person who proposed the challenge, sometimes someone else.

The proposals

What the community brought

Before you vote, remember that:

  • Some proposals are high-level ideas, others are well-defined projects, and that’s OK!
  • Refining the scope is part of the Summer Projects activities.
  • You can participate as a developer or by helping define scope and milestones.
01 Live Engineering & Operations

Forward Error Correction (FEC) with MoQ

Marc Fiuczynski Marc Fiuczynski

Live streaming over MoQ has to work on networks that are messy: Wi-Fi, cellular, satellite, long intercontinental paths. On a short, clean path, retransmission is enough. On a long or lossy one, waiting for retransmissions causes stalls, so operators either over-protect every viewer or accept rebuffering. Forward…

Read the full proposal

The problem, and who feels it

Live streaming over MoQ has to work on networks that are messy: Wi-Fi, cellular, satellite, long intercontinental paths. On a short, clean path, retransmission is enough. On a long or lossy one, waiting for retransmissions causes stalls, so operators either over-protect every viewer or accept rebuffering. Forward error correction helps, but traditionally the sender applies it to everyone, so every viewer pays the bandwidth tax. With MoQ, the publisher can send repair data as extra tracks, and each player subscribes only to the protection its own path needs. Relays stay unchanged. Viewers on bad networks feel this problem most, and so do the operators and streamers who pay for their rebuffering.

Where agents come in

Deciding how much protection to take is an operations problem. A player sees its own losses but can’t tell whether they come from congestion, where extra repair data makes things worse, or from interference near the player, where it helps. An agent watching CMCD and player telemetry across many players can tell the two apart and steer protection and bitrate choices for groups of players. Agents also help build the project itself: much of the existing prototype was written with AI coding tools.

Why it matters to the community

MoQ players today ship with very simple ABR, and MoQ needs better bitrate estimation whether or not FEC is involved. Protection by subscription is new territory. The results would carry over to multicast delivery and non-video, low-latency uses. Results should come from realistic loss, including bursts and congestion with cross traffic, not only random loss.

What a team would need, and what ends up on GitHub

A working prototype exists: a publisher, an unmodified relay, and FEC-enabled versions of Shaka and Red5’s Playa, running in stock Chrome and Firefox. Pick your path:

  1. Player: bandwidth estimation and an ABR for MoQ that chooses bitrate and protection together. A better ABR alone is a contribution.
  2. Packager: content-aware protection, for example protecting I-frames more than P or B frames. Source content is video files for now.
  3. Measurement: realistic loss and congestion scenarios, comparing FEC against plain MoQ with retransmissions. On GitHub: the player, packager and estimator code, a loss-scenario test harness, and published results. Skills: TypeScript or JavaScript players, packaging, networking. FEC expertise isn’t required.
Marc is in as Tech Sponsor if this one gets picked
02 Live Engineering & Operations

Streaming observability and a data copilot (dbt + agent)

Carlos Lopez

Live and global streaming operations teams collect player telemetry, CDN metrics, and content availability rules, but this data usually lives in silos. Diagnosing QoE degradation (rebuffering, startup time, bitrate switches), unexpected CDN cost increases, or incorrect blackouts requires manual investigation and…

Read the full proposal

The problem, and who feels it

Live and global streaming operations teams collect player telemetry, CDN metrics, and content availability rules, but this data usually lives in silos. Diagnosing QoE degradation (rebuffering, startup time, bitrate switches), unexpected CDN cost increases, or incorrect blackouts requires manual investigation and ad-hoc queries. This affects live ops and data teams that need to react quickly during events or daily operations.

Where agents come in

An agent can sit on top of clean dbt models and let operators or analysts ask questions in natural language instead of writing SQL. Examples: “Why did rebuffering spike in Brazil last night?” or “Show CDN cost per stream by region this week and highlight anomalies.” The agent turns raw telemetry and operational data into faster diagnosis and suggested actions.

Why it matters to the community

It provides an open-source foundation for modern streaming observability and a data copilot. Many teams lack the bandwidth or budget to build this internally or buy commercial solutions. A reusable dbt + agent stack would make QoE monitoring, cost analysis, and operational diagnostics more accessible.

What a team would need, and what ends up on GitHub

  • dbt models (with DuckDB examples) that transform player telemetry, CDN metrics, and blackout/availability rules into clear QoE, cost, and status tables by region.
  • A simple Python script that loads sample data and runs dbt.
  • A lightweight agent (FastAPI) that queries the models and answers operational questions.
  • A Docker Compose file so anyone can run the full stack locally with one command.
  • Optional GitHub Actions workflow to refresh the sample data automatically.
  • Documentation and sample data.
  • Useful skills: data modeling, dbt, SQL, and building a simple agent over a warehouse. Deep video pipeline expertise is not required.
Still looking for a Tech Sponsor — it could be you
03 Monetization

Identity that travels with the video: likeness rights for generative ads

Will Kreth Will Kreth

Generative AI turns one ad into dozens of variants: localized, dubbed and regenerated for each market, sometimes with synthetic voices, faces or digital doubles of real people. Each variant raises a question for whoever holds the rights: was this likeness, real or synthetic, cleared for this use and this market? Today…

Read the full proposal

The problem, and who feels it

Generative AI turns one ad into dozens of variants: localized, dubbed and regenerated for each market, sometimes with synthetic voices, faces or digital doubles of real people. Each variant raises a question for whoever holds the rights: was this likeness, real or synthetic, cleared for this use and this market?

Today nothing in the ad path tells the system who is in the ad, so it can't ask the right rights holder when the ad is decided. Ads identify the creative and the advertiser. The people in them are a text string, or missing. Rights and payments are reconciled by hand, after the ad has run.

Brands and agencies can't prove a likeness was licensed. Platforms that insert ads can't check what they insert. Talent and their estates can't trace where they appear, or get paid for it.

A persistent, verifiable identity that travels with the video unlocks this business: the ad decision resolves the ID to confirm the likeness is registered and was created with consent, and to find who holds the rights for this use. They clear it and get the talent paid.

Where agents come in

Agents now assemble, localize and select ads. An agent can't read a name string and decide whether a likeness is cleared for a market. It needs a stable ID it can resolve. This project puts that ID where ad systems and agents already look.

Why it matters to the community

AI-made likenesses in ads need open, shared infrastructure. HAND ID is a persistent ID for people and their likenesses, real or synthetic, in a nonprofit registry, with public-record data only and no biometrics. The work feeds SVTA2053, the SVTA guideline for a standard way to send ad information to the player.

What a team would need, and what ends up on GitHub

A proof of concept: a HAND ID, with the person's role and time on screen, travels with an HLS stream through ad insertion, and the ad decision resolves it before the ad runs. Technologies: HLS, SCTE-35, SSAI and SGAI, VAST, vast-2-sgai, hls.js, Node.js. On GitHub (Apache-2.0): the convention, test streams with real public IDs, a player sample, a report on whether the ID survives ad insertion, and proposed text for SVTA2053, submitted through the SVTA's process. HAND's engineers commit about 3 hours a week.

Will Kreth (HAND) and David Hassoun (Qualabs; co-chair, SVTA Advertising WG) are in as Tech Sponsors if this one gets picked
04 Live Engineering & Operations

A MOQT player built on Video.js + Playa

Will Law Will Law

Many web-based MSF/CMSF players exist, but they all focus on the mechanics of playback and neglect the UI which is usually minimal and basic. MOQ lacks a web video player with a great UI, one that can accommodate skinning, customizable components and a framework for composing only the elements that are needed.…

Read the full proposal

The problem, and who feels it

Many web-based MSF/CMSF players exist, but they all focus on the mechanics of playback and neglect the UI which is usually minimal and basic. MOQ lacks a web video player with a great UI, one that can accommodate skinning, customizable components and a framework for composing only the elements that are needed. Video.js v10 is a framework for media players that supports a skinnable and customizable UI. Playa is a fully functioning Typescript library for MOQT streaming including MSF and CMSF. The goal of this challenge is to combine Video.js and Playa to produce an open-source MOQT player which has an excellent UI and supports skinning, customizable components (including new MSF ones such as Show-Catalog, renderGroup selection etc), composable elements and integration with agentic services providing real-time translation and captions. The resulting player will be open-sourced under Apache 2 and hosted and maintained on the OpenMOQ github.

Where agents come in

The player SHOULD interface with agents providing real-time translation and captions.

Why it matters to the community

MOQ is still associated with hastily built players. To upgrade MOQ media to a professional status, we need a reliable, robust and beautiful player with full support for modern features including AI integration and skinning.

What a team would need, and what ends up on GitHub

The dev team will need good Typescript/Javascript coding skills, as well as a working knowledge of MSF/CMSF and a familiarity with library integrations. The output of the project will be a new player repo on the OpenMOQ github, free for everyone to use, that pulls in code from the video.js and playa projects. The repo should provide easy-to-use binaries and documentation/examples so that functional players can be stood up in less than a minute.

Will is in as Tech Sponsor if this one gets picked
05 Live Engineering & Operations

CMCD over MOQ / MSF Event Timeline

Will Law Will Law

CMCD defines a means by which a media player can communicate structured data and have it processed consistently by delivery networks and third-party data collection services. CMCD v1 and V2 has become the cornerstone of client-side QOE data generation and transmission for HAS players. In the MOQT/MSF world, we are…

Read the full proposal

The problem, and who feels it

CMCD defines a means by which a media player can communicate structured data and have it processed consistently by delivery networks and third-party data collection services. CMCD v1 and V2 has become the cornerstone of client-side QOE data generation and transmission for HAS players. In the MOQT/MSF world, we are lacking a standard means of transmitting such QoE data. The draft https://github.com/wilaw/CMCD-over-MSF-event-timeline specifies how an MSF catalog can instruct a publisher to publish configurable CMCD data at a target destination using MSF Event Timeline tracks as well as how to transmit CMCD data over the MSF event-timeline track format. The goal of this challenge is to demonstrate a CMCD-4-MOQ workflow by:

  1. Integrating https://github.com/wilaw/CMCD-over-MSF-event-timeline support into a web-based MSF/CMSF player, preferably the Playa open-source library.
  2. Updating the ffmpeg plugin publishing component to allow catalog-based configuration and initiation of that CMCD data.
  3. Building a real-time collection system which can collect, process and display the incoming client QOE data.

Where agents come in

Agents can be used to analyze the incoming CMCD data to detect and warn on anomalies.

Why it matters to the community

Collecting real-user QoE data is critical to allowing MOQT and MSF/CMSF workflows to reach a production-ready level of performance.

What a team would need, and what ends up on GitHub

The dev team will need TypeScript/Javascript skills for the player development, C++ for the ffmpeg plugin update and general back-end and data-viz skills for the data collection. Open-source libraries for player and ffmpeg can be provided by the OpenMOQ project, along with relay and hosting assets. All output is expected to be open-sourced under an Apache-2 license.

Will is in as Tech Sponsor if this one gets picked
06 Live Engineering & Operations

Sender-Side Track Selection (SSTS) in moqx

Will Law Will Law

In order to deliver the highest user-quality, MSF/CMSF players need to implement an Adaptive bitrate algorithm to allow them to smoothly switch between tracks at differing quality levels. Typically this is done on the client side. However, a server-side implementation of ABR has some theoretical advantages - it knows…

Read the full proposal

The problem, and who feels it

In order to deliver the highest user-quality, MSF/CMSF players need to implement an Adaptive bitrate algorithm to allow them to smoothly switch between tracks at differing quality levels. Typically this is done on the client side. However, a server-side implementation of ABR has some theoretical advantages - it knows about congestion RTT/2 before the client and it also knows the subscribe state of the incoming tracks. Sender-Side Track Selection (SSTS) - https://wilaw.github.io/moqt-ssts/draft-wilaw-moq-moqt-ssts.html - is a draft defining an extension to MOQT enabling a server-side ABR solution to be implemented on a MOQT relay. It defines a subscriber-initiated and controlled behavior in which a MOQT publisher dynamically selects which track to forward from a switching set based on various algorithms. The specification defines a default algorithm - type 0. Other algorithms are referenced in the "SSTS Algorithms" registry. The goal of this challenge is to:

  1. Implement the SSTS draft, along with algorithm 0, in the moqx relay.
  2. Design an improved algorithm, algorithm 1, and also implement that to illustrate multi-algorithmic support. This may be an AI (neural) model rather than a heuristic algorithm.
  3. Test both algorithms under a variety of real-world scenarios encompassing variable RTT, loss and jitter characteristics.
  4. Validate the usefulness of SSTS as an approach.
  5. For bonus points, compare the performance of SSTS against an equivalent client-side ABR scheme.

Where agents come in

Agents may be used to train and implement an AI model for sender-side switching. The training environment would be simple - create a model of the system, in which a switcher is given 4 choices of bitrate and some simple inputs on estimated throughput, RTT etc. Then score it on maximizing client side average quality and minimizing the number of switches.

Why it matters to the community

SSTS represents a novel approach to OTT delivery in MOQT, and it has not yet been rigorously explored in the lab. Having these results would greatly improve the adoption of the extension point in commercial relays.

What a team would need, and what ends up on GitHub

C++ skills to implement SSTS in moqx, TypeScript skills to build and instrument a player. AI and agentic skills to optionally train a lightweight switching model. Resultant code should be open-sourced under an Apache-2 license for moqx and the algorithm 1, if successful and better than algorithm 0, defined in a new IETF draft.

Will is in as Tech Sponsor if this one gets picked
07 Live Engineering & Operations

AI-driven client-side ABR for MOQ

Will Law Will Law

Client-side ABR remains a challenge for MSF/CMSF players with MOQT-delivered content. The ABR must function at very low buffer levels and with limited signals. Traditional ABR approaches are implemented using a combination of rules and heuristics. The switching problem is however well suited to an AI-based solution.…

Read the full proposal

The problem, and who feels it

Client-side ABR remains a challenge for MSF/CMSF players with MOQT-delivered content. The ABR must function at very low buffer levels and with limited signals. Traditional ABR approaches are implemented using a combination of rules and heuristics. The switching problem is however well suited to an AI-based solution. The output decision is very simple - switch up, switch down, or don't switch. The inputs are limited - a history of throughput estimates, current buffer length and knowledge of the bitrate stack. Training data is cheap as simulations can be built to predict client QOE and then run faster-than real-time. The score is unambiguous - maximize average delivered bitrate and minimize switch count. The goal of this challenge is to develop an AI-based client-ABR switching solution for web-based MSF/CMSF players. The approach may use Deep Reinforcement Learning, 1-D Convolutional Neural Networks or other approaches as determined useful by the developers. The resulting model and player implementation should use Playa as a base and must be open sourced under Apache-2 so that the community can benefit.

Where agents come in

The solution could be developed as a series of micro-agents operating on the client. For example, a network profiler agent would estimate the bandwidth, a Device agent monitors buffers and dropped frames, a user context agent monitors received QoE and an ABR Switching agent coordinates with the other agents and implements the switch.

Why it matters to the community

Functional client-side ABR for sub-second latency ABR remains a challenge for MOQT adoption.

What a team would need, and what ends up on GitHub

Strong agentic and AI skills to develop, train and implement the models, TypeScript skills to implement the ABR in the player. Results should be open-sourced under an Apache-2 license. Resources (hosted relays, compute etc) will be provided by OpenMOQ.

Will is in as Tech Sponsor if this one gets picked
08 Monetization

Non-linear advertising in MOQ players

Will Law Will Law

Non-linear advertising (L-Bar, Frame, double-box etc) represents the latest innovation in OTT delivery. All solutions to date have been built for OTT players using HTTP-Adaptive-Streaming. MOQ represents the new frontier of media delivery, but it lags behind HAS in monetization capabilities. The goal of this challenge…

Read the full proposal

The problem, and who feels it

Non-linear advertising (L-Bar, Frame, double-box etc) represents the latest innovation in OTT delivery. All solutions to date have been built for OTT players using HTTP-Adaptive-Streaming. MOQ represents the new frontier of media delivery, but it lags behind HAS in monetization capabilities. The goal of this challenge is to extend that non-linear advertising workflow to MOQT players of MSF/CMSF content. A preference for the Playa code-base is expressed, although any code base may be used. The workflow solution should:

  1. Implement an ad decisioning server, which decides which non-linear ads to provide during an ad-break for a particular user and then provides that information as a MOQT track with a JSON payload. May leverage VAST and SIMD.
  2. A catalog producer which can reference that ad decision as a track, with the name leveraging variable substitution so that the catalog is cacheable for all users.
  3. A player which receives the ad instructions and implements the non-linear ads.

Where agents come in

Agents may be used for development as well as participating in the active decisioning.

Why it matters to the community

Monetization is the key to unlocking the potential of MOQT and MSF/CMSF.

What a team would need, and what ends up on GitHub

Ad-decisioning knowledge, backend capability to build a decisioning server, MOQT knowledge to generate the correct tracks, TypeScript/JavaScript knowledge to implement the non-linear ads in a MSF/CMSF web-based player. All software developed should be open-sourced under an apache-2 license. The resources of OpenMOQ (relays, hosting etc) may be used during the execution of the challenge.

Will is in as Tech Sponsor if this one gets picked
09 Global Accessibility

OTT DB: the playback profile of every device

Artur Parkhisenko Artur Parkhisenko

Video-streaming devices (smart TVs, consoles, set-top boxes) differ widely in hardware, software and platform, and those differences limit what can play. No easy-to-find resource lays out what each device supports. Engineers can’t quickly answer questions like: - Does Xbox Series S support QHD HDR on Edge v18 under…

Read the full proposal

The problem, and who feels it

Video-streaming devices (smart TVs, consoles, set-top boxes) differ widely in hardware, software and platform, and those differences limit what can play. No easy-to-find resource lays out what each device supports. Engineers can’t quickly answer questions like:

  • Does Xbox Series S support QHD HDR on Edge v18 under Playwright?
  • Does Tizen v8 support HDR10+, HEVC 5.2, Widevine L1, HDCP 1.4 and ES2015 together?
  • What resources, performance, optimizations and median QoE does each platform have?

caniuse.com and browsersl.ist don’t cover this. OTT browsers differ from their desktop namesakes: Edge 18 supports Widevine on Xbox, but not on desktop. Each platform also ships its own patches. Who feels it: media-tech engineers, QA teams and AI agents at streaming companies. They lose time to trial-and-error testing and per-device playback bugs. Solution: a public “OTT DB” with the full playback profile of every device: capabilities, limits, resources, optimizations and QoE medians.

Where agents come in

Agents can retrieve, collect, and apply all of that data.

Why it matters to the community

We should stop keeping it all on specific team members' memory or re-inventing the wheel by creating this solution inside of each company. It’s too big, and it will be a huge win for the whole industry.

What a team would need, and what ends up on GitHub

OTT engineers? PM for QoE? Writing automations for collecting data, hosting, etc.

Still looking for a Tech Sponsor — it could be you

Your vote

Cast your vote

Voting closes on Friday 30 October. We announce the selected projects on Monday 2 November, and the kickoff is Friday 6 November, online.

Your picks

    Nothing picked yet — scroll up and hit “Vote for this” on two proposals.

    You can vote once. Your email is only used to send you the result and the kickoff invite.

    Now tell us about each proposal
    • 1 month — could it realistically ship in a month?
    • 3 months — and in three, which is what a Summer Project has?
    • I’d join — you would work on it, as a developer or helping to define the scope while we learn together.
    01 Forward Error Correction (FEC) with MoQ Marc Fiuczynski
    02 Streaming observability and a data copilot (dbt + agent) Carlos Lopez
    03 Identity that travels with the video: likeness rights for generative ads Will Kreth
    04 A MOQT player built on Video.js + Playa Will Law
    05 CMCD over MOQ / MSF Event Timeline Will Law
    06 Sender-Side Track Selection (SSTS) in moqx Will Law
    07 AI-driven client-side ABR for MOQ Will Law
    08 Non-linear advertising in MOQ players Will Law
    09 OTT DB: the playback profile of every device Artur Parkhisenko
    How would you like to participate?

    There are two main ways to join the Summer Project experience. You can always combine both! The goal is to learn and build together.

    How many hours per week could you commit?

    Join as a Contributor

    Already know you want in?

    Want to collaborate and contribute to open-source tools in media tech? This is for developers, engineers, or curious minds who want to be matched with a project.

    You don’t have to wait for the vote to close. Tell us now and we’ll match you with a project once the two are picked.

    More about Summer Projects 2027 →

    Which projects are you interested in?

    or, if you have one in mind:

    How much time can you realistically commit per week?
    Do you want to join the weekly sync calls?

    Your picks

    Continue →