Awesome
RTSPtoHLSLL
Description
RTSP Stream to WebBrowser over HLS Low Latency
full native! not use ffmpeg or gstreamer
1. you need https!!!
2. work in progress!!!
3. unstable!!!
Limitations
- This is a temporary project that's not finished yet.
- For low latency hls to work well on IOS, you need https without it, you get regular HLS!
- Remember this is not a production project this is an example.
Video Codecs Supported: H264 / H265 (H265 only IE or Safari)
Audio Codecs Supported: AAC
Download Source
- Download source
$ git clone https://github.com/deepch/RTSPtoHLSLL
- CD to Directory
$ cd RTSPtoHLSLL/
- Test Run
$ GO111MODULE=on go run *.go
- Open Browser
open web browser https://you_domain.com or not recommendet (http://127.0.0.1:8083)
Get started (configure)
Open config file and edit
-
Go to source directory
$GOPATH/src/github.com/deepch/RTSPtoHLSLL/
-
open file config.json to edit mcedit nano or other text editor
mcedit config.json
-
Configure you DNS name, need domain (example.com) and external IP (white) ######(if you skip this step it may work as hls without LL as it requires http 2.0)
-
Configure you dns name
{"server": { "http_server_name": "example.com", "http_port": ":80", "https_port": ":443" }}
-
If you know exactly the FPS of your stream, it is better to specify it in the config.
fps_mode
fixed - read config value fps
sdp - read fps send by camera sdp
sps - read fps over sps vui
probe - cal fps over interval (default)
pts - use pts unstable ;(
####example
{"streams": {
"H264_AAC": {
"on_demand": false,
"url": "rtsp://171.25.232.20/d7b92541b4914c8e98104cba907864f8",
"fps_mode": "probe",
"fps_probe_time": 2,
"fps": 25
}
}}
Run
- Run source code
$ go run .
- Build source code
$ go build .
Team
Deepch - https://github.com/deepch streaming developer
Dmitry - https://github.com/vdalex25 web developer
Worked Browser
- Safari - Mac OS
- Chrome - Mac OS
- Safari - IOS
Other Example
Examples of working with video on golang
- You can make one-time donations via PayPal. I'll probably buy a coffee tea. :tea: