// the find
q191201771/lal
🔥 Golang audio/video live streaming lib/client/server. support RTMP, RTSP(RTP/RTCP), HLS, HTTP[S]/WebSocket-FLV/TS, GB28181, H264/H265/AAC/G711/OPUS, relay, cluster, record, HTTP Notify/API/UI. 直播
LAL is a pure-Go live streaming server and library covering RTMP, RTSP, HLS, HTTP-FLV, HTTP-TS, and GB28181 (the Chinese national surveillance protocol) in a single binary. It's aimed at developers who need a self-hosted streaming backbone without reaching for nginx-rtmp or a C-based media server. Most useful if you're building in Go and want the protocol stack as importable packages, not just a server.
The protocol breadth is real and not superficial — each protocol has its own package with packers, unpackers, and test coverage, not a thin shim over ffmpeg. The remux layer (pkg/remux) handles cross-protocol transcoding paths like RTMP→HLS and RTSP→RTMP as first-class operations. Single external dependency (the author's own naza utility lib) means no dependency hell and clean `go build`. GB28181 support is rare in open-source Go projects and makes this useful for integration with Chinese IP camera infrastructure.
Last commit was October 2024 and activity has visibly slowed — open issues may not get responses. The sole external dependency being the author's own unpublished utility library is a double-edged sword: if the author stops maintaining naza, you inherit that problem with no community fallback. No WebRTC/WHIP support, which is increasingly the baseline expectation for browser-based ingest in 2024+. Documentation is primarily in Chinese (the English README is thin), so debugging edge cases in the protocol packages means reading Chinese wiki pages or the source directly.