Hey #[4]​ how come it shows this on yours but not any other client ? I was curious as to why I was tagged went on all clients and noticed this so now I’m sure it was a comment on this episode on #[5]​ β€˜s zapstr. Curious if this is something other clients can implement πŸ‘€

Reply to this note

Please Login to reply.

Discussion

Seems to reference an β€˜a’ tag that damus doesn’t recognize. Its not shown as a reply because there is no event tag. Not sure what clients are supposed to do here? Pretty confusing for users, it looks like vitor is just saying hi with no context.

I just noticed this nostr:note1h7q34p84gp3rshewftkj6hue5wn0ty7t7ct74rj3vwcs4d9d438q6v9x29

This is how it looks on Damus, this would b cool to implement πŸ‘€ idk what it is but I sure love zapstr

could look into it, I dunno anything about that kind. Is there a nip #[3]​ ?

I didn't publish it yet πŸ˜…

I love this! have you thought about streaming protocols or is that outside of scope? looking forward to the nip!

yeah, 100%, I played a while with webtorrent but (from the very limited time I spent looking at it) I think webtorrents might be insufficient for this, but yeah, definitely want it to support a whole array of media sources

πŸ”₯ we implemented HLS for streaming audio in #[7]​ for a couple reasons:

- chunked audio encoding doesnt send full sourcefile to browser. enables monetization (no right click save)

- works across devices and browsers

- same protocol used by e.g. soundcloud

- open standard

- scales extremely well, just static files

- also supports video

would love if the eventual NIP for audio had support for robust streaming like this. I’m no expert but I’ve spent a good amount of time on our HLS implementation - happy to answer questions or contribute!

this sounds great!

what are you using on the server to serve the chunks?

just a basic fileserver, in our case it’s implemented in Go but you could use an S3 bucket or whatever. just needs to be accessible over http

end to end it goes roughly like this:

1. user uploads an audio file

2. backend uses ffmpeg to convert it into HLS files (chunked mp3s + text manifest)

3. HLS files made available on basic fileserver over http

4. HLS manifest url goes into note metadata

5. client gets note, fetches manifest, (manifest includes time markers + mp3 chunk urls) and JIT loads chunks into player

ah damn, that's super simple; love it

I think this could fit into NIP-94 if we added some additional tags like β€œstream_url” and β€œdownload_url”.

#[6]​ uses a custom kind 1808 for this but only because kind 1063 didn’t exist at the time.

did you see the discussion around the `alt` tag?

https://github.com/nostr-protocol/nips/pull/515

That should help display unknown events in a human-friendly way

fuck, wrong PR, here's the right one

https://github.com/nostr-protocol/nips/pull/500