This string has no description
Streamplace VOD JAM #
ATmosphereConf 2026 was recorded live on Streamplace. All talks are now available as VODs stored on our new beta VOD service. But there's no frontend yet. That's where you come in.
In a world where Streamplace and the AT Protocol are successful, there won't be just one app or website for everyone's content. Solving video for everybody forever means: many apps, many websites, thousands of unique experiences for every situation. We want your take!
DURATION: Submissions will close in two weeks: Sun Apr 12, at 11:59 PDT.
REQUIREMENTS: Your app or website has to show the AtmosphereConf VODs, one way or another. Websites must be accessible on the public internet. Native apps must have clear instructions for building and installation. Within those parameters, get creative!
SUBMISSION: Reply to the @stream.place VOD JAM announcement post with links to the public endpoint of your app and a Tangled repository. Submissions must be open-source and permissively licensed (MIT or Apache 2.0). If you're working as part of a team, make sure to tag all your team members in the submission! If you use AI to help create the app, please let us know.
PRIZE: All valid submissions will receive a VOD badge that may be equipped to show up next to your name in Streamplace chat from now until the end of time. Show off that you were here when it all started!
Streamplace VOD Beta Documentation #
We wanted to get the VODs out as quickly as possible, but they're rough at the moment; the streams still need to get sliced nicely. We'll be cleaning them up over the course of the jam — by the end we'll have working apps with clean video! Other things that will be added as we go:
- AAC audio rendition
- Transcoded video renditions (720p, 240p)
- Thumbnails
- Lexicon schema
The data #
Every talk is a place.stream.video record in the did:plc:rbvrr34edl5ddpuwcubjiost repository (@stream.place). You can list them all:
curl "https://iameli.com/xrpc/com.atproto.repo.listRecords?repo=did:plc:rbvrr34edl5ddpuwcubjiost&collection=place.stream.video&limit=100"
Each record looks like this:
{
"$type": "place.stream.video",
"title": "How Streamplace Works: VODs",
"source": {
"ref": "bafkr4igmxmm3dei6tsgmwmfyuyyas74dlmminco5zfhad3lcinm3q3aa4e",
"size": 1448011796,
"$type": "place.stream.muxl.defs#archiveBlob",
"mimeType": "video/mp4"
},
"creator": "did:plc:jcahd7fl7h23c24ftxuhkhiw",
"duration": 2019548316666,
"createdAt": "2026-03-28T23:44:48Z",
"livestream": {
"cid": "bafyreifdrkhtt2gpeqxq26aqb64rfsxhc6eysfjksldkaw6os4ihck4za4",
"uri": "at://did:plc:jcahd7fl7h23c24ftxuhkhiw/place.stream.livestream/3mi5stzyxji2e"
}
}
Key fields:
- title — talk title
- creator — DID of the original streamer
- duration — nanoseconds
- livestream — back-reference to the original livestream record
- source.data.ref — BLAKE3 content hash of the video archive
The livestream field links back to the original place.stream.livestream record if you want additional context about the stream.
Playing a video #
Given a record URI like at://did:plc:rbvrr34edl5ddpuwcubjiost/place.stream.video/3mi2ikg6gij26, get an HLS playlist:
https://vod-beta.stream.place/xrpc/place.stream.playback.getVideoPlaylist?uri=at://did:plc:rbvrr34edl5ddpuwcubjiost/place.stream.video/3mi2ikg6gij26
What we're looking for #
- Video player apps and web UIs for browsing talks
- Integrations with existing AT Protocol clients
- Creative uses of the data — playlists, clips, highlights, search
- Accessibility features — captions, transcripts, chapters
The video data is standard HLS CMAF. The metadata is standard AT Protocol records. Go wild.