Reputation: 19
I want to do some labtory work using a network like this:
I want to transmit rtmp video streaming packets from the "server" node to the "client" node. The rtmp packets will be transmitted through node1 or node2 or node3 between the server node and the client node.
Is it possible that I compress the rtmp video streaming on node1/node2/node3? If it is possible, how? Do I have to capture the rtmp packets one node1/node2/node3 and then compress them and then resend the packets out from node1/node2/node3 to the client? Can I just do the compress work on lower layers (network layer/ data-link layer) of the network?
I am really curious about this. I will be really grateful if anybody can help!!
Upvotes: 0
Views: 269
Reputation: 19
You can use ffmpeg which keeps two tcp connection instead of using one rtmp connection.
Upvotes: 0
Reputation: 1434
The approach for a server network, generally tries to solve:
For Quality
, a reverse proxy like nginx works very well, like this;
client ---<--RTMP--- Nginx ----<--RTMP--- Server
Note that the Proxy never increase the system capacity, the maximum clients is limited by the Server. So if you wants to increase the capacity, generally it also play like but more than a proxy
, please use media cluster, like Edge of SRS:
1k client -<--RTMP--- SRS(Edge) --<--RTMP---+- SRS Origin Server
... |
1k client -<--RTMP--- SRS(Edge) --<--RTMP--+
... |
1k client -<--RTMP--- SRS(Edge) --<--RTMP--+
Each Origin Server could serve about 1k SRS Edge server, and each Edge Server serves about 1k~3k clients.
Upvotes: 1