# Metastream: synchronized watch parties for streaming sites, now an archive-only project

> Metastream is a browser-based watch party tool that syncs playback of streaming media across sites using WebRTC and WebSockets. The open source line stopped at v0.10.4, and the repository now points contributors to an archive branch.

**samuelmaddock/metastream** — Watch streaming media with friends.

- Repository: https://github.com/samuelmaddock/metastream
- Website: https://getmetastream.com/
- Stars: 2,648 · Forks: 215
- Language: Unknown
- License: not declared
- Published: 2026-09-28 · Updated: 2026-09-28 · Language: en
- Canonical page: https://hysenlabs.com/projects/samuelmaddock-metastream

## The problem Metastream solves, and who it is built for

Watching a stream with other people usually means counting down out loud and then pressing play at slightly different moments. Metastream attacks that directly: it synchronizes playback of streaming media across various websites, so a group watches the same page at the same position. The README lists the intended scope plainly: Chromium and Firefox browsers, public, private and offline sessions, WebRTC peer-to-peer connections, real-time chat, a collaborative media queue, timestamp cue points parsed from the media description, auto-fullscreen of embedded media, per-user playback permissions managed by the host, and basic host administration such as kicking peers.

The audience is therefore narrow and specific. This is for friend groups or small communities who already watch on third-party streaming sites and want a shared control layer over them. It is not a media server, it does not host or transcode content, and it does not provide the video itself. The project also addresses website owners: the README shows that a site can add watch party support by redirecting a visitor to Metastream, with an anchor pointing at app.getmetastream.com and a url query parameter carrying the media address. That is a lightweight integration, and it tells you where the project expects the media to live: somewhere else.

## How synchronization and the peer connections actually fit together

The repository topics name the building blocks: webrtc, websocket, p2p, cobrowse, browser-extension, chrome-extension, firefox-addon, media-player, pwa, webapp. Read together with the feature list, the shape is a browser extension or web app that observes the media element on a page, sends playback state to the other participants, and applies incoming state locally. WebRTC carries the peer-to-peer side, and a WebSocket channel handles the signalling and coordination that peers cannot do directly.

Two design choices in the feature list matter more than they first appear. First, per-user playback permissions managed by the host: playback control is not a free-for-all, and the host decides who may drive. Second, timestamp cue points parsed from media description, which suggests the app reads timestamps out of text associated with the media and turns them into jump points. Neither is documented in depth in the README, so if your use case depends on exactly how permissions are granted or how cue points are parsed, the README will not answer it and you will have to read the source in the archive branch.

The offline session option is the most interesting architectural claim. A session that works without a shared server implies the peers establish their own connections, which is consistent with the WebRTC emphasis. The README does not document how discovery works in that mode, and that silence is worth noting before you plan around it.

## Installing Metastream and starting a first session

The README does not give build or install commands, and the top level of the repository contains only .github/, README.md and resources/. The open source code is not on master; the README states that the latest open source version, v0.10.4, is available in the archive branch. So the first real step is fetching that branch rather than the default one.

```bash
git clone --branch archive https://github.com/samuelmaddock/metastream.git
cd metastream
```

After that, the README is silent on how to build or load the extension, so you are reading the repository's own scripts and manifests. For the hosted route, the project points at its app: the README's website-owner example redirects a user to Metastream with the media URL attached, which is also the fastest way to try a session without building anything.

```html
<a href="https://app.getmetastream.com/?url=https://youtu.be/3bNITQR4Uso">Watch in Metastream</a>
```

The README presents this as the way a site owner adds watch party support. As a user, the equivalent move is to open the app with a url parameter pointing at the page you want to watch, create a session, and share it. The README describes public, private and offline sessions but does not document the exact invite flow, so expect to learn the UI by using it. What you should see, per the feature list, is the embedded media going fullscreen automatically and playback staying in step across participants.

## Where Metastream breaks down or is simply the wrong tool

The largest limitation is not technical. The README states that as of August 2024, Metastream has discontinued publishing under open source and is no longer accepting contributions, and that the latest open source version is v0.10.4 on the archive branch. The release history supports that: v0.10.4 is dated 2024-08-18, after v0.10.3 in 2021 and v0.10.2 in 2020. A three-year gap followed by a final release and an archive notice is a clear signal about where development went, whatever the hosted app still does.

Second, synchronization depends on the target site. Metastream observes and controls media on pages it supports; a site that renders video in an unusual way, or that already blocks embedding, is a poor fit. The README promises support across various websites without enumerating them, so any specific site is an untested assumption until you try it.

Third, the licence situation is unresolved in what is available: no licence identifier is given, and the README says publishing under open source was discontinued. If you intend to fork, redistribute or build a product on this code, that combination is a reason to stop and read the actual licence file in the archive branch, not a reason to assume permissive terms.

Finally, this is not a way to watch together on a phone or a TV in any documented sense. The feature list names Chromium and Firefox browsers.

## Metastream alternatives and how they differ in approach

The obvious alternative category is screen sharing through a general video call, where one participant plays the media and everyone else watches the shared screen. The difference is fundamental: Metastream synchronizes playback of the media on each participant's own machine, so everyone gets full resolution and local audio, while screen sharing sends one compressed video stream to everyone and degrades with each added viewer. Metastream's approach also means the host's playback controls are shared state rather than a broadcast, which is why per-user playback permissions exist in the feature list.

The cost of that approach is dependency on the target site. Screen sharing works on anything you can display, including local files and DRM players, because it never touches the page. Metastream has to understand the page. That trade runs through every comparison: choose Metastream when the media is on a supported website and you want clean per-viewer quality; choose screen sharing when the content is not on a supported site or you cannot install an extension.

Within its own category, the relevant distinction is between hosted watch-party services and self-run tools. Metastream is unusual in offering both a hosted app and an open source extension, and the README's website-owner snippet shows the hosted app is meant to be linkable from third-party sites. That integration path is the part a generic screen share cannot replicate.

## Maintenance, upgrade cost and licence implications

The last push to the repository is dated 2026-07-08, but that fact should be read next to the archive notice rather than instead of it. A recent push does not make this an actively developed project when the README states that publishing under open source was discontinued in August 2024 and contributions are no longer accepted. Treat the archive branch as a frozen artifact: v0.10.4 is the last open source version, and there is no documented upgrade path past it.

That changes the upgrade calculus. If you build on this code, you are not tracking an upstream that will fix browser API changes for you. Chromium and Firefox extension APIs move, and a frozen extension that manipulates media elements is exposed to those changes. The practical cost is that any breakage becomes your work, and the README offers no migration notes, no changelog beyond the release tags, and no stated support channel other than a Discord badge.

On licensing, no licence identifier is given at all. The README's statement that Metastream discontinued publishing under open source sits alongside that absence, and the two together mean you cannot assume the terms under which v0.10.4 may be used, modified or redistributed. Check the licence file in the archive branch before you build anything on it. This is a factual gap, not a legal conclusion.

## Conclusion

Metastream fits groups who want to watch the same streaming page together with synced playback, chat and a shared queue, and who are willing to run or install a browser extension themselves. It does not fit anyone who needs a supported, actively developed product, since the README states that as of August 2024 Metastream discontinued publishing under open source, stopped accepting contributions, and moved the latest open source version, v0.10.4, to the archive branch. Before adopting it, check whether the hosted app at app.getmetastream.com is still reachable, confirm which browser you will use, and read the archive branch rather than the master branch for the last open source code.

## FAQ

### How does Metastream work?

It synchronizes playback of streaming media across websites for a group of viewers, using WebRTC peer-to-peer connections plus a WebSocket channel, with a browser extension or web app observing and controlling the media on the page. The README also lists real-time chat, a collaborative media queue and host-managed playback permissions.

### Is Metastream free?

The README does not state pricing. It does say that as of August 2024 Metastream discontinued publishing under open source, and that the latest open source version, v0.10.4, is available in the archive branch, so the open source code itself is available there.

### How do I use Metastream?

The README shows opening the app with a url parameter pointing at the media you want to watch, creating a public, private or offline session, and sharing it with friends. Website owners can add watch party support by linking to app.getmetastream.com with the media URL attached.

### What are the best Metastream alternatives?

The README does not name any alternatives. What it does establish is the difference in approach: Metastream synchronizes playback of the media on each participant's own machine rather than broadcasting one participant's screen, which is why it depends on the target site being supported.

### Is Metastream safe?

The README does not address security. What it does describe is the connection model: WebRTC peer-to-peer connections with WebSocket signalling, and sessions that can be public, private or offline, with the host managing playback permissions and able to kick peers.

## Sources

- [Issues](https://github.com/samuelmaddock/metastream/issues)
- [Project website](https://getmetastream.com/)
- [README](https://github.com/samuelmaddock/metastream/blob/master/README.md)
- [Releases](https://github.com/samuelmaddock/metastream/releases)
- [samuelmaddock/metastream on GitHub](https://github.com/samuelmaddock/metastream)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/samuelmaddock-metastream
