russellhltn wrote:
Have you tested to see how many simultaneous streams your server can do? I'd be concerned that such a cheap device doesn't have the horsepower for multiple streams (or that the disk drive can't support it) causing poor playback on Sundays.
A few back-of-envelope calculations indicate that something as inexpensive as the Raspbery PI-based server
ought to be able to handle several simultaneous streams. Here are the calculations:
At least in the cable TV industy an SD stream is 3.75Mbps, and an HD stream is 15Mbps. Divide by 8 (bits per byte) for 0.47MBps and 1.9MBps, respectively. That's the demand side. The supply side is made of the raw disk drive, the USB link, the compute platform, and the WiFi network. There seems to be consensus in earlier posts that the in-building WiFi network can handle several streams. Here's the rest:
Raw disk drive: Sequential access with an inexpensive "green" raw SATA disk drive I bought a few years ago is 60MBps. A more modern 1.5TB disk drive ought to be faster than that. With readahead provided by the Linux kernel in the server, it would be pretty surprising to not support 20MBps, even with several independent streams. If a spinning platter can't handle several streams, a single SSD of modest size (60-150GB) per building wouldn't be too terribly expensive, and a decent SSD has
way more performance than required for several HD streams.
USB link: I have pulled around 20MBps off a USB2 flash key, so USB2 should suffice. If it doesn't, there are probably platforms that support USB3 and/or SATA.
Compute platform: The Raspberry PI has pretty decent specs and ought to be able to at least max out the USB2 link and/or ethernet link. If it can't handle several streams, there are other platforms with significantly higher performance in the US$100-200 range. There's only one server per building, so that should still be fairly affordable.
Based on the above, the back of my envelope indicates the described server
should be able to push about 10 HD streams or 40 SD streams, with fallback positions to overcome limitations that might show up in actual stress testing. After reading the first posting about the setup, I was going to post a one-word reply: "Impressive!" I hope this idea can be carried across the finish line. I wish I had time to at least help with it.