Jump to content

Transcode performance for web clients


somy
 Share

Recommended Posts

Hi all,

I experienced some performance issue with the transcoder for web client. Basically I observed a lot of stuttering during playback of 1080P material in Chrome and Internet explorer. The raw material is 1080P H264 encoded video with DTS in MKV container (24P), and I tried all different bitrates for 1080P at client side (browser), which gives the same result. If I set the client to play 720P, it can play those videos almost perfectly, I only observed some stuttering every few minutes. If the raw material is 1080P with high bitrate such as bluray remux, I cannot even make it to make at 480P smoothly in browser. 

My CPU is i3 4150 which should be more than good enough to transcode anything in 1080P, and during the transcoding I can see the CPU usage stays below 80% at all times. I have 1000Mbps network at home, so I assume it is not the network causing the issue. My client PC is quad-core CPU which can handle high bitrate bluray without any problem, so it can hardly be the issue with the hardware or network.

I did some comparison with Plex and I found the transcoder in Plex handlers the materials much better. I can hardly see any stuttering in Plex web client (not sure what bitrate they use by default though), and seeking by drag the timeline during the playback is much faster (in MB it takes more than 20 seconds to jump to the section). I have tried the setting "MB Server - Advanced - Transcoding" to high speed, and it gives me the same result.

I'd like to find the root cause of the problem, does anyone know where to look for the bottleneck?

Thank you in advance!

 

Link to comment
Share on other sites

OK, I found out one bottleneck. I use windows server OS, and by default it is optimized from background services, I change it to optimize for programs and the performance is much better. But I still have problem with high birate bluray remux videos played in 1080P in browser, but at least 720 is much better now.

Link to comment
Share on other sites

I would try stripping the Browser of any add-ons.  Or perhaps download Firefox and try it.  Any kind of proxy settings set in the browser?

Link to comment
Share on other sites

Couple of other questions that were't clear.

 

Is WIFI or internet involved involved or were you playing these files in the same network as your server via LAN cable?

 

Always a good idea to try another web browser for diagnostic purposes if possible.

Link to comment
Share on other sites

I would try stripping the Browser of any add-ons.  Or perhaps download Firefox and try it.  Any kind of proxy settings set in the browser?

Will try to disable add-ons, but I'm not sure how much it will help as 1080P from plex and youtube is played without problem.

It is a direct connection over 1000M LAN with not proxy in the middle.

Link to comment
Share on other sites

Couple of other questions that were't clear.

 

Is WIFI or internet involved involved or were you playing these files in the same network as your server via LAN cable?

 

Always a good idea to try another web browser for diagnostic purposes if possible.

It is 1000M LAN connection, so I'm pretty sure it is not the bottleneck.

I'd very much like to understand the differences between transcoding in Plex and in MB, as Plex is apparently not suffering those issue.

I know both use FFMpeg, does Plex use a different container/H264 encoder setting then MB?

Link to comment
Share on other sites

What is the memory usage like during your transcode? Before I upgraded from my first gen i3 processor I was seeing memory usage peak out at my full 4GB during transcode and it seemed like I would get some initial stuttering on the initial buffering part. I added more memory and it ended up using 5.3GB at the time and that cleared my some of my transcoding issues. 

 

Though I'm not sure what happened, after I put in my i5-4590s memory usage has dropped substantially to around 2.4GB on my highest bitrate 1080P DTS asset. 

Link to comment
Share on other sites

What is the memory usage like during your transcode? Before I upgraded from my first gen i3 processor I was seeing memory usage peak out at my full 4GB during transcode and it seemed like I would get some initial stuttering on the initial buffering part. I added more memory and it ended up using 5.3GB at the time and that cleared my some of my transcoding issues. 

 

Though I'm not sure what happened, after I put in my i5-4590s memory usage has dropped substantially to around 2.4GB on my highest bitrate 1080P DTS asset. 

Good point, I haven't checked that, will check and report back.

Link to comment
Share on other sites

Good point, I haven't checked that, will check and report back.

 

Yea, report back and let us know. It seems like memory usage goes up the lower the transcoding speed? Same HDD, same cloned image between the three computers when I was trying to figure out my set up and what old parts I could use. i3-2635M and my Celeron 2957U performed about the same with high memory usage on my 1080p asset. This wasn't the case with my i5 though for some reason. Didn't really look into why though.

Link to comment
Share on other sites

Koleckai Silvestri

Add an AAC audio stream to your files instead of relying on DTS. Your browser can't use the high definition audio so you're transcoding multiple streams when playing high bitrate video. This could cause your processor to struggle depending on what it is.

 

If you have a secondary stream of AAC, usually available on the disc anyway, then the server will use that and cut down on what it needs to transcode.

Link to comment
Share on other sites

Hi, just to report back, the memory usage is OK during the transcoding. I have 8G memory and it only uses between 4-6G memory, and yes I turned off virtual memory. 

Right now I have most problem with high bitrate content, for example BD iso or remux. I tried to switch from HD audio track to AC3 or LPCM, it doesn't really help.

I noticed one thing though, MB server doesn't stress CPU that much during transcoding, the CPU usage stays between 70-100%. I tried to play same material in Plex with the same bitrate at client side (1080P/8M), and plex stressed the CPU all the way to 100% (the playback is very smooth though).

Has anyone here compared the performance of the transcoder in Plex and in MB3? Are they configured differently? Thank you!

Edited by somy
Link to comment
Share on other sites

Koleckai Silvestri

Plex uses a custom version of ffmpeg so it has more control over things. There should be throttling in an upcoming version of the server.

Link to comment
Share on other sites

Hi, just to report back, the memory usage is OK during the transcoding. I have 8G memory and it only uses between 4-6G memory, and yes I turned off virtual memory. 

Right now I have most problem with high bitrate content, for example BD iso or remux. I tried to switch from HD audio track to AC3 or LPCM, it doesn't really help.

I noticed one thing though, MB server doesn't stress CPU that much during transcoding, the CPU usage stays between 70-100%. I tried to play same material in Plex with the same bitrate at client side (1080P/8M), and plex stressed the CPU all the way to 100% (the playback is very smooth though).

Has anyone here compared the performance of the transcoder in Plex and in MB3? Are they configured differently? Thank you!

You have to remember the higher the bit rate of the source file the more work it will take to transcode as you are essentially compressing it on the fly which requires an insane amount of processing power.  In all reality a GPU would be much better suited for this work over a CPU.  At any rate, if you switch the transcoding settings to the maximum setting in dashboard.  You should see it peg out your CPU at 100% during transcoding.

Link to comment
Share on other sites

 if you switch the transcoding settings to the maximum setting in dashboard

Thanks for your input!

What settings do you refer to? My worry is that it doesn't utilize all CPU power as otherwise the usage should stay above 90% most of the time as in Plex.

Link to comment
Share on other sites

Log into the MB Dashboard, click "Playback" on the left hand side, then click the "Transcoding" button, one in their you'll see multiple options.  If you select "Max" it will always use 100% or close to on your CPU for transcoding.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...