Pxy – A Go server that proxies websocket livestreams to RTMP servers
source link: https://github.com/chuabingquan/pxy
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
pxy
pxy
is a Go server that routes incoming livestream data from websockets to an external RTMP endpoint.
This project is a work in progress, I'll update more once I'm done with my sleep.
Context
For a side-project of mine, I've to broadcast livestreams through an external service that uses the RTMP protocol. Flutter, and all the web browsers out there do not support said protocol. Therefore, I built pxy
to proxy the livestreams from such clients (via websockets) to the broadcasting RTMP servers. Since RTMP is still widely used in the video streaming industry, I thought amateurs like me could benefit from an implementation like pxy
for our side-projects and such.
Status
Fundamentally, pxy
works well so far. However, there are probably still bugs that needs be ironed out. If you do find any, feel free to open an issue or make a pull request. Meanwhile, pxy
could be used as a reference for how a websocket-RTMP proxy could be built. Using it in production now is a really bad idea.
Try it Out
-
Firstly, install FFmpeg on your machine (just Google it).
-
Proceed to clone the project with the command below
git clone https://github.com/chuabingquan/pxy.git && cd pxy-master/
-
Update your RTMP endpoint address under the constants in
cmd/pxy/main.go
.
const ( readBufferSize = 1024 writeBufferSize = 1024 publishURL = "rtmp://global-live.mux.com:5222/app" // This one here. )
-
Execute the following command to build and run the
pxy
server
go run cmd/pxy/main.go
-
Access
http://localhost:8080
in your browser and supply your stream name/stream key.pxy
will append it behind the specified RTMP endpoint address that's mentioned Step 3(e.g. rtmp://global-live.mux.com:5222/app/{YOUR_STREAM_NAME/KEY})
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK