This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
After playing around with the Appro DM368 IPNC and our own DM368 based hardware I have the impression that the network performance of the DM368 does not match the encoder performance. Using JPEG, it is easy to generate bitrates > 25MBit/s, but when sending these via RTP, the CPU load goes up and frames get lost. Also when using the H.264 encoder with 16MBit/s and streaming to multiple clients not all frames can be transmitted.
Am I doing anything wrong? What is the maximum throughput one can expect from the combination DM368 Encoder + RTP streaming?
Also are there any features in the DM368 EMAC that are currently unsupported by the Linux driver and that could boost performance?
Regards,
Andreas.
I am also getting the similar performance.
With out loss of frames, maximum bit rate I am getting is 12Mbits/sec in case for h264.
I think the problem is with the IPNC design. The thread priorities of the av_server process is very high. So the RTSP steaming application is not performing as expected. The changing of the thread priporites in av_server.out, does not give the maximum performance we need (for ex: 720P30 and CIF 30).
Maximum performance in av_server.out and in the streaming is may be not possible.
We have tested the throughput on the DM365_IPNC and DM368_IPNC.
Please refer the attached, following are test results.
DM365 IPNC the limit is 30Mb/s.
DM368 IPNC the limit is 50Mb/s.
Regards,
Raghu
Hello Raghu,
thanks for the benchmarks!
In your example it seems you're generating a MPEG4 stream with 10MBit/s. This can be streamed to 5 clients without problems, resulting in a combined network throughput of 50MBit/s. I can reproduce this in my setup here.
But the problem comes up if you increase the bitrate of the encoder. E.g. I use JPEG, set it to Quality 70. In my setup here I then get 20MBit/s for a single JPEG stream. If I now open the stream in a second VLC client, frames start to drop and the Bitrate of one connection drops down to 15MBit/s so the combined maximum bitrate in this case is 30MBit/s.
Or if you use H.264 with 12MBit/s. I'm not able to get more than a combined bitrate of 34MBit/s. Take a look at the screenshots. The first shows one single client connected. The bitrate is 12MBit/s. Now with 4 clients the bitrate per client drops to 8.6MBit/s. It seems like not the network throughput is a problem, but the ARM load that high throughput generates. Any clues what could be optimized here? The EMAC driver? The live555 based streaming server?
BTW I'm using the DM368IPNC-MT5 with version 2.0 of the appro software for my tests.
Just one client looking at H.264 with 12MBit/s:
Now 4 clients are connected. See the drop in bitrate:
Here are two screenshots of top on the IPNC. The first with 1 client connected, the second with 4 clients:
Hi,