High Volume Unicast to Multicast CPU use
Posted: 16 Jun 2009 16:24
Hello,
I am trying to use VLC to convert about 25 UDP unicast streams to multicast and I'm having problems with the load on the CPU. After 5 or 6 streams, the CPU use gets up over 90% and the system is unstable. The test server is 2x 3.4GHz & 2GB RAM. It's currently on Windows but I'm not sure CPU use would be much better with Linux.
Transcoding obviously uses a lot of processing power but I'm not converting the feeds at all. The source for each feed is a satellite receiver with UDP unicast output over Ethernet. The original MPEG-2 ~3-5 Mbps streams are not changed at all and I'm simply trying to convert them from unicast to multicast for use on an in-house LAN.
I'm a little confused as to why it would take so much processing power since the feeds are not being decoded or transcoded.
I'm launching VLC with the telnet interface and loading a VLM config file:
Again, the feeds do convert to multicast and I can play them out using the specified multicast address with VLC as a client. I'm only concerned about the CPU load and the inability to do more than 5 or 6 streams.
I have also tested using a MPTS multicast stream as a source and trying to split it into 5 separate multicast streams (one for each program in the multiplexed source multicast, using "udp://@239.1.1.199:4410 :program=1" [... program=2, etc] as the source) and find comparable CPU load issues. (The reason for splitting the multicast is to reduce network load for the clients... so they're only using bandwidth for the channel they're watching rather than for a group of channels concurrently).
Any help would be greatly appreciated.
Thanks.
I am trying to use VLC to convert about 25 UDP unicast streams to multicast and I'm having problems with the load on the CPU. After 5 or 6 streams, the CPU use gets up over 90% and the system is unstable. The test server is 2x 3.4GHz & 2GB RAM. It's currently on Windows but I'm not sure CPU use would be much better with Linux.
Transcoding obviously uses a lot of processing power but I'm not converting the feeds at all. The source for each feed is a satellite receiver with UDP unicast output over Ethernet. The original MPEG-2 ~3-5 Mbps streams are not changed at all and I'm simply trying to convert them from unicast to multicast for use on an in-house LAN.
I'm a little confused as to why it would take so much processing power since the feeds are not being decoded or transcoded.
I'm launching VLC with the telnet interface and loading a VLM config file:
Code: Select all
[...]
new PGM1 broadcast enabled
setup PGM1 input "udp://@:6000"
setup PGM1 output #duplicate{dst=std{access=udp,mux=ts,dst=239.1.1.1:4001}}
control PGM1 play
[...]
I have also tested using a MPTS multicast stream as a source and trying to split it into 5 separate multicast streams (one for each program in the multiplexed source multicast, using "udp://@239.1.1.199:4410 :program=1" [... program=2, etc] as the source) and find comparable CPU load issues. (The reason for splitting the multicast is to reduce network load for the clients... so they're only using bandwidth for the channel they're watching rather than for a group of channels concurrently).
Any help would be greatly appreciated.
Thanks.