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

Replies (39)

Default avatar
Ben freeman lee 7 months ago
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.
And I built this on top of it:
franzap's avatar franzap
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
View quoted note →
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 View quoted note →
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.
franzap's avatar franzap
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
View quoted note →
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
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
Yooo
franzap's avatar franzap
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
View quoted note →