Page 1 of 1
Video transcoding CPU requirements?

Posted:
Mon Apr 22, 2013 2:47 am
by techweenie
I tried searching on this, but didn't find much information. I'm currently running subsonic on a Server 2008 R2 server with a Phenom II X6 1045T processor and it isn't fast enough to transcode videos at bitrates higher than 1500. Can anyone recommend a CPU capable of handling the task all the way up to 5000kbps? My upload rate is 10mbps, so that is clearly not the bottleneck. I did see a post about using mplayer2, but I'd prefer not to run a linux box, unless virtualizing it can still provide the needed performance. The server has 16GB ram and doesn't do anything else but seed torrents, so I do have some resources available to play with.
Re: Video transcoding CPU requirements?

Posted:
Mon Apr 22, 2013 4:04 am
by GJ51
A simple test can check your basic assumptions. I have a server with an AMD FX 6100 six-core CPU that should be pretty similar in performance. It has 46GB of ram as well.
The first thing you need to check is if you get satisfactory performance inside your local network. If that's not working out, remote into the server and open task manager, then click on the performance tab and monitor the CPU load. See if there are other processes that are taking CPU load. Your system should be able to handle most video, probably bumping up against the limit when you get to Blue Ray quality.
10mbps may sound like a lot, but I consistently get 40mbps upload speed and still run into problems when connecting from outside my network, and my video is hosted on a dual quad-core Xeon box that can handle the transcoding of 3 Blue Rays at the same time inside the network.
Send me a PM if you want to see what video looks like at your end from my rig.
It's a weakest link problem that isn't as simple as just more CPU power. Certainly, more is better, but connection speeds at BOTH ends are a big factor.
Re: Video transcoding CPU requirements?

Posted:
Mon Apr 22, 2013 4:24 am
by techweenie
I just tested over the LAN, which is gigabit, and it actually works flawlessly at 5000kbps. The CPU was pegging one of the cores while my friend was trying to stream a movie, so I wrongfully assumed that was the bottleneck. In fact, I was streaming locally at the same time as my friend was remotely, and the CPU went up to 75% total usage, but still kept up fine. I know my Internet is capable of saturating the 10mbps upload, as it will hold that steady during FTP transfers or unrestricted torrenting. I limit torrents to 500kbps, and the ones I seed rarely get leeched anyway. So now the question becomes why does subsonic have trouble utilizing the available bandwidth? The locations I've tested streaming from all had 30mbps or greater Internet.
Re: Video transcoding CPU requirements?

Posted:
Mon Apr 22, 2013 4:33 am
by GJ51
That's a great question that I can't answer and would love to know also. I run into the same thing with a 35/35 Fios connection that routinely tests at 45/40.
Re: Video transcoding CPU requirements?

Posted:
Mon Apr 22, 2013 10:39 pm
by chali
Hi
though how it is with movies that are already in for example 1800kbps?
if I put the default transcoding to 2000kbps
it will still have trouble transcoda or will it send the file as it is?
I thought if I raise the roof at kbps so maybe I would lower my load on the CPU
any idea about this?
/ Chali
GJ51 wrote:That's a great question that I can't answer and would love to know also. I run into the same thing with a 35/35 Fios connection that routinely tests at 45/40.
Re: Video transcoding CPU requirements?

Posted:
Tue Apr 23, 2013 2:01 am
by GJ51
The best way to get the most performance with video for the desktop is to just use mp4 or flv for the video format and turn off transcoding. JW Player on the desktop will play those formats natively. If you do it that way, then you'll be confining your limiting factor to connection speed. Bypassing transcoding puts virtually no load on the server side cpu, whereas hi resolution video transcoding can max out cpu load rather quickly. I've tested multiple connections to mp4 videos and was never able to overload the cpu. In that case you'll run into bandwidth limitations long before cpu load becomes a factor. e.g. I have 35mbps upload speed therefore I have a max potential of sending out 35840kbps, so at 5000kbps per video I would start choking 7 videos streaming out to the web. Of course inside my own network wouldn't be a problem, but this would be the theoretical limit for load from outside.
For Android, if you have it set up to use flash on a Subsonic app, then you can just feed flv straight to the Android device and again bypass transcoding. In that case your limits are most likely going to be defined by the max connections speed of your cell connection.
In either case, significant performance improvement results when transcoding is eliminated from the equation and just sending a direct feed to the given player that it can handle in its native format.
HTH