23

We all know the Pi can play 1080p video no problem, but is it fast enough to act as the basis for a file server that can stream 1080p video over its wired network connection?

I'm thinking of using mine as a media server of sorts to stream 1080p HD video, (with DTS-HD audio), and I am interested to know if anyone else has tried it or if the Pi is up to the task.

Darth Vader
  • 4,206
  • 24
  • 45
  • 69
berry120
  • 10,924
  • 10
  • 51
  • 62

1 Answers1

22

I tested network throughput with iperf and it can push around 90 Mbps of TCP through happily. If I recall corectly, Full HD video requires around 25-35 Mbps, so my guess would be that yes.

You may want to consider something faster than a SD card to store media files on. While a Class 6 is probably enough, Class 4 probably isn't.

UPDATE: I did a more realistic test of I/O - reading from SD card and pushing the data over the network.

On Raspberry Pi (Raspbian):

nc 192.168.105.225 337 < /dev/mmcblk0

On another machine on the same LAN (bridged):

nc -l 337 > /dev/null

The router (bridge) showed 44 Mbps of traffic being pushed by Pi. Considering that I have a Class 4 SD card this implies that I/O on Pi is not a bottleneck at these speeds.

Resource consumption during a test (it's quite high): top

I will try with an attached USB hard drive soon to see if it can push a full 100 Mbps.

  • 1
    Thanks for that. Sure, a USB hard drive (externally powered) seems like what I'm going for in terms of storage at present. – berry120 Jun 14 '12 at 14:44
  • I retested just to be on the safe side and it is actually slightly less - around 90 Mbps, but still well enough for streaming. –  Jun 14 '12 at 14:52
  • 3
    A Class 6 SD card should be capable of 6MBps read speeds (6 Megabytes per second), so unless there is some limitation in the Raspberry Pi SD interface, a class 10 card should be more than capable of saturating a 100mbps (100 megabits per second) once protocol overheads are taken into account. – Mark Booth Jun 14 '12 at 15:18
  • Cool- I will have to give that go. How did you get 90mbs? reading your flash or usb stick? writting? – Piotr Kula Aug 03 '12 at 09:41
  • 1
    @ppumkin iperf tests only network performance. If I recall correctly, it sends 0123456789 repeatedly. Will do a test with SD card I/O soon and let you know. –  Aug 03 '12 at 10:14
  • @ppumkin See my edit. –  Aug 03 '12 at 10:27
  • Yea- By definition if the USB Hub runs at High Speed then you have 480mbs bandwidth almost 5 times that LAN needs.. so there should not be any problems. But if it does not run at full sped for whatever reason.. This is really providing some good feedback. PS - Can you monitor the CPU load while doing this? – Piotr Kula Aug 03 '12 at 10:39
  • @ppumkin Yes, see my edit. –  Aug 03 '12 at 10:49
  • Wow. So are you happy to say that using LAN direcly influences the CPU? Do you think that if something was already running an intense arithmetic procedure (eg video encoding) it would impair reading the SD card.. and cut the throughput to LAN? – Piotr Kula Aug 03 '12 at 10:51
  • 1
    I am not happy, of course not :) But it is understandable. Even TCP itself is quite a resource-intensive protocol. It has to calculate checksums all the time, fragment data, take care of retransmittions, .. –  Aug 03 '12 at 10:53
  • That is a very good point. Thinkning that the chip is LAN chip you would have expected the LAN module to do this independent of the BCM CPU core? I think something else is causing the CPU to spike.. data shifting from SD to the LAN bus(USB) not sure what it is. – Piotr Kula Aug 03 '12 at 10:57