Skip to Content
For CreatorsStreaming serversWhat is a streaming server?

What is a streaming server?

When you live stream, you send your video and audio from your device to a streaming server. The streaming server is what actually makes that video available for your friends and followers to watch — your phone or laptop alone can’t serve thousands of viewers.

Two kinds of server

Shosho works with two types:

  • Nostr streaming servers are servers that understand Nostr. They accept your live stream and publish a Nostr live event on your behalf so the rest of the network can find your stream. Examples: Shosho Server, Zap Stream Server.
  • Generic RTMP servers are normal streaming servers — self-hosted servers like SRS, Owncast, or OME, or hosted services like Cloudflare Stream, Livepeer, or API.video. They don’t know anything about Nostr, but Shosho can publish the live event for you. See Bring your own RTMP server.

What Shosho needs from a server

What Shosho asks you for depends on the server type. Exact field labels and example values live in Adding a streaming server — at a high level:

  • Nostr streaming servers — you provide a single Server API URL. Shosho talks to that API to get an ingest endpoint, a stream key, and a playback URL automatically, and the server takes care of publishing the live event to Nostr.
  • Generic RTMP servers — you provide three things: an RTMP Ingest URL (where your video is sent), a Stream Key (authorises the stream), and an HLS Playback URL (where viewers watch from, ending in .m3u8). Shosho app sends your video to the ingest endpoint and publishes a Nostr live event linking to the playback URL.

The playback URL is the one Nostr-side requirement: a public HLS link that any Nostr client can play. Most streaming services (SRS, Owncast, OME, Cloudflare Stream, Livepeer, API.video) expose it as a normal part of their service. A few — YouTube, Twitch, Facebook — hide it so viewers can only watch on their own sites; those services aren’t compatible with Nostr streaming.

Last updated on