Decentralized streaming on Swarm leverages peer-to-peer architecture where every node performs identical storage, retrieval, and forwarding functions, eliminating central coordination points. The system uses postage stamps as an economic model where users pre-pay for storage capacity, incentivizing nodes to maintain content. Native cryptographic access control enables encrypted content with key-based access management. The streaming pipeline involves capturing raw video, encoding it (typically H.264/AAC), transcoding into multiple quality versions, packaging into HLS segments with manifests, and delivering through the decentralized network. This approach provides censorship resistance, no single point of failure, and content ownership to creators, enabling anyone to stream without relying on centralized platforms like YouTube or Twitch.
Deep Dive
Prerequisite Knowledge
- No data available.
Where to go next
- No data available.
Deep Dive
Swarm Workshop: Decentralized StreamingAdded:
Hello hello hello dear swarm community and all curious minds who came together to learn even more decentralization tools and tech st tax. I am Migla here today with the swarm foundation a little bit tired from ETH Prague. We saw many of our community members there. We had over 20 hackathon projects submitted and hacking on swarm and some of you even mentioned that you did learn from these workshop series. So that was incredibly uh awesome to hear that some of our members indeed are following these workshops and we have come to our final workshop of the series which is decentralized streaming. Uh, and I'm personally incredibly excited because it is something that we've been working on in a quiet um, and we heard so many interesting ideas for people to build decentralized new Twitch and YouTube uh, and decentralize their own streaming and I have so many questions as well for the team because it is something that we're working on in a background as a new so I'm very incredibly excited for to see what Lavanta has prepared for us. Um, so without any further ado, I want to bring on Lavanta on stage here with me.
>> Hello everyone.
>> Lanta, hi. Hi. How are you doing? How was your travels back from Prague?
>> Oh, I'm a little bit tired, but I'm here fresh, refreshed, really motivated, and I'm really glad that I have the opportunity to present you all of these things because we are working really hard in the the last two years to make this happen. And I guess we are finally there on track and we are the gates where we can really come up with solutions fully decentralized and can spread like wildfire in the community.
Indeed, we were discussing this for over two years in a foundation and it's something that we never felt too confident to share because it was not there at the production level and I heard that it now has gotten to that level and uh I promised I'm going to ask you this question which is then if it is decentral decentralized streaming why we're not yet streaming our workshop on it are we there in a production are we ready to uh for our next uh workshop series to be streamed in a decentral ized fashion.
>> There are multiple answers for these questions. I guess one of them that I guess we are ready to do this but we don't have measurable proof and this is what we are working now actively benchmarking stress testing our infrastructure and our solutions. So we can confidently say not just say but to prove that it works and we have we have the numbers. The other thing that feature wise we are only focusing on the the core so the streaming works and stable uh and we're just lacking these type of features what we are using at the moment switching between screens bringing one to another silencing one to another >> make it nice and fancy having it all the dashboard well actually that's something where we will invite our community to build those dashboards so we give you the backend tech stack and we hope you guys uh you know showcase your creativity with it and before every workshop I ask this question and I know that It's tricky for answering it. Um, but in order to follow your workshop today, at what level of difficulty you should be preparing yourself if you do you have to be a developer? Do you think someone without developing experience would be able to follow and implement this? Could you give us a little bit of a heads up for what difficulty level this workshop is?
>> It's it depends on what are your goals are. Um so I was thinking all about a lot about how to um structure this this workshop and I came to the conclusion that I'm going to do a presentation when I give you like a kind of verbose introduction about swarm webc storage streaming and then our journey how we started and where we are heading and then I would like to show you our latest version of the stream. It will be um short demo how you can spin this up. If you're techsavvy, you can immediately jump and start building your stuff because everything is ready. But if you are not, then basically by just watching this and following these steps, you could already start streaming that.
>> All right, that's pretty kick-ass. All right, so I'm going to follow the workshop as well and hopefully I will give you some pointers if it was uh not too technical as well. Uh but we do hope in the audience that the people will get inspired to build their own. We are providing the backend tech. Uh we do want more people stress testing. It helps us to improve. And if you have any feedback or any questions today, not only you can write comments in all of the different platforms where we're streaming this, but also please do find us on our Discord. I know that our developers uh here you go, the QR code is right here. And I know that our developers are constantly checking and are trying to answer and give you any heads up. So if you are today curious to continue building and doing something the discord is now one place to share your ideas to ask for any help um and to get feedback as well. So all right without any further ado lanta I'm super excited decentralized streaming workshop by foundation 2026 let's go and get started.
All right.
One moment, please guys. So, like to share my presentation and make sure it's on.
Okay.
So, let's start. Welcome everyone. And today I'm going to talk about decentralized streaming. Um, and this is not a solution. This is not just the solution. This is our stream engineering journey. I I'm going to talk about where we came from, where we are now and uh where we are heading. Uh we'll start with a why web three matters at all.
Then look at what media streaming actually is and finally through the evolution of our own work from from a simple proof of concept to a production version and of course what we are currently building. So by the end of this workshop, you should understand both the why and the how of streaming storm.
Um just a quick intro about me. I'm I'm Leventish. I'm I'm from Solar Punk, tech lead and techsavvy. Solar punk technical partner of Swarm. We are building text libs libraries tools and now products and services on top of Swarm. Um at the team I I do a lot of things but uh amongst other things I'm responsible for streaming oriented projects.
Uh before we get to streaming we need to talk about the foundation why decentralized storage exists in the first place. If you already believe in web three I guess this is a quick recap.
If you are new pay attention this is the why underneath everything else in this presentation. Uh there are there are real headlines from the last few years.
All of these companies have huge security teams, huge budgets, best engineers, money can buy and yet breaches happen constantly. The I guess the pattern isn't the bad company. The pattern is the centralized data is the target. If you put everything in one place, sooner or later someone gets it.
You become a target. especially if you're growing growing your business, if you scale up and you can see this list u but just recently in the last couple of months I mean guys what's happening there are tons of bridges not just code wise but data wise too and these breaches are loud uh loud stories but there are quiet ones too. Uh when nothing is stolen your data is your data is the product. These are public documented cases of companies selling user data often legally often without meaningful consent and in web to contour is gone the moment you upload that's the thing and uh I guess this is why uh web three storage matters I mean most of these uh principles and topics could be like entirely separate presentations I just would like to highlight out the most important ones in my eyes ownership, transparency, private by default, censorship resistant, no single point of failure, and fair incentives. And in our case, I especially would like to highlight out two censorship resistant.
This is the one that should make every streamer in this room pay attention. On web two, your entire business leaves on someone else's permission. YouTube can demonetize you. Twitch can ban you midstream. A payment processor can decide your content is too risky and freeze your revenue. And uh here's the thing. You didn't break a law. You broke a policy. A policy that can change next Tuesday written by a trust and safety team you'll never meet. Applied by an algorithm you can't appeal to. On research, the conversation doesn't this this conversation doesn't happen. Your content isn't sitting in one company's data center waiting for a moderator to flag. It's it's distributed across thousands of independent nodes run by people who don't know you, don't care what you stream, and couldn't take it down if they wanted to. There's no CEO to pressure. There's no single server to seize. The content exists because the network exists. And it's really important. Um, and the network exists because the economic works, not because someone approved you. This is this is I guess it's not a small feature for independent journalists for creators in countries with hostile governments and for anyone who voice is inconvenient to someone powerful. This is what's needed.
This is the tool and we should pay attention to this. It's really important and especially in the current uh situation of the world. Now another important part I would like to highlight is the no single point of failure. This is one. This one is less political, more practical. Uh but honestly, it might matter more day-to-day, especially now. Think about what happened when um when AWS went down last time. How the internet stopped working. Slack, Netflix, Disney, um smarthomes, all dark because the modern internet pretends to be distributed, but it's actually a handful of giants building uh buildings in in certain data centers. One bad config push, one fiber cut, one building dispute, and your audiences sees a spinner. On swarm, your stream isn't living in one building.
It's living everywhere at once. If a node in Berlin goes offline, the request just routts to one in in Barcelona or Singapore or someone's basement in Toronto, the network doesn't notice.
Your viewers does don't notice. There is no maintenance window. There is no sorry we are expecting issues status pages is status page. The system is designed so that the failure of any individual piece is completely uninteresting to the wall.
So I guess I guess it's important to mention uh where swarm is um in the current stack because there are other decentralized stoages and I often miss these compions when I'm watching presentations from from other stoages that uh let's let's let me show you what else out there because decentralized storage isn't one product. It's it's a whole family of projects and they've all made different bets about what matters.
Let's let's just walk through them quickly so when I say swarm you understand why and not just because it's the one I happen to like and and work with of course. Um IPFS um this is probably the the one you heard of. It's brilliant at one thing content addressing you ask for a file by its hash and not by where it's stored. But here's the catch. IPFS by itself has no economics. Nothing makes a note keep your file around. If nobody pins it, it disappears. Uh it's a protocol, not a network with skin in the game. Beautiful ID missing hold the picture from my point of view.
FCoin Fcoin saw the exact gap and bolted a market on top of this uh issue. Miners get paid to this to store your files.
There are storage deals. There are proofs. It works, but it's heavy. It's optimized for cold storage, big archives, long contracts. You don't stream a live broadcast of filecoin.
It's a warehouse, not a delivery network.
I it it made an entire different bet in the game. Pay once, store forever. It's elegant for permanence, historical records, journalism, things you genuinely want to outlive you. But for forever is the only mode for dynamic content, for streaming, for anything that changes. it's not the tool you need. Um, storage, it's basically S3 with with with encryption and a distributed back end. If you want to drop in AWS replacement and you trust their satellite to coordinate, it's a perfectly good product, but it's centralized in its coordination layer, the decentralization at the storage tier and not in the protocol tier. And about the rest of rest of it, Storant and E storage um I'll be honest these are wallet but they're not in the conversation for what we are building entirely. Um you just cannot really use this for uh for dynamic uh data usage uh use cases. So so why swarm? Uh that's the main question here. Three reasons and u they are the three words on the orange box. uh I would like to high out I guess uh through peer-to-peer this is the one most people miss on most of these networks there is still some higher har coordinator nodes indexer services gateway operators pinning companies someone is more equal than others on swarm every node does the same job storage retrieval forwarding it's symmetric there is no special infrastructure to capture no company you have to trust to keep the lights on it's it's the only one in the list that actually was on the original peer-to-peer promise. And for the postage stamps, this is Swarm's economic model and it's genuinely collabor in instead of paying per download or signing storage deals, you buy a a postage stamp up front. It's a small bundle of paid storage capacity. Your content covers its own postage. Nodes are incentivized to keep stamped content because they get paid for serving it. It means storage and bandwidth are paid openly on swarm act access control. This is really interesting part because swarm has native uh crytographic access control built into the protocol. You can encrypt content grant access to specific keys revoke access later and the storage layer itself enforces it not a separate payw wall service not a a license server you have to run. The storage is the access control for it's really really good for stream things like for premium streaming pay content member only material. This is a feature that's really missing from the game and of course the feeds and feeds let you have mutable references on top of immutable storage. So you can publish latest episode pointer that updates while the underlying content stays content addressed. um for live streaming, for for podcast feeds, for any kind of channel, I guess feeds are the things how how you do it. And if if you if you put together these things uh the peer-to-peer stamps, ACT and feeds, you are not just looking at the decentralized storage. You are looking at the only stack in this list that has everything streaming in one protocol.
And this is why I recommend you, this is my recommendation. This is why I'm doing this. this is the choice for for streaming in this case and yeah this is this was about like web three and and swarm in general but let's shift the gears a little bit um we covered these things but uh a lot of people throw around the word um streaming and um it's not really obvious what streaming is actually um just a quick definition um streaming equals delivering media in PCs while the user is consuming it. There are two main types. Let's say the video on demand file exist like Netflix and and live uh being made in real time like Twitch.
Both work the same way mechanically. The source video gets sliced into small segments typically two to six seconds long and the player downloads them one at a time. And uh this is the model we have to fit onto swarm and and actually it's a perfect fit fit for swarm a swarm already storing data as form of chunks.
How convenient is this? The fit just feels natural from the first site. Uh and and before we we talk about about how we decentralizing things uh let's make sure that we are looking at the same thing when we say streaming because if you ask 10 people what streaming means you'll get 10 answers. Some are thinking Netflix. Some are thinking like Twitch. Some are thinking like a video that auto plays on Twitter and they are all streaming but the pipeline behind them is is kind of identical. I wouldn't say that this is this is true for for every solution for for every design but in general this is the main general concept. Um so let's just walk through of them. Um stage one is capture. Capture is where the video is born. A camera, a phone, OBS Studio if you're a streamer, uh a screen recorder if you are making a tutorial. At this point you just it's just row pixels huge uncro uncompressed completely unwatchable over the network.
Uh a single minute of this stream is it can be several gigabytes depending on of course nobody streams this. Capture is local. It's on the device and it's it's the same on every platform.
Encoding is the first compression step.
row video goes in u row video goes in and compressed video file comes out. Um there are a lot of type of encoders and decoders usually H264 video and AAC for audio because they play on basically every device made in the last 15 years and this is what turns the multiple gigabytes per minute into a few megabytes per minute. Um without encoding streaming just wouldn't exist.
the internet simply isn't f fast enough to move raw video around.
Transcode u this is an expensive one.
Transcoding means that you're taking your encoded video and making multiple versions uh of it at a different qualities. Full HD for a person on fiber. Simple HD for a person in a cafe Wi-Fi. Um SD SD for a person on a phone in a subway and sometimes even less for persons that are middle of nowhere with a really shitty connection. And this is what adapted bit streaming means. Your player picks the right version based on your connection and switches between them on the fly when your connection changes.
uh packaging. It's a it's an it's it's a stage that makes streaming actually work. Once you have your multiple quality versions, uh you chop each one into tiny segments, usually 10 to 10 two to 10 seconds longs, two to six, and depending on of course the infrastructure and the need and you write a manifest file. The manifest is just a text file that says here are the chunks here are the segments in this order at these qualities available at this URL. Um two formats dominates at the market ALS made by Apple and Dash which is the open standard. uh the player downloads the manifest first and then then start to pull the segments based on what how the manifest describes the instruction in instructions to the player and u this is where swarm becomes I would say really interesting and and I I'm going to just talk about this later actually let me just jump to the delivery um on web two this is the CDN cloudfare Akame Fastley AWS cloud front big companies with servers in every major cities whose entire job is to put a copy of your video close to your viewers so the latency is low. CDN are the reason streaming works at scale and they're also where enormous amount of the cost leaves. Um they're kind of a choke point. If CDN goes down then you cannot really distribute the data the stream to your viewers and SH swarm again shines pretty well in this field because swarm has CDN out of the box. Every node is a potential delivery point. When a viewer requests a chunk by hash, swarm r requests to the nearest node that has it. And if many viewers in the same region are watching the same stream, the chunks naturally get cached close to them through the network's normal forwarding behavior. We don't have to build cydians. It's just there and it's super super powerful. Um, and about the box at the bottom, the hard part, transcoding is really expensive and manifests change every few seconds.
Those are two pressure points where just naive decentralization breaks down. If you don't solve transcoding atomics, your platform can only stream what publishers can pre-transcode themselves.
And of course, if you don't solve mutable manifests, you can't do live.
Both of these are real engineering problems. And I'm going to talk about them a little bit later.
But let's see, let's see our evolution.
Um so how we iterated um over over the years we we always just gain more and more experience and with each iteration we solve different different kind of problems and it's it is not just an engineering um issue not just an engineering problem this is a journey and a case study of our work uh around streaming I I remember when when I joined swarm solar punk Um then my first task was to to find out that swarm is swarm capable of streaming and uh I started to feel build the first the first application do the first implementation only client side um just in the browser using uh the browser's uh media recorder API to to capture stream uh encode it there and uh and upload it to swarm and then at the other and listen on these on on these swarm events feed and just download the segments and and play the wall stream. And I guess um with the V1 we had our biggest success at the swarm summit. It was awesome because on stage I managed to demo the the solution and I guess that gives us the green lights and and the the feeling that this is something that we should move forward and came out with better better implementation solution. We got some really nice feedback and partners too and this is how we get the second version MSSD where we already started to think about okay we we are in the browser and we can do things but it just lacks a lot of things you know uh you cannot really do proper encoding you cannot really do proper transcoding all the things that really matters when you are trying to build highly scaled production like uh streaming services the the the level is is just really high in the game.
Netflix, Twitch, Tik Tok, they just set the bar so high that even if swarm gives it the capability to store everything properly and access everything properly as a data storage just building all the features uh for streaming to make the support for streaming is enormous. So this is what we have started here with MSSD. We started to give features to give support for OBS, to give support for transcoding and to we started to build a proper interface where we introduce channels and and chatting uh to the to the equation and u with this version I guess we had some really good success too. We went to events and we could showcase that we can stream and people could check the stream on their phone uh voting leave on swarm the sites and it was super exciting and this is how we led to the uh V3 the third version MSRS which was built for uh crypto Mondays an active partner and for their needs we we shipped features we shipped certain solutions and Um it's it was the whole journey was super powerful but because we learned a lot about streaming a lot about swarm and about the needs what actual the community the people need and this is how we let to v4 which kind of isolates everything that we learned so far and I do believe that this is a version that if we if we can test out properly and build the required uh features that that's suggested and and we learned during our journey that required for for the for the community and for businesses to work with then I guess this can be the final version that that we can just enhance to and it has the potential to spread like wildfire. I'm going to show you this is this is the version I'm going to demo you and show you how you can set this up. Uh but first let me just give you a couple of word about if each version. So maybe maybe one version is the one is needed for your use case and maybe the other is the one you needed for use case. Each version can be a foundation for your work depending on your business needs, depending your goals. So V1 is is just JavaScript. The streamer's browser cuts the streamer's browser cuts video into chunks and uploads them to Swarm.
Each chunk Swarm references goes into a feed. The viewers browser pulls the feed and downloads the chunks as they appear.
Um there are two repositories for here.
Swarm streamjs. Um at the end of this presentation I'm going to show you this um and and the swarm stream react example that you can see how you can integrate the library and how you can use the library in a client side. And I guess it's it's beautiful because it works and it's pure pure client side. U the limitation here is the browser can't transcode efficiently. You only can get one quality. There is no surrounding platform. U it's not easy to do things just on the client side. It's but it's not impossible. So it's already a foundation of of another project of ours. Uh probably we're going to hear that later too. So I suggest you definitely should take a look into this if you want to work only with client side solutions.
And then we have the second version MSSD. This was a big mood because we stopped pretending that the browser can do everything. We realizes it cannot.
It's limited. And uh we added an ingestion layer and started to use tools like OBS to push the stream. So we could fulfill requirements and needs that I heard these feedbacks just everywhere during events that it would be really cool if you could do OBS. So this is how we get the idea. This is why we started to build around this and uh and yeah here we have here we have a server that transcodes that does the transcoding uh to hash segment stream and then uploads it uploads the stream to swarm one at a time the stream segments one at a time.
Here we use a special feature called GSOC. We use GSOC aggregators. Uh basically this is how you can do like backend sides uh computation and things through the network and uh this is how you can introduce like an application level of feed that can show you the stream list that can help you build chat chat on top of everything. And uh yeah and on the player side it's just a custom HLS loader that knows how to pull the segments from swarm instead of httfs.
Um, and out of the box, it's it's a really cool feature, too. When the stream ends, the manifest immediately transitions to video on demand. So, when you are streaming, you start a live stream, it's live. When it's ended, it's already on demand out of the box and it's there and it's there. Uh this was the first version that that actually felt like a product and this is what we start could use uh internally in the team. this is what we could demo and showcase and could uh give out to people to play with and play around it. Um it was really cool to see see this working and then we had the first production version MSRS uh multimedia streaming restrictive solution and this is what's running in production right now um for us and for crypto Mondays and here we had to introduce new type of things that we haven't thought before or we just haven't been there yet identity management the stamp management um and here we introduce the level of permissions So only the streamers have the rights to do things. This all comes with cost of uh some level of centralization of course and it it works really well as a software as a service for companies but in the meantime it shifts away from the direction that we originally tried to do to make everything fully decentralized and this is how we get to the the Vincent uh at the limits. Um we can we can see that the the biggest uh wins over here is that full data decentralization.
Everything is on swarm. Nobody can shut this down. If everything dies of course if everything dies everything dies what I mean if like most of the big giants going down the swarm network is still there then your data your content everything can work. uh there are no dependencies to any any of these uh big big corpse and and it has two port portability. I mean I can I can of course offer you a gateway to check out the site but if you don't trust us you want to check spin out your own things just run your nodes and you can check the site and of course it comes with uh some disadvantages as well. Uh it's still centralized on on certain levels. We used aggregators. We had to do our identity coupling, stamp management on a level where we have to introduce uh gateways and of course transcoding. And this is how we get to the new version which based on all the feedbacks and all the learnings we are trying to eliminate all of these centralized factors. And um this is the current current uh build uh for transcoding. We came up with an entirely new idea that instead of us running a transcoding server and uh giving you access like how YouTube or other centralized solution can do, let's do a modular modularized version of this implementation where you can spin up really thin modules to do the transcoding yourself and uh use whatever you want. If you if you believe that I don't know open media media engine is the best transcoding use that. If you believe that SRS another popular thin transcoding engine is is is for coordinates use that. If you want full decentralization there is likely also I mean there are a lot of use cases and a lot of uh requirements for businesses and individuals also. So um I believe that us should give you like full customiz customizable uh product solutions. So you can do whatever you want and this is how we approach the browser for architecture as well. Um come up with ids workarounds and how to play with feeds uh so we can entirely eliminate the n the need of gateways and um and introduce identities. We bumped into the issues and and problems and limitations and and I heard all of you about these things and there are now active projects uh uh on the run that will eliminate this entirely. Identity a separate identity system on top of swarm uh where you can manage your stamps and identity fully fully decentralized manner. Uh we build we are building in browser node uh implementations multiple versions. So you can you will able to run a node in the client and your animated need of of gateways. And here for the transcoding you can decide if you want only clients you can just rely on the capabilities of the browser and you can do whatever out from just from the client. But if your needs are higher then you can introduce your own transcoding uh infrastructure to the scene. And it sounds really complex but I'm going to show you that it's really not.
And uh and for the for the resources I just let you like a minute here. Uh you can read our blogs. U you can check out our feeds informations and of course all the repositories uh if you want to really deep dive. Most of these have really verbose and nice documentations uh that you can email to start deep dive and check them out and and use them. But if for some reason you are bumped into the issue and there are problems at the bottom there where you can find me and uh and of course not just me but swarm solar punk uh we are here we are listening. So just write us let us know uh if you have a good ID uh if you are just bumping in issues and uh we can work on them your feedback really matters. And now I would like to switch from presentation to an actual demo. Uh I would like to show you the uh what we have here. So I'm just featuring Oh, give me a moment please. I'm trying to find the right buttons.
Okay.
Yeah, super super creepy creepy. So I'm just going to switch here uh on the ripple first. So this is a repository on solar punk under solar punk's u organization the swarm ageless stream and uh this is this is a version I would like to um recommend if you start the wall journey uh this is that we actively start to build this is this will be the fully customizable modularized version trying to add all the utilities all the tools and all the things that can make your life easy with swarm feedback matter. So if it's not let us know and we can start working on it immediately.
Uh in this repo I I don't really want to go full technical here because the repository is the the documentation the repository is reverbos and u if you're really interested in the code you want to build then you can just check everything out and that that could be like three four presentations just to let you know how the components are connected to each other. Um, in a nutshell, you can grab uh any kind of uh capturing tool. I'm going to use OBS in this demo. Uh, at the moment, it's supporting SRT as an ingestion protocol, but it could support others too, depending on what you put here. And we do SRS as an engine uh as a pluggable transcoding engine here. You can bring whatever you want also. And here comes the part that matters most I guess that we do ALS segmented streams. I choose this um this standard because it's widely accepted. Uh it's really major and uh it supports all the devices on the web basically. So you don't have to it's a thing with with streaming that if you go full custom then you're going to bump into these unsupported browsers, unsupported devices everywhere. So it's just better I guess to go with the most supported uh standards and and solutions and for this reason uh I recommend using HLS segments and segmented stream and this is what our stream uploader component is uh supports. It has u a nice layer um an HTTP server basically that accepts these ser accepts these segments and then formats these segments that swarm can consume it uploads it to swarm and then it's on the network at the other end you have the client and the client plays uh can play this stream this type of stream so why I consider this a good solution because once the content goes up to swarm anyone anywhere can uh consume that type of stream. What you need is just a client. It's a really really thin client front end code uh pure JavaScript TypeScript in this case and uh and a node of course if you have your own node and you you run the client you can access the thing uh the the stream uh and from the streaming streaming side uh you will see that it's not not like a super technical uh problem to to spin up an a transcoding engine server and a stream uploader server but let's assume that I'm a provider and I pro I provide this to you. Uh I if I go down you can immedately spin up your own own infrastructure. It's it's really cool I guess because in this sense I consider this decentralized maybe providers can grow out and uh they can uh provide streaming as a service like the infrastructure uh for swarm uh for this solution. Maybe others don't trust these providers and they want to take back control and be full responsible what they're doing. They can just spin up their own and that's it.
You can build incentive layers on top of this.
So let's see how does this work.
I'm going to open open the repository here and uh to make everything work. Uh we have a folder here called deploy about just a little bit about the packages here. Uh we have the client of course we have the stream uploader responsible for uploading the stream and transforming the hls stream uh that swarm can consume and the player can play. uh the client plays the stream and we have a CLI and engine here. CLI is basically just utility tools that can help you make make things easier to spin up a node uh to talk with your infrastructure and and engines. Here we only have SRS at the moment, but later probably we populate it with with different kind of engines based on what we want to stream or how we want to stream it. For for this demo, I'm going to use SRS.
Uh here at the deploy u everything again is really variables.
You can check out everything how it works for a flash deploy. I advise you to do u this deploy scenario here first.
You can run the deploy script setup. I I run most of these uh in advance because there are times that you there are like waiting times you have to wait and you spin up a node. This is the time for syncing. You have to send spans. And just for the sake of this demo, I I set up everything beforehand. Uh here you can run and deploy the B uploader.
Oh yeah, I forgot to tell. So what where I'm how am I deploying here? Here we have a config uh file where you can set where you want to deploy. uh you can deploy different type of servers. You can deploy to local host here. What I said is just the host host name. This is a server of mine. And basically this gives the address and the target for my deployment. So now when I said deploy stream uploader, it just deployed to my SP demo server. And actually we can check this out. I come here, I SSH into my SP demo server. and then the scene amongst other things. Of course, I have see the default B uploader node. So, this is a node I just deployed uh with this script here.
Deploy script deploy uploader. And the next phase what I need here uh what we need here is check the node is healthy.
Uh you can do this multiple ways here in the CLI. There should be a like a node status for example it checks out that we can reach out this reach out this node we can the version about the node and we can see that we have connected pierce it's beautiful it's working so now uh what you can do is check the address of your node ethereum address because you need funds in order to stream you need stamp because you when uploading content to swarm you have to stamp it and to have the stamp you have to buy the stamp from our storage incentive contract. This this contract is onis and for this purpose you need x die and x bzz uh you you can ask us uh for for funds uh for testing purposes but also if you want to switch on your own uh we have uh we have solution I'm not sure what's the link maybe I'm going to ask Aaron at the end to show us a link about this uh a multipart where you can spins most of the bigger coins and token to XBZ and X die. And here you can run after after you founded the node. If you want to do it manually, you just can use Mammask even to send X and XBZ directly to this address and then you can run the stamp setup which basically going to do a test stamp setup for streaming purposes. You can need you can see here that I already founded my node. uh it has 10 uh BCZ and a little bit than 0.1 uh 0.0.1 XD. You don't really not much know this is really cheap and after that it it will buy the stamp for you and then populate the the environment variables uh with the with the stamp because I already have a stamp on this node. It just start to use that stamp.
Okay. And when everything is done here uh stamp is node is set up for the uploading uh and the and the stamp is both uh for the streaming you can deploy the transmoding engine and the stream uploader for this demo and because of my network capabilities I'm running everything on a VPS but it's well tested you can already do everything local host as well.
Meanwhile, it's deploying uh deploying.
It's done. Uh I would like to show you uh the variables. So there are a lot of configs that you can set and do in order to configure your deployment. And of course there are things that you have to do in order to make all of this work. Uh so I'm just going to expose everything here and ask you not to break all of these things during the demo. Uh the first things uh stamp uh details um depending on on your needs what type of steam do you want to do you can give a stamp amount and depth uh which will be basically uh the the capacity and expiry date for your stamp. Here it's it's a lower level representation. I I show you amount and depth. But uh at the start swarm docs you can have a look at the depth and amount to time to volume and calculator just basically make you come to e.docs eatswarm.org or you can do a search here calculators and then do whatever you want and then here you can calculate out that what kind of stamp is this you can see the effective volume this is would be the effective storage capacity that you can get and the duration and the price. Um if you want to think from opposite way you can you can do this from the other way around.
You can just give a time and uh how much data you want to store and it going to calculate you uh the depth and the amount. So it works with aware as well.
But I come back here uh the stamp is populated. It's booked. This is where the stamp should be. And here we have a stream key. Uh for this key I advise you what I did here just generate like a random uh private key and public key pair. Um it doesn't have to be um anything belonging to like a normal wallet. It can be like totally random uh EVM compatible key and uh a private and public key. This is this will be the owner of the stream. That's that's worth to mention. So this address will write the feed. This will be the owner of the stream. The content that goes to swarm here on the streamlist topic. This will be the topic where people will be able to find your stream. This can be anything. I'm just going to leave swarm stream here for now. And then configurations for engine for nodes and the clients. U it it depending on uh how you set this up. Are you on a VPS? Do you have any kind of RPC gateway setup?
Um I I highly recommend to to read the readmis because in the readmies there are verbos um descriptions about each one of these and you can find uh the best setup for your need. Most of the things perfectly fine as defaults but just quick readme search and read you can set up your own uh configurations for your own needs. Now everything is set up for my remote VPS. And if I check out the the connection died. So let's just wait a little bit until it resets and until I I'm coming back here. Here the for the client uh this this white app owner this is a public public key address. This is the public key pair of the stream key. Why is it matters?
because when I'm running the client then these three uh configurations what matters one is an access to a node you need a node to read the content of course it can be anything now it points to a VPS node that I'm running behind the scene it can be local host it can leave anywhere depending you uh a white up owner this is basically the public key of the streamer this is how you can find the streams and here of course the topic so what it says that This streamer streams with this private key on this topic and on the client side you can give it to anyone. You can expose this of course because it's a public key and the topic name and this will be the feed where your stream will leave. This is where people will able to find you and and watch your stream. Um RPC endpoint um you have to communicate with nosis. So I'm using my own uh proxy setup but you can use for this purpose um any of the public RPC endpoints as well and um because I'm my server is on HNER um I have to to configure uh net address and I running multiple things on this server so I just started to customize my ports port numbers and stuff it's a it's really depending on your infrastructure if it's on local host there is a a config sample for readme And you can use that to spin up everything on your own. So the connection finally died. I can uh open this again. And here we can see that I'm running the stream uploader the the strong transcoding engines and the nodes. And just let's peek into these these containers that if they're really doing what they have to do. Yes, it's running and listening on 3000 waiting for segments from the SRS engine uh the transcoding engine. Let's see the engine.
It's just my for my own sake checking them everything works as it should. Yes, it has started and waiting for uh OBS to connect and uh and start transcoding and uh let's see the node as well.
note can spit out a lot of things. So, I'm just going to use a tail here. Yes, it it looks healthy. I mean, maybe it's not looks healthy to you, but you if you work with swarm enough, then this this will be healthy for you as well.
Okay, so now everything is set up. I can start OBS here. Hello guys. And uh in the settings you have to set uh an address where your SRS engine running because it's now on my VPS. I I I have the address of my VPS, the port, the protocol SRT SRT is used and uh it's all of these settings are uh SRS specific.
Here you will able to build like proper authenticated streams if you want. uh you can give other options how your engine should listen on the stream. It's a it's another it's another layer application layer level of problems and things depending on what kind of products or services you're building for the core and for testing purposes. This is a perfectly good link here and uh I start streaming. So let's see what's happening here. Let's check again the let's see the SRS run engine. So what you can see the engine is accepting uh OBS and then immediately pushes the stream to the stream uploader. We can see this on HLS pushes and the O messages. This is why I wanted to see it's beautiful.
And here are the stream uploader. If I check the stream uploader, we should see that these segments are pushed here and uh and the the uploader actually making uh formatting the segments, uploading to swarm and making the manifest. So everything works perfectly. So now we have the streaming set up, the streaming provider set up. Streaming is on. Now we can start consuming it. So what I have to do here is coming to the client. I'm going to start running the client here on my local host. And actually it's already open here. I'm going to open this here.
And now it should load load the stream.
So this is a stream list. So basic basically this is the public when when I added the public key and the stream topic that made a feed and this is the feed where all of these uh streams are written and here we can see that this is the two tests and this is the live stream straight coming from swarm which if you check the requests and the stream starts then we should see that the segments are coming from uh my my node and here I could choose whatever B node what I want to choose now I'm using my own VPS but you can set whatever you want so this is this is the streaming and why I say that is to Miglo that this is you could technically stream and uh and uh and set the vaulting out yeah I mean here there are a couple of configs and things that not totally obvious to anyone and maybe you need a little bit more technical to spin this up. But but here is the thing uh decentralization if you want to go full decentralized and want to take full control back that comes with responsibility not just the responsibility of owning your of your data but the responsibility of owning your infrastructure as well. Uh and then I see this as a plane and this plane Migler could uh ask me that hey love I it's are you really really hard to do this? I cannot really I don't really want to do this and I and I'm not sure if I can but could you please give me the address of your spind server and you could could I please use that to stream and yeah so in this sense I become a provider for miga and if miga don't trust me she could spin up the wall providing stuff for herself and uh in this sense multiple providers could emerge a marketplace could build on top of this uh we can introduce incentive systems. So, it's really depending on the use cases and the and the approach what you want to do, how you want to do it. Um, just I'm going to stop this really eating the bandwidth here.
Uh, another version. This is the crypto.
This is for example a thing is an example what you could build uh for crypto crypto Mondays. This is what we built. For example, uh here you can already have a little bit more refined.
Uh the foundation is basically the same what what I showed you. But here feature- wise um already a nice stream list where you can see these events uh that we live stream. And here we already have a chat built under it. People can chat decentralized same way. And here we already introduced identities where you can uh check out your streams and you can edit your streams. Uh you can make placeholders. You can delete them not from swarm of course just from the client and uh and the stamp management.
This is another really nice uh project that we are working on. So you don't have to buy and spin up the things behind the scene. Um so this this is what I really wanted to show you guys and u I guess that that would be it for the demo. Uh about future works we are working hard on V4 now trying to enhance and improve the core so it will be it could provide good quality and stable streams. Um, we want to benchmark it and stress test this so we can ensure with and prove with numbers that you could bring this technology and this solution to to bigger events and uh and uh stream in front of hundreds of thousands of people through this solution. And then we start focusing on on the features bring this to the client in a way that you can uh watch and use the stream fully centralized u or if you don't don't want to do that you can rely on on RPCs and gateways and make everything fully customizable and motorized. So give back the freedom because from my point of view freedom is not just achieving full decentralization because that's just making another choice for you. It's what I would believe that freedom is about giving you the choice to do whatever you want and on a plane maybe Mikla don't want to spin up her own infrastructure and uh and deal with all the responsibilities of maint maintaining this infrastructure she's completely fine to trust solar punk can use our pro use us as providers but other providers of course as I mentioned can go out uh from the plane as well um and feature wise we are bringing the node uh to the browser so you don't have to on the real side also you don't have to work around gateways the ving can spin up immediately I guess the closest project that could achieve this is the free dump browser um you could open and watch the stream basically already just from the browser without dealing with any of the configurations of a node the identity provider here for this solution for example the how the identity and things are happening behind the scene is semi decentralized and quite complex.
But with new solutions, we heavily reducing the need of these complex solutions and centralization also and and a lot of other really interesting features like a notification system uh that we realize that it's needed for swarm and for these solutions and a lot of other feedbacks that we just heard uh during glo. So yeah, keep in touch. Uh if you have any kind of ideas, feedbacks, let us know, contact us and uh probably can help you. And of course, your feedback matters a lot because this is then then you become part of this journey. This is how we can shape this technology and this solutions to uh to achieve a stage that everyone can can of work with and and and you know solve all these appto-like problems that I just stated during the presentation.
And uh that that would be the demo and I would like to give back the the word to Miller.
>> Thank you so much Navanta for the whole workshop. In fact I was able to follow most of it. Um and indeed I happy to see that there's different options as well and that you touched upon. I had some questions ready but to be fair uh you know you touched upon what are some of the weakest points um and what are the currently features that we're building and I just want to tell all the people once again if you are especially if you're watching this uh later on here is our discord QR code I'm going to ask uh to put that on to the screen once again and if you guys have any questions that you would like our team to answer if you want to stress test something if you have something uh to go within the details of feasibility. Just ask any of those technical or nontechnical questions uh in our discord. Uh Lavanta, if people were to start building today, what first feature or um project you would like to see people building?
>> Um there is a project that really close to me and just don't have the capacity to start working on it. I would like to see uh YouTube on Swarm. We have everything to do that. Uh you can build the interface, the profiles, the videos, uh video on demand and live as well. You can do gated content, subscription, comment system. Everything is there. You just have to put the whole thing together. It would be really really nice to see finally decentralized media content uh for the community. It's I guess it's really needed and the technology is there. Just work has to be done.
>> I hear you. I think that was my answer as well. Either YouTube or Twitch to make it easier for people um and to have the power, the complete and full power, right? I think when YouTube first started the ethos of how YouTube should function that to give this power to the people um was there and we kind of lost that on the way and I feel like with a decentralization we would never have um that human contact of becoming more selfish as it has happened. Right. So I agree with you. And then before we jump out as well, I wanted to ask one very realistic check-in. Uh how far do you think we are from having a strong enough network to be able to stream events live? So let's say when can we expect that Devcon talks will be streamed through our solution?
Um and we are already actively working on testing thresh testing and benchmarks and uh according to our road map I would say end of this year probably but I'm already working on a thin a thinner solution. I don't want to expose this or give any hopes that this will happen but my my hope is that maybe next uh Dcom Mumbai we could show something really cool. Uh but I don't really want to expose that. All right.
>> I like that you don't want to overpromise. Yeah, you're being I don't want all the promise because you know I I don't know if a lot of research and work has to be done and I'm just unsure if it's we are able to do this but uh maybe we can and we are working hard to achieve all of these things >> right it's it's rather remarkable I think what we've showed today and what is capable is only the small tiny piece uh in a massive ocean of what we can do with a decentralized streaming and storage of this type of data So I would urge everyone to re-watch the workshop again. Send it to your friends. Pick it up at the next hackathon and go ahead and build the next decentralized YouTube or next decentralized Twitch. Levant, thank you so much for joining us and giving such a humanly understandable workshop as well. So again, even non- techies can go ahead and understand and comprehend this. I do hope this was helpful for our community and this comes to an end to our all of our workshops that we've had. You can find all of them in our Twitter and in YouTube uh so if you want to rewatch there there's everything from Swarm 101. Uh Lavanta, you wanted to say a word?
>> Yeah, just one more thing that maybe if anyone who watch this stream if you could please give us feedback about the approach here. Was it was it good that I did not really went really deep into technicals and started to make you understand swarm like on a lowest level or the APIs and stuff on a level just give you a brief introduction everything or if you would be more interested on actually going really deep in technicals. So just what should be the good approach here that's what I'm really curious about.
>> Indeed we make these work workshops really for you guys um and we want to make more of them if you're interested as well. We saw during the hackathon that there was quite of a demand and people were curious. However, it really really matters if you leave a comment if you know positive or negative is something so important for us to see that all of the work that we're putting in the background is being heard and reviewed and stress tested. So, we don't want to put anything into production that is not stress tested and you guys are the ones that are making uh the test necessary to take this to the next steps. So, thank you Lavante. Thank you our community for watching and I hope I hope that you guys re-watch the workshops, start implementing it and truly truly decentralize every aspect of your tech stack from the front end of your website to the way you're streaming. Uh we have the technology now it's up to you to take the next step.
Thank you so much and I will see you in Berlin Blockchain Week. That's the next uh physical space where you will be able to see and talk to the swarm folds.
Thank you so much.
Related Videos
Are our DeFi tools becoming too easy to exploit?
saidotfun
228 views•2026-05-30
Solana Unchained ($UCHN) Explained: Solana’s Next Big Utility Project?
CryptoVlogOfficial
339 views•2026-05-30
🚨 Access Network App FREE Withdrawal to MetaMask?! Only 25M Supply 🔥
Airdrop26Alpha
459 views•2026-05-28
Free TON in 2026? How I Tested This Reddit TON Tool
SirenHead-z9y
2K views•2026-05-28
⚠️ALGO Has a Very Bright Future! ✅ One #Crypto Everyone Should Own!
MetaShackle
184 views•2026-05-30
BingX EventX: Trade Sports, Crypto & Global Events With One Click
AidenCryptox
311 views•2026-05-31
XRP IS GOING TO VANISH! A SUPPLY SHOCK IS INEVITABLE! (THIS IS THE PROOF!)
NCash
2K views•2026-05-31
AI Predicts What XRP Looks Like If Ripple Gets A Fed Master Account
CryptoBlazon
422 views•2026-05-30











