I just built a tool.

Video on-demand from encrypted chunks on multiple Blossom servers 🤯

If you have (or can install) nak, nodejs, ffmpeg can you check it works for you?

nak req --id ec1688e87843e8774d1813c371fe65af890be090bdb831f03ceefdd2144ad679 wss://relay.damus.io | npx --yes github:franzaps/n2m3u8 | ffmpeg -f hls -allowed_extensions ALL -protocol_whitelist file,http,https,tcp,tls,crypto,fd -i - -f mpegts - | mpv -

This:

- Fetches a nostr event with hashes of video chunks

- Input into my tool that finds the working chunks in Blossom servers and outputs a HLS playlist

- Input to ffmpeg that decrypts and decodes the stream

- Input to video player. (Replace mpv with vlc or other video player, can also save to a video file)

Volume UP!

#asknostr #blossom #devstr

Reply to this note

Please Login to reply.

Discussion

doesn't let you down

Censorship-resistant video sharing 🤯

Exactly

👀

nostr:nprofile1qqst03hkj9w04xnzllm2rupxqn0g3s3ud3kx6xu0vtrucyr5nuc8aqgpzamhxue69uhk2cmvd9c8xefwwp6kytmjv4kxz7gpzemhxue69uhk2er9dchxummnw3ezumrpdejz7qgwwaehxw309ahx7uewd3hkctcp9fcsk

Epic Rick Roll. Bravo, sir.

I don't get it: why encrypt the segments when you put the AES key on the nostr event?

It's a POC so don't take too seriously.

But having a the key separate from the content gives Blossom operators plausible deniability which is massive.

Gotcha

Oooh

Earlier this year, I fell victim to a devastating cryptocurrency scam that cost me $79,000 worth of Dogecoin (DOGE). I met a scammer through a Telegram investment group—a woman named “Clara” who posed as an experienced crypto broker. She shared impressive-looking client testimonials and promised a 35% return in just seven days. Her website looked professional, and despite my initial doubts, I eventually transferred 500,000 DOGE, worth about $79,000 at the time.

For the first week, everything looked fine—the trading platform showed my balance growing steadily. But when I tried to withdraw my funds, I was told I needed to pay a $12,000 “withdrawal fee.” Clara reassured me this was standard and fully refundable, so I paid it. Unfortunately, that was just the beginning. More unexpected charges followed: a tax clearance fee, a network fee, a security deposit. Before I knew it, I had lost an additional $8,000.

I was crushed—emotionally and financially. My savings were gone, and I blamed myself for ignoring the red flags. A friend eventually suggested I reach out to JBEE SPY TEAM RECOVERY, a company known for helping scam victims recover stolen cryptocurrency.

Although I was skeptical, I was also desperate. I contacted them and provided every detail I could: wallet addresses, transaction history, chat logs—everything. Their team got to work right away. Using advanced blockchain tracking techniques, they traced the stolen DOGE, identified the scammer’s wallet, and worked with relevant authorities to freeze the funds before they were moved any further.

Throughout the process, they kept me informed and reassured. After days of relentles

s effort, JBEE SYP TEAM RECOVERY successfully recovered the majority of my stolen Dogecoin. Their professionalism, expertise, and transparency turned what felt like a hopeless situation into a story of redemption.

If you’ve been a victim of crypto fraud, I highly recommend contacting them: Email conleyjbeespy606@gmail.com

Telegram +44 7456 058620

you can also contact on instagram

/cc nostr:npub17plqkxhsv66g8quxxc9p5t9mxazzn20m426exqnl8lxnh5a4cdns7jezx0 nostr:npub1t6jxfqz9hv0lygn9thwndekuahwyxkgvycyscjrtauuw73gd5k7sqvksrw

Bookmarked thanks!

GD! Real time video from blossom servers already works?! Nostr development is really accelerating. I feel like we're getting close to the next killer app/onboarding phase

nostr:nevent1qvzqqqqqqypzqun2rcnpe3j8ge6ws2z789gm8wcnn056wu734n6fmjrgmwrp58q3qqs95v5s99w5mzegk6tdf5flu0af999k0anjkucdcemf2d5hh9hk43q4d6rc5

The mind blowing part here is not my unix tool, it is showing that nostr is a practical decentralized alternative to Usenet NZBs (torrents are a different thing)

- Blossom servers do not need to store a whole large video file

- Blossom servers do not need to stream an entire large file

- Blossom operators have plausible deniability in terms of content as the segments are encrypted (and they may not have all) and they don't control the key

- Video clients now have mutiple failovers if a segment is stored in multiple servers

- There are bandwidth savings if the video is not watched entirely

- Content creators can exchange the AES key against a zap

Youtube, here we come.

nostr:nevent1qqs95v5s99w5mzegk6tdf5flu0af999k0anjkucdcemf2d5hh9hk43qprpmhxue69uhkv6tvw3jhytnwdaehgu3wwa5kuef0qgs8y6s7ycwvv36xwn5zsh3e2xemkyumaxnh85dv7jwus6xmscdpcygrqsqqqqqpr4rtmd

Yeah, we were talking about this a while back, when we started splitting up and indexing publications that contain non-text data, but I don't know if the plausible deniability thing actually works in a court of law because everyone low-key knows you've implemented it to help traffic kiddie porn.

I didn't even realize that nobody was doing this, already. Sort of funny. We do this with PDFs and stuff, too. Break it up into a stream, including the pictures and videos and games (people put computer games into PDFs because of course they do). But the whole thing makes me nervous, so we only store Asciidoc and export the embedded media to a media server, and call it from there.

We don't work with anything encypted, but you do you. The police know where we live. LOL

Breaking it down into a stream also means you can set anchors into the stream, and refer to those anchors in a highlight, which is seriously awesome.

Bookmarked. Will test later

👀

Very smart.

nice idea, works perfectly!

cool, m3u8 in a nostr event?

buen trabajo hermano!

So this uses the DRM AES encryption feature of HLS? This might work with hls.js in the browser too.

Love it, really well done 👏

I have not. Thanks!

nostr:nprofile1qqst03hkj9w04xnzllm2rupxqn0g3s3ud3kx6xu0vtrucyr5nuc8aqgpzamhxue69uhk2cmvd9c8xefwwp6kytmjv4kxz7gpzemhxue69uhk2er9dchxummnw3ezumrpdejz7qgwwaehxw309ahx7uewd3hkctcp9fcsk you were aware of this one?

Nope, doesn't surprise me though, that nostr:nprofile1qy88wumn8ghj7mn0wvhxcmmv9uq35amnwvaz7tms09exzmtfvshxv6tpw34xze3wvdhk6tcqyp3lucccm3v9s087z6qslpkap8schltk427zfgqgrn3g2menq5zw6txehlm is way ahead of everyone 😂

Putting each segment into it's own NOSTR event makes a lot of sense for live streaming but for videos that would be an unnecessary overhead.

There is also a chunked blobs BUD10 draft https://github.com/hzrd149/blossom/blob/chunked-blobs/buds/10.md but that is more for generic files with fixed blob sizes.

Agree.

Also Hzrd likes the idea of just linking to the m3u8 instead of having an event replicating it. The m3u8 should have relative paths that are the hashes

What a way to Rick roll everyone 😂