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
pxyserver
- Access
http://localhost:8080in your browser and supply your stream name/stream key.pxywill 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})
from Hacker News https://github.com/chuabingquan/pxy
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.