Video encoding across 3 older systems

Our KODI server, a Core i7-2600 CPU-based system running Xubuntu 20.04

When second generation Ryzen processors came out I started to wonder what it would be like to use one to encode video. Currently all my video encoding is done by a custom built computer that doubles as our living room entertainment system. For the sake of this article I'll call that computer KODI. The name of the computer is also a hint as to what the computer is running: KODI, (currently on Linux Mint Cinnamon, but this will be changed in the near future). Unlike most people I generally don't use KODI for streaming, I use it to organize media I've purchased over many years. KODI has decent specifications for an older machine, in fact it's the most powerful system in our apartment. This article looks at how powerful our KODI machine is at encoding video compared to two lesser computers. (At some time in the future I hope to show how a few more systems stack up.)

KODI's hardware specifications are as follows:

CPU: Intel Core i7-2600 @ 3.80GHz
Motherboard: Gigabyte H67MA-D2H-B3
RAM: 16GB (dual channel)
Storage: 500GB Seagate BarraCuda SSD + 8002GB Seagate ST8000VN0022-2EL
Graphics: Gigabyte NVIDIA GeForce GTX 970

As I mentioned in the first paragraph, KODI is the best machine at our apartment. Both my better half and son have second generation Core i5-based systems. I didn't run this experiment on their systems since neither run Linux and I'd like to stick to Linux for the purpose of this article. My "next best" machine has an AMD processor, but not a Ryzen. For the purposes of this article we'll call that machine LION. LION is normally where I first dump my media. I use MakeMKV to extract video from my DVDs and Blu-rays, then move those extracted files over our home network to KODI. To be completely clear, the "KODI" machine doesn't serve these to the Internet, this is simply so we can sit in front of our television and have our entire collection of DVDs and Blu-rays a few clicks away. MakeMKV is awesome, but it's pretty much a raw data dump so file sizes tend to be enormous. This is where the KODI machine comes in for video encoding. Once I've moved the files off LION on to KODI I run the command-line version of handbrake (handbrake-cli on *buntu and Linux Mint) and handbrake-cli enocodes the video at a 1080p preset that looks good on our older Samsung 42" LCD TV. With multiple computers in the apartment you'd think it would make sense to use all the computers to encode video, but the other computers are often being used for other things, and I normally run handbrake-cli just before I head to sleep, letting it run overnight.

LION's hardware specifications are as follows:

CPU: AMD A8-5600K APU @ 3.60GHz
Motherboard: Gigabyte F2A85XM-D3H
RAM: 32GB (dual channel)
Storage: 500GB Samsung SSD 860 + 256GB SAMSUNG MZ7TY256 SSD
Graphics: Zotac NVIDIA GeForce GTX 650 Ti BOOST 2GB

LION is running Xubuntu 20.04. It's worth mentioning here that I used to run Xubuntu 18.04 on KODI, but about 6 months ago I bought a new SSD (previously KODI only had a 128GB SSD) and decided to put Linux Mint Cinnamon on it. I've run into a few issues with Linux Mint on this machine that I didn't run into with Xubuntu, so I'll be changing the OS on KODI in the near future. As you might have guessed, actual data on KODI is stored on a "spinning rust" 8TB mechanical Seagate Ironwolf drive. The last system in this encoding test really doesn't belong here. As a computer refurbisher I wouldn't even recommend the system I'm about to list to anyone, but I recently built it for a specific purpose, pulling video off an old IEEE1394/Firewire camcorder. For the purpose of this article I'm going to call the computer DVGRAB. DVGRAB is a very cute computer. It's housed in an approximately 1/2 foot by 1 foot "Shuttle" case. Shuttle still makes compact computers with 6th to 9th generation Intel i-Series processors, but DVGRAB is so old that it's not even up to our refurbishing specifications 2 years ago.

DVGRAB's hardware specifications are as follows:

CPU: Intel Pentium 4 2.80GHz @ 2.81GHz
Motherboard: Shuttle FB61R
RAM: 2048MB
Storage: 1000GB HITACHI HUA72101
Graphics: NVIDIA GeForce FX 5200 128MB AGP

DVGRAB is running a 32bit version of Xubuntu 18.04 (all the other systems are running 64 bit versions of their OS). I threw DVGRAB in this test in part to show how terrible a Pentium 4 is at video encoding. (In fact the system was so bad that it didn't finish the encoding, but I'll leave that story for a little further down). For this test I took a video that's 1 hour and 32 minutes long. On each system I have a directory in my home directory called scripts. In that directory I have a bash shell script with the following contents:

for i in *
  do HandBrakeCLI -i "$i" -o "${i%.*}-264.mkv" --preset="H.264 MKV 1080p30" --all-audio --all-subtitles

This looks in a folder and uses the command-line version of Handbrake to encode a video with the H.264 1080p30 MKV preset that includes all audio tracks and all subtitle tracks. Why not MP4? MP4 can only handle one subtitle and in needs to burn that subtitle in to the video. In my .bashrc I include the path to the scripts folder (where resides) by including the following at the bottom of the .bashrc file: export PATH=$PATH:/home//scripts Note: You would put your username where is if you made a scripts folder in your home directory. Don't forget to quit out of the shell/terminal and open it again so the PATH takes effect.

On to the results...

KODI (i7-2600): Averge Frames Per Second: 126.81, total time: 17 minutes, 31 seconds.
LION (A8-5600K): Average Frames Per Second: 66.83, total time: 33 minutes 10 seconds.
DVGRAB (Pentium 4 2.8GHz): Average Frames Per Second: 7.59*, total time: 4 hours, 31 minutes, and 16 seconds*.

*I mentioned earlier that the result for DVGRAB were incomplete. I had a very rare power out and the DVGRAB machine went off with 17 minutes and 51 seconds left in the encode. (We've been suffering under a heatwave here). When the machine went off it was done 93.87% of the total encoding. If it were to continue at the rate it was going the total time would be: 4 hours, 52 minutes and 7 seconds. (It would likely take a bit longer as I noticed the frames per second dropping slightly). With just over 17 minutes left it would have averaged around 7.54 frames per second by the time the encoding finished. This is almost 5 hours of encoding time for just over 1 1/2 hours of video. LION's time to process the video (33 minutes 10 seconds) really isn't bad, it's a bit more than 1/3rd of the total video play time, but if I had to re-encode a lot of video having a machine that takes 17 minutes is a blessing. It's mainly for this reason that I transfer all the files over to KODI to do all the encoding. (And to be clear the KODI software doesn't have anything to do with the encoding, I use it later to watch my video collection). Taking just over 17 minutes to encode 1 1/2 hours of video the i7-2600 really does an admirable job of encoding video.

But there's one more reason I use the i7-2600-based machine to encode video, the Corsair H60 liquid cooler. I know that Linus from Linus Media Group has argued that you don't need an AIO liquid cooler for non-overclockable CPUs, and I would say Linus is correct in 99% of cases. This might be the 1% of cases I'd argue an AIO cooler is useful for a non-overclockable processor. More on this below.

For this experiment I encoded a video file that in raw form is just over 4GB. Normally when I run my script I run it in a folder where there are lots of files that size and some much larger (35GB). Several times I've left the script to run overnight and it's still been running in the background a couple of days later (in the case of running it in a folder where there's a lot of very large files). KODI, the software, has a spot in the configuration where you can see CPU usage and temperature of the cores. I checked on our encoding machine a couple of days after one of these big encodes and all the cores were running around 98% but staying a cool 62 degrees Celsius (yes, I know it's not cool, but it's cool for a processor that's been running all cores for a couple of days at 98% it's pretty cool). Yes, there are probably air coolers that would do as good a job or better than the Corsair H60 AIO, but this is what the computer store had on sale when I went looking for a cooler. I think it's a remarkable cooler and I'd buy one again. (It's a bit of a tight fit in the Corsair SPEC-01 case, but it works). So take that Linus!

Let's talk about the future for a second. I mentioned Ryzen processors at the start of this video. At some point in the future I'd love to run this test on a Ryzen processor. LION is my day-to-day machine, it's what I'm typing this on, it's what I use to remote in to work, and it's what I game on. The A8-5600K came out late 2013. I can't remember whether it was 2013 or 2014 that I got the A8-5600K, but it was the last time I bought "new" parts.

Thankfully everything has mostly run well these past 6/7 years. I say mostly because the past year or so the system has acted up a little (the very odd random reboot). Replacing the power supply seemed to help a little. The problem was more pronounced when I started running dual monitors. I tried several graphics cards all with the same behaviour. The new power supply, a 650 watt EVGA Gold PSU, seemed to help, but I have experienced a couple of reboots since buying it (one was while attempting to stream). I have streamed since the reboots without issue, but I probably wouldn't do it on a day like today where the temperature outside is 33 Celsius.

So, I'd like to replace my main computer (LION), but given that our entertainment system is currently doing all the video encoding and I wouldn't want to run jobs overnight on my main system, it's likely the Ryzen processor would go in our living room entertainment system. The A8-5600K is really all I need for most of my desktop work, so if I were to upgrade this machine I'd probably just buy a second hand 3rd, 4th, 5th or 6th generation Intel-based system because I can reuse the RAM, SSDs, case, and optical drive. How does the i7-2600 stack up against a Ryzen processor? Passmark gives the i7-2600 (non-K) an average CPU mark of 5335. By comparison the Ryzen 5 3600 currently has a CPU mark of 17811. This would suggest it could potentially encode over 3 times faster with a TDP that's 35W lower than the i7-2600. Reality may be something different, but with a processor like this I might go back and re-encode all my media.