Jump to content

Recommended Specs for Smooth 1080p Playback


Go to solution Solved by KillermanGabe,

Recommended Posts

KillermanGabe
Posted (edited)

Hello everyone,

I am currently running Emby on a Google Cloud Computer VM with 4 vCores (2.3GHz Xeons) and 8GB of RAM. The disk is a 1TB SSD. There are a total of 10 users on the server and 4 of them are active regularly. Usually if nobody else is on I can watch 1080p 5Mbps with very little stuttering. However, if somebody else is watching something then it causes playback to stop a lot as the transcode keeps up. Basically what I'm trying to ask is what do I need to be able to have 2-3 users all transcoding 1080p at the same time? I've done some looking around and I've heard ffmpeg is limited to 2 threads? Is this true? And if so is there a way to bypass this?

Also, I should note that I run the server thru a reverse proxy using CloudFlare Full SSL as my DNS. Other than this minor nuisance I love Emby!

EDIT: Also, the server's CPU usage is always pegged at 100%, sometimes dipping to the lower 90s

Transcode log 3 is the best for looking for the stutter.

Thanks,
Gabe G. 

emby-server-log.txt

emby-transcode-log-1.txt

emby-transcode-log-2.txt

emby-transcode-log-3.txt

Edited by KillermanGabe
Posted

Hi there. No, ffmpeg is not limited to 2 threads. It will use all available resources. You're trying to transcode hevc content on the fly which can be very costly. Given your number of users, I would suggest a few options such as 

 

  • Like 1
KillermanGabe
Posted

 

Hi there. No, ffmpeg is not limited to 2 threads. It will use all available resources. You're trying to transcode hevc content on the fly which can be very costly. Given your number of users, I would suggest a few options such as 

 

 

Hey Luke,

Thanks for your help! I have plenty of space to convert all my media to H264. I will try this and get back to you.

KillermanGabe
Posted

I've done some further testing and I don't think its my CPU that is the problem. I converted all my media to H264 and for testing I bumped the cores from 4 to 8 to see what effect it would have. I started watching an episode with the server's task manager open in another monitor and it was stable at 13% with spikes every 4-8 seconds. (I'm assuming this is a feature). However, even with the updated core count and my media now being H264 I still get stuttering. In addition to the server's task manager being open I also watched the transcoding progress from within the emby dashboard. It still stuttered even though it had already transcoded way beyond where I was watching. I don't know what else could be the problem. I have attached new logs. 

Also, I checked to see if the stuttering happened when the CPU spiked and it doesn't. The stuttering doesn't seem to be linked to anything. It just happens randomly. Sometimes if I pause it for a good 10 seconds it fixes it for a couple minutes but will eventually start happening again.

Heres complete specs of everything I use:

My System (Client):

Intel Core i7 4790k
16GB RAM
GTX 970
60Mbps Down - 5Mbps Up

Server System: (Google Compute Cloud VM)

8 vCPU's (2.3Ghz Xeon)
12GB RAM
1TB SSD Storage
1000Mbps Down - 1000Mbps Up (<--- This fluctuates sometimes. Sometimes it dips depending on Google's bandwidth. It never dips really low though.)

emby-server-log-2.txt

emby-transcode-log-4.txt

Posted

That is plenty of horse power.

 

I run an i3 on my server transcoding to Xbox one, without stuttering issues like I use to have with my slow (in comparison) core 2 duo chip.

 

My question would be, what client app in on your client machine?

 

And perhaps I would also wonder about what containers you are transcoding to?

 

Perhaps there is a better way to direct play your media since your client machine is a "console killer".

 

Maybe some kind of codec pack to stop transcoding.

KillermanGabe
Posted

That is plenty of horse power.

 

I run an i3 on my server transcoding to Xbox one, without stuttering issues like I use to have with my slow (in comparison) core 2 duo chip.

 

My question would be, what client app in on your client machine?

 

And perhaps I would also wonder about what containers you are transcoding to?

 

Perhaps there is a better way to direct play your media since your client machine is a "console killer".

 

Maybe some kind of codec pack to stop transcoding.

I am using the web client. I plan on using Emby Theatre for Windows 10 once I purchase a Premiere license. I don't know exactly what you mean by containers but I use 1080p 8Mbps as my quality settings. However, I am not the only one using the server. There are 9 other users and 3 of them actively use it everyday. They have all said they experienced stuttering from time to time but usually it goes away after a minute. Most of the users use an iPhone browser. I will try to install some kind of codec pack, but I would like to know. What does Chrome require to enable direct streaming? Most of my content is 1080p H264 5.1ch AC3. 

Happy2Play
Posted

What browser are you currently using?  I believe Edge is the only on that won't transcode ac3.

KillermanGabe
Posted

What browser are you currently using?  I believe Edge is the only on that won't transcode ac3.

Chrome, I will try edge. I would still like to know why I get stuttering with that much power on the server. If I limit the threads to 4 or 6 for ffmpeg would that help? As then it wouldn't be hitting 100% CPU usage.

Posted

In this situation it's still transcoding because the Emby app requested a maximum bitrate that is lower than the bitrate of the video. Therefore, in order to satisfy the request, the server had to convert the video.

 

If you want to pre-prepare your media ahead of time to avoid transcoding, you need to pay attention to not only the media format but also the bitrate as well. If the bitrate is too high for the app to handle, this will require transcoding. Every Emby app has an in-app bitrate setting that you can override if you like, so for example you could try setting it to something like 10mbps. But when doing this, you'll have to make sure the device can handle 10mbps and that the network connection can also handle it.

 

Generally speaking, if you truly want to avoid all transcoding, then I would use mp4 fiels with h264 video and aac audio, and try to stay under a bitrate of 3mbps. Those are just my own recommendations, and obviously this will vary for you depending on the devices you want to use, and the network connections they'll be using.

Posted

Chrome, I will try edge. I would still like to know why I get stuttering with that much power on the server. If I limit the threads to 4 or 6 for ffmpeg would that help? As then it wouldn't be hitting 100% CPU usage.

 

Did you customize the in-app bitrate setting or is it still on Auto? If you customized it, try changing it back to Auto. As far as the threads setting, leaving that on Auto as well is generally recommended.

KillermanGabe
Posted

Thanks for all your help. I know it is not a transcoding issue anymore because the video will still stop and 'buffer' for a couple seconds even though transcoding is farther ahead and going at a faster framerate. Its doubtful that its my internet and I would find it very surprising if it was the servers internet. RAM is at 2GB used with two people streaming. (One direct playing and the other transcoding 1080p) Something else is causing the video to stutter. I'm happy to do any testing you guys might need to figure out what is the problem.

Posted

How do you know it isn't your internet connection?

Posted

I'm not sure if I am helping here...

 

Do both streams stutter? Or just the transcoded one?

 

Luke brought up a good point, about your bitrate settings. Try changing them to stop transcoding from happening.

 

Is the client machine a wired connection to the router, or is it wireless connection?

KillermanGabe
Posted (edited)

How do you know it isn't your internet connection?

I'm fairly certain that it isn't my internet because I have 60Mbps down and I'm streaming at 1080p 8Mbps.

EDIT: Maybe it's something with my internet throttling the connection. If I play the same content on my iPhone with Safari then I don't get stuttering. (Same quality settings, same router)

Edited by KillermanGabe
KillermanGabe
Posted (edited)

I'm not sure if I am helping here...

Do both streams stutter? Or just the transcoded one?

Luke brought up a good point, about your bitrate settings. Try changing them to stop transcoding from happening.

Is the client machine a wired connection to the router, or is it wireless connection?

If I can direct play media then no stuttering happens. It is only when it's transcoding. I find it really weird that this happens because the transcoding is going at a much faster rate and is farther ahead then where I'm playing. What do you mean by changing nitrate settings to stop transcoding? Only some of the series I have allow direct playing. The rest don't show Direct in the quality settings.

The client I mainly use (My desktop) has a wired connection.

Edited by KillermanGabe
Posted

I'm going to bet on internet connection as the problem.

My previous server setup (upgraded last week) was about the same as yours.

My internet connection at the server is 50/15 and clients are all running on 15mbps download or less.

 

No one has any issues.. I have users on Edge, Chrome, Emby Theatre and Apple products.

 

But my settings are pretty much all on auto..

KillermanGabe
Posted

I'm going to bet on internet connection as the problem.

My previous server setup (upgraded last week) was about the same as yours.

My internet connection at the server is 50/15 and clients are all running on 15mbps download or less.

 

No one has any issues.. I have users on Edge, Chrome, Emby Theatre and Apple products.

 

But my settings are pretty much all on auto..

Yeah, It's most likely my ISP throttling the connection or something. All my clients have at least 20Mbps down and the server is running on a 1000Mbps/1000Mbps Fiber Connection. I haven't heard any complaints from my clients that its stuttering. Only a few ones but it was because they were streaming on data or in low WiFi range. I'm going to try connecting with a VPN and see if that works.  

KillermanGabe
Posted

I purchased an Emby Premiere subscription so I could test how the apps performed. Direct Streaming from Emby Theatre Windows 10 still had stuttering once another user started direct playing something. It is definitely an internet issue. The question is, is it mine or the servers?

  • Solution
KillermanGabe
Posted

I figured it out, it is my internet. Cox (My ISP) is probably throttling the connection to my server. I used a VPN and all problems went away. Just for fun I had 2 people transcoding and 2 people (Including me) direct watching media and no one reported stuttering. Thank you for all the help you've provided me.

  • Like 2

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
×
×
  • Create New...