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
Login to reply
Replies (39)
doesn't let you down
Censorship-resistant video sharing π€―
π
Exactly
nostr:nprofile1qqst03hkj9w04xnzllm2rupxqn0g3s3ud3kx6xu0vtrucyr5nuc8aqgpzamhxue69uhk2cmvd9c8xefwwp6kytmjv4kxz7gpzemhxue69uhk2er9dchxummnw3ezumrpdejz7qgwwaehxw309ahx7uewd3hkctcp9fcsk
Epic Rick Roll. Bravo, sir.
Top π
I don't get it: why encrypt the segments when you put the AES key on the nostr event?
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
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
/cc nostr:npub17plqkxhsv66g8quxxc9p5t9mxazzn20m426exqnl8lxnh5a4cdns7jezx0 nostr:npub1t6jxfqz9hv0lygn9thwndekuahwyxkgvycyscjrtauuw73gd5k7sqvksrw
And I built this on top of it:
nostr:nevent1qqs95v5s99w5mzegk6tdf5flu0af999k0anjkucdcemf2d5hh9hk43qprpmhxue69uhkv6tvw3jhytnwdaehgu3wwa5kuef0qgs8y6s7ycwvv36xwn5zsh3e2xemkyumaxnh85dv7jwus6xmscdpcygrqsqqqqqpr4rtmd
Oooh
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
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 π
Awesome!!!
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.
Have you seen this? https://github.com/nostr-protocol/nips/pull/1790
What a way to Rick roll everyone π
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
It's like Space Monkey from 2011 is back π
https://en.wikipedia.org/wiki/Space_Monkey_(company)
nostr:nevent1qvzqqqqqqypzqun2rcnpe3j8ge6ws2z789gm8wcnn056wu734n6fmjrgmwrp58q3qqs95v5s99w5mzegk6tdf5flu0af999k0anjkucdcemf2d5hh9hk43q4d6rc5
Yooo
nostr:nevent1qqs95v5s99w5mzegk6tdf5flu0af999k0anjkucdcemf2d5hh9hk43qpz9mhxue69uhkummnw3ezuamfdejj7q3qwf4pufsucer5va8g9p0rj5dnhvfeh6d8w0g6eayaep5dhps6rsgsxpqqqqqqze2dkp8