video-server
video-server copied to clipboard
Server which connects to set of existing RTSP's and provides HLS/MSE-based streams.
Golang-based video-server for re-streaming RTSP to HLS/MSE
Table of Contents
-
Golang-based video-server for re-streaming RTSP to HLS/MSE
- Table of Contents
- About
-
Instalation
- Binaries
- From source
-
Usage
- Start server
- Test Client-Server
- Dependencies
- License
- Developers
About
Simple WS/HTTP server for re-streaming video (RTSP) to client in MSE/HLS format.
It is highly inspired by https://github.com/deepch and his projects. So why am I trying to reinvent the wheel? Well, I'm just trying to fit my needs.
Instalation
Binaries
Linux - link
From source
go get github.com/LdDl/video-server
# or just clone it
# git clone https://github.com/LdDl/video-server.git
Go to root folder of downloaded repository, move to cmd/video_server folder:
cd $CLONED_PATH/cmd/video_server
go build -o video_server main.go
Usage
video_server -h
-conf string
Path to configuration JSON-file (default "conf.json")
-cpuprofile file
write cpu profile to file
-memprofile file
write memory profile to file
Start server
Prepare configuration file (example here). Then run binary:
video_server --conf=conf.json
Test Client-Server
For HLS-based player go to hls-subdirectory.
For MSE-based (websockets) player go to mse-subdirectory.
Then follow this set of commands:
npm install
npm run dev
You will se something like this after succesfull fron-end start:
DONE Compiled successfully in 1783ms 12:09:30 PM
App running at:
- Local: http://localhost:8080/
Paste link to the browser and check if video loaded successfully.
Dependencies
GIN web-framework - https://github.com/gin-gonic/gin. License is MIT
Media library - http://github.com/deepch/vdk. License is MIT.
UUID generation and parsing - https://github.com/google/uuid. License is BSD 3-Clause
Websockets - https://github.com/gorilla/websocket. License is BSD 2-Clause
m3u8 library - https://github.com/grafov/m3u8. License is BSD 3-Clause
errors wrapping - https://github.com/pkg/errors . License is BSD 2-Clause
License
You can check it here
Developers
Roman - https://github.com/webver
Pavel - https://github.com/Pavel7824
Dimitrii Lopanov - https://github.com/LdDl
Morozka - https://github.com/morozka