21 lines
1.4 KiB
Markdown
21 lines
1.4 KiB
Markdown
# stream-server
|
|
|
|
Extremely basic live stream server
|
|
|
|
Currently implements a degraded subset of RTMP and SRT for ingest. Encryption for SRT is implemented with AES-CTR with hardcoded passphrase "srttestpass". Only 16-byte keys have been tested, but nothing should stop the implementation from having problems in principle
|
|
|
|
Uses the std lib http server implementation for the http serving side.
|
|
|
|
**Not intended for actual use**. The stream key use is not secure and is used to handle directories without a user db system, than to provide auth. Same goes for the SRT passphrase. Also just accepts connections so will get DDOS'd immediately.
|
|
|
|
Limits to a single stream at a time, mostly for the lack of db to handle connections and user information rather than concurrency problems.
|
|
|
|
Currently always transcodes to vp9 + opus, segments to fragmented mp4. Creates one segment playlist, no manifest. Uses ffmpeg
|
|
|
|
HTTP streaming relies on hls-player-js. Will be broken for standard hls players until I figure out how to modify the `EXT-X-MAP:URI` field to prepend a path prefix without changing directories. Or finish the transcoder project
|
|
|
|
Currently produces no logs nor debug info. Will just abandon a connection if there is a problem. Will not send any RTMP replies since flash server docs seem dead and abort messages are netStream commands.
|
|
|
|
Ports are hard-coded into main.go. Modify if needed
|
|
|
|
Run with `go run main.go`. Could also build if you prefer that instead.
|