Don't open port 554

Your camera should stay on the building network. OctoStream already accepts an outbound RTMP push. That is how a hotel, jobsite, or church gets a player on their website without touching the router.

Create a push stream — Create Stream → Push from OBS or Encoder.

The short version

OctoStream can pull an RTSP URL, but that URL has to be reachable from the internet. Most cameras are not. Port forwarding 554 to a camera is how those cameras get scanned.

The other mode — push — is outbound only. Something on the same Wi-Fi as the camera sends video to OctoStream. Nothing inbound. No static IP. DDNS does not skip this; it still needs a hole in the firewall.

If the camera only plays in VLC on a laptop in the building, use push. Do not forward 554.

This week: OBS on a computer next to the camera

Works today. No new software from us. A church volunteer can do this if someone knows the camera password.

The dedicated OBS walkthrough is Push a live stream from OBS to OctoStream.

  1. On a laptop on the same network as the camera, open VLC → Media → Open Network Stream. Paste the camera's RTSP URL (Reolink: see Put a Reolink camera live on your website). If it plays, you're on the right LAN.
  2. In OctoStream: Create Stream → Push from OBS or Encoder. Open the stream → RTMP publish setup → copy the publish URL.
  3. Install OBS. Sources → +Media Source → uncheck Local File → paste the RTSP URL → Network Buffering ~2 seconds. If the picture is choppy, enable TCP for the source.
  4. Settings → Stream → Service Custom → paste the OctoStream URL into Server. Leave Stream Key empty unless OBS refuses; then put the last path segment in Key.
  5. Output starting point: H.264 + AAC, 720p, CBR 2500 kbps, keyframe 2 seconds. 1080p if the upload can hold ~6000 kbps.
  6. Start Streaming. Wait a few seconds. Open the OctoStream watch page. Then copy the embed code.

Keep that computer awake. Lid closed = stream dead. Guest Wi-Fi is usually too thin; use the building LAN.

After it works

  • Set the PC to never sleep. Wired ethernet if you can.
  • Add a schedule in OctoStream so the player is not a black box at 2am ("back on air Sunday 9:00").
  • Embed starts on Starter ($9.99). Free is a watch link only.
  • Restream to YouTube / Facebook from OctoStream so the camera publishes once.

What not to try

  • Cloudflare Tunnel — HTTP only. It cannot carry RTSP, and OctoStream pull only accepts RTSP.
  • Tailscale Funnel — TLS on 443/8443/10000. Same problem.
  • Tailscale as a VPN — great for you watching the camera. OctoStream's servers are not on your tailnet, so pull still fails.
  • "Just set up DDNS" — still requires port forwarding.
  • ngrok TCP on 554 — technically can feed pull. The hostname changes, UDP dies, and a volunteer will not keep it alive. Use push instead.

When OBS is the wrong tool

OBS is a person sitting at a PC. A beach cam, a marina, a jobsite trailer that has to run for months needs a box that nobody logs into.

That is OctoStream Pusher: a small always-on app on a Windows/Mac mini or a Pi. Same loop as OBS (LAN RTSP in, RTMP out). One screen. Start on boot. No router.

Until Pusher ships, a Pi with ffmpeg is the same architecture — installer work, not volunteer work. If you want that image, email support@octostream.com.

FAQ

Do I need a public IP? No. Push is outbound.

Can the camera do this itself? Some Axis cameras can, with CamStreamer. Some Hikvision/Hanwha/Axis models can, with IPCamLive's ICSA. A generic Reolink cannot. That's why the computer (or Pusher) sits in the middle.

Will this work on 4G? Outbound push can. Reolink LTE still has no RTSP, so you need a camera that can push or a box that can see a local RTSP source. Don't try pull through a 4G NAT.

The watch page is black. The encoder is not actually publishing, or the stream is outside its schedule. Confirm OBS says "Live" and wait 10 seconds. Then check the publish URL was copied from this stream, not an old one.