Possum TV Live Server - Hardware


Back in 2008 when I first considered putting my possum box cameras on the web, I originally thought I could get away with installing a video input card in an old computer and set this up as a simple webcam server. I soon realised this wasn't going to work out; it's too difficult to replace or upgrade the parts of an old computer and they tend to be slow or consume a lot of power or both. Power consumption is a particular concern with a server that's running continuously; quite apart from any environmental considerations, the extra cost of a new computer could easily pay for itself in terms of power used over the period of a few years. [Consider this: if your server draws 100 W and you pay 40c/kWHr for power, it'll cost you $350/yr.]


I ended up by building the first Possum TV server out of all new parts in November of 2008. Some parts of this computer (hard disk and video card) were upgraded in 2010, but mostly the computer remained in its original configuration until March of 2016 when the motherboard died after a power outage. I got it going again with a spare motherboard but it was clear it would need to be replaced sooner rather than later.


I have moved the description of the old server to this page.


The hardware used in the latest server is described below. It updates everything to the latest (as at early 2016) technology, but makes no fundamental changes to the original design.




Gigabyte 
GA-H170M-D3H Motherboard Item: Motherboard

Manufacturer: Gigabyte

Part Number: GA-H170M-D3H

Details: micro-ATX form factor, LGA1151 socket, UEFI BIOS, 2 x PCI 2.2, 2 x PCIe X4


Nothing special to see here; a fairly standard motherboard. It was chosen for the following features:





Intel i3-6100T 
CPU Item: CPU

Manufacturer: Intel

Part Number: i3-6100T

Details: LGA1151, 3.2 GHz, 2 Cores, 14 nm process, 35 W TDP


As far as the latest Intel CPUs go, this is pretty much bottom-of-the-range. It's specifically designed for low power consumption (implied by the T suffix) at the expense of speed. It might seem to be an inappropriate choice for a server that has to process multiple video channels, but by my calculations it's nearly three times faster than the previous one; and the previous one could stream video for 6 boxes simultaneously using only 25% of its available processing power.


If I were to get an Internet connection with a better uplink speed that enabled me to stream video in higher definition, I'd probably need to upgrade to a more capable CPU.




K## RAM Item: RAM

Manufacturer: Corsair

Part Number: ##/4G

Details: 2 x 4 GB 2133 MHz DDR4


It seems you can't get a set of dual-channel RAM of any less capacity than 8 GB these days. On one hand, it's always good to have a lot of memory, but memory does consume power, so you don't want to go totally overboard here. Having said this###





##V Hard Disk Drive Item: Hard Disk

Manufacturer: Western Digital

Part Number:

Details: 6 TB SATA III


This disk was supposedly specifically designed for streaming video applications; security cameras and the like. It's not clear whether this is just an advertising ploy (like when they sell a dozen different types of panadol, each pretending to be for a specific type of pain, but in fact all containing identical ingredients), but nevertheless it was a moderately priced, high capacity disk, which is what was needed.


There are two trade-offs you make when buying hard disks: price v reliability and speed v energy efficiency.


With the price v reliability trade-off, you should in theory look at the MTBF (mean time between failure) figure for the disk - the higher the better - but the trouble is that manufacturers quote absurdly high figures which seem to bear no relation to reality.


I have found that there are two more reliable markers to look for: The high reliability disks will have a 5 year rather than a 2 or 3 year warranty and will have an NBER (non-recoverable bit error rate) of 1 in 1015 rather than 1 in 1014. Always look at the two numbers in preference to any other labels or advertising claims.


I do honestly have to say that I don't know whether the extra price for high relaibility disks is worth it. In other applications I have had high reliability disks fail It's still questionable about whether going for the supposedly higher reliability disks is worth the extra money.


There's a bit of dilemma with choosing a hard disk. On one hand, you'll want a power-efficient one, because it will be spinning almost constantly. On the other hand, you'll want one that's reliable, because obviously you won't want to lose your recordings, and even if you back them up, reinstalling everything will be a huge pain. The trouble is that high-reliability disks tend to have particularly high power consumption (the RE4-GP disk I currently have was an exception to this, but these are no longer available anywhere). You can use RAID to increase reliability, but this immediately doubles your power consumption.


At this stage (2015), I would probably go with a Western Digital "Purple" disk. These are intended for video recording and have moderately good power consumption. The reliability figures aren't as good as the top-of-the-range drives, so I'd suggest frequently backing up recordings, and ensuring you have a disaster-recovery plan ready in case the disk fails (but you should do this anyway, because even the best disk can fail).


Don't be too hung up on brand name when buying a hard disk. There are people who have experienced a bad batch of disks from one manufacturer and will vocally preach that that brand is no good. This is not a valid conclusion—it's like saying that all people with brown hair are obnoxious because once someone with brown hair was rude to you. All major manufacturers (Seagate, WD, Hitachi, IBM etc.) make good disks. Occasionally one batch, or even entire model, of disks has problems and should be avoided, but this happens to all manufacturers. None are significantly worse than the others. The moral is to look at the specs (and if possible reputation) of the individual model of disk you are considering, and ignore the manufacturer.




PV-987-4 Video Input Card Item: Video Input Card

Manufacturer: Unknown Chinese Brand

Part Number: PZ0256B

Details: 8 Channel, Dual TW6816.


Having been annoyed by the high prices and lack of range of video input cards available in this backward country, I went searching on eBay and got several of these boards at about 1/10th of the local price. I had actually got these a couple of years ago as spares and I'm surprised to find that a recent search on eBay turns up no boards with TW6816 chips in them. There are a few with the older Techwell chips in them, but most seem to be Conexant BT878s. The BT878s work perfectly well with these low resolution box cameras, but are very old technology and have a very high power consumption compare with the Techwell chips. In fact, if you were getting a board with more than four BT878s on it, you will probably need to install additional heat sinks to stop it overheating.

A third video input card was added in February 2010 to cope with the expanding number of boxes. I decided to try out a different manufacturer because of the annoyances I'd experienced before. Unfortunately, it wasn't a case of "third time lucky"; this card didn't work with the TW680x driver I had installed at the time. I had to upgrade the driver, but the new driver used 4VL2 API elements that only been introduced in kernel version 2.6.28 and, as Murphy would have it, I was using 2.6.27.


The end result is that I had to rebuild the whole Linux system, which took around 3 days of work, but overall it was worth it because it gave me the opportunity to clean up and upgrade a lot of other things.


Recommendations: If you are from Australia, the video input card will be your biggest problem; in this country there is a much more restricted range of cards available than in other countries, and they are much more expensive. Although the cards I have all work OK, I wouldn't specifically recommend them over anything else, and I'd suggest you shop around. I would definitely consider buying from overseas via eBay. Things I would suggest:





Antec NSK2480 Case Item: Case/Power Supply

Manufacturer: Antec

Part Number: NSK2480

Details: micro-ATX case with earthwatts 380 W power supply.


This case is intended for HTPC (Home Theatre PC) applications. It's fairly low cost and looks good; it's intended to sit alongside stereo equipment in your living room. The power supply is fairly efficient (supposedly around 83%+).


A couple of minor annoyances: Firstly the power supply has only two SATA power connectors, and these are both on the same cable and too close together to connect to both the hard drive and CD ROM at the same time. Secondly, despite the provision of air flow directors and a plate for blanking off fan outlet holes, it wasn't possible to set up the case air flow to work in what I would consider a logical and efficient manner (this is quite a common problem that I've also seen on very much more expensive cases). The first issue was fixed by purchasing an extra SATA power cable. The second issue is only a theoretical problem since the system doesn't put out much heat anyway.


Recommendations: As far as the case goes, a bigger one is generally better since they run cooler and there's more room to route cables. Also bear in mind that some video input cards use up extra slots on the back panel for extra connectors. The IVC-268G card, for instance, takes up 3 slots on the back panel if you use the audio and GPIO options. If you've got more than one video card of this type, a full ATX case, which has seven slot covers is much preferable to a micro-ATX which only has four.


Regarding the power supply, there have been considerable advances since the server was built. At that point you were lucky to be able to get an 80+ power supply of any type. These days not only are there a large number of 80+ supplies available, but they are officially graded according to efficiency, as per the following table. (You will notice that "80+ Green" is not officially defined. If you see a power supply with this label, it is likely to be an inferior unit and you should not buy it.)


ColourMinimum Efficiency at 50% load
(none)80%
Bronze85%
Silver88%
Gold90%
Platinum92%
Titanium96%

At the present time (2015), 80+ Gold and Platinum supplies are readily available at a reasonable price, however, there's a problem: most of these have high power ratings. Power supplies reach their peak efficiency at around of 50% load and can drop off in efficiency quite sharply below about 20%. Your system might only draw 40 W, so an 800 W power supply would be running a 5% load. The 80+ certification doesn't specify any particular efficiency at these levels. For instance, the Antec EA-550, which is an 80+ Platinum supply, was measured at 83.2% efficiency at 10% load.


Really, it's very annoying. It's difficult to get a power supply below 300 W in capacity and with these you'd be lucky to find one with even a Bronze rating, and you're still going to running it at under 20% load. At this stage, I'd suggest a Seasonic 400W 80Plus Platinum Fanless or an Antec EA-550 (550W, 80+ Platinum) as the least bad options.




Network


Bandwidth


The Achilles heel of the system is the uplink. Internet access is via a standard cable plan. The downlink speed is good, but the uplink is much slower. Currently the uplink works at up to 1 Mb/sec, which is a great improvement over the 128 kb/sec I was getting when the I first set up the system, however it doesn't always achieve this speed and the bandwidth is shared with whatever else I'm doing on line at the same time. With the current setup, video streams at perhaps 800 kb/sec, i.e. a single user viewing a possum box uses perhaps 80% of my upload bandwidth.


There is limited scope for reducing the bandwidth usage. Streaming is done using "multipart jpeg" format, because that's all my software supports. This format has the advantage of simplicity and is well supported by most browsers, but it isn't as efficient as a proper video format. It's not clear to me the extent to which a proper video format can actually be used for live streaming video anyway; for example, you can't do stuff like two-pass encoding because that would require access to video that hasn't been recorded yet.


Initially, I allowed streaming video on the local network, but blocked it at the firewall. However, when Kiki brought her baby into box 7 in August 2013, I decided this was being unfair to my viewers and opened up full streaming video to the world. So far, this hasn't caused any problems.


As a fall-back position if the steaming video isn't working properly (i.e. too many people watching or bad network conditions), I also have available an old-fashioned webcam interface, with a JPEG that gets updated every couple of seconds. This means you miss out on the action but at least you get relatively good-quality live pictures and only use about a tenth of the bandwidth.


Domain Name


Another issue is that the cable modem has a dynamic IP address. This means that in theory I should be using a Dynamic DNS, however I am not currently doing this. Currently I have the domain possum.tv hosted by VentraIP (who I recommend), and I update the IP address semi-manually. That is to say, I have a script that periodically checks the site external IP address and sends me an email when it changes. I then log in to my domain hosting and change the DNS records.


When I first set up this site, I tried to do things the right way by getting a free account with DynDNS and using the domain possum.dyndns.tv. This worked but was never satisfactory. There was a problem with the DDNS update client in my router (I believe there was a race condition with the cable modem) which would occasionally cause the wrong IP address to be sent to DynDNS after a power outage. This lead to the site going off-air until I discovered there was a problem and fixed it. This actually happened more often than changes to the IP address, so I actually would have been better off not using a Dynamic DNS.


Over the subsequent years, DynDNS became more and more unfriendly to its free account holders. First they eliminated wild-card domains, then they forced you to log in monthly, finally they eliminated free accounts altogether. It was obviously possible to move to a paid account with DynDNS, however, firstly I don't want to support a company that has acted in an arguably deceptive manner (essentially like the stereotypical drug dealer giving out free samples, then charging through the nose when the user is hooked), and secondly a Dynamic DNS is (in my case) more of a hindrance than a help anyway.