finds.dev← search

// the find

Streamedian/html5_rtsp_player

★ 2,727 · JavaScript · Apache-2.0 · updated Jan 2024

Play RTSP stream from IP camera in browser in this HTML5 player without plugins

A browser-side RTSP client that muxes H.264/AAC RTP packets into MP4 fragments and feeds them to MSE, avoiding server-side transcoding. Requires a companion WebSocket proxy (closed-source, license-gated) to relay the actual RTSP traffic. Aimed at IP camera dashboards where you control both the server and browser environment.

The architecture is sound: shifting demux/remux work to the browser means your proxy just relays bytes instead of decoding video, which scales much better under load. The transport/client/remuxer separation is clean and genuinely extensible — swapping in HLS support or a custom transport is plausible without surgery. SDP parsing and RTP payload handling (H.264 NAL reassembly, AAC ADTS framing) are implemented properly rather than punted to a third-party black box. Plugin wrappers for video.js, Clappr, and Flowplayer exist and look usable.

The server-side proxy is proprietary and requires registering your domain on streamedian.com — you do not own the full stack. The repo has been effectively unmaintained since early 2024, and MSE browser APIs have shifted enough that edge cases are likely broken. iOS Safari is explicitly unsupported with no workaround, which rules out a large slice of mobile users on any camera-viewing use case. The build setup (rollup aliases, vendored bp_* deps, no package-lock) is fragile and will require debugging before it builds cleanly on a modern toolchain.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →