Sign up ×
Raspberry Pi Stack Exchange is a question and answer site for users and developers of hardware and software for Raspberry Pi. It's 100% free, no registration required.

I'm trying to use the Pi to grab a unicast UDP stream (video) on one NIC, and send it out as a uni- or multicast on a different NIC. I have two working NICs and by using socat I can get data to flow through the Pi between the two machines.

My problem is that the Pi is dropping a lot of the UDP packets, so the resulting stream isn't all that to look at. VLC is able to show a picture, but it's very obvious that the packet-loss is quite high.

The data-rate for the video stream will be between 3500kb/s and 8000kb/s with an average around 6500kb/s. I have a feeling that this can be a problem since both NICs will be on the same USB controller, but I'm not sure that's my only problem.

cat /proc/net/udp

show that there is a lot of dropped packets. Is it possible to tune the Pi to handle a live video stream like this?


I've realised that I might be able to do this using iptables or other mechanisms, but I'm not familiar with any of these.

Edit 2: I had to give up the Pi, two NICs over the Pis USB controller just can't handle the amount of data I'm trying to push. Bought a slightly larger (and much more expensive) unit instead.

share|improve this question

closed as too broad by goldilocks Jan 10 at 13:32

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

Possibly the Pi just cant handle that amount of raw data being multicasted? try lowering the bitrates and see if it improoves. Is it just reading a file or transcoding too? Because the NIC is on USB "multicast" might be software emulated causing issues. – ppumkin Jan 25 '13 at 8:39
I've tried using unicast too, with no luck. Unfortunately I can't change the source (it's from a proprietary system), and no transcoding. All I want to do is accept UDP/IP packets on one NIC in promiscuous mode and resend the exact same packets on the other NIC. – Håkon K. Olafsen Jan 25 '13 at 12:59
Yes - Sometimes things so trivial but so difficult to implement. I have learnt over time. If it seems to complicated or difficult to do - It is the wrong way to do it. I know you know what you want to do but possibly it is not the correct way to do it with a Pi because of limitations? like hardware bridges etc. – ppumkin Jan 25 '13 at 13:07