Jump to content

Recommended Posts

Posted

Hi, I just moved over to Emby coming from Plex for the past 3 years or so.  I never even knew Emby existed until a couple weeks ago, I love the interface, much nicer.  I really want to stay with using Emby, I have a few remote users as well, about 8. 

 

Is it possible for someone to review my configuration and suggest some things to help with performance?  I am having some people having buffereing and and video stops after a few seconds.  They were all using plex without these problems, Im sure its just some tweaking i need to do.  

 

From reading though it sounds like transcoding is a lot more intense on emby then plex.  I currently run emby on an ubuntu 16 vm thats on a dell r720.  I have 6 vcpus and 32g ram dedicated to emby as well as a 2 port vswitch.  Im seriously considering taking a dell r710 with dual xeons (2.5g i think) and 64g ram and just installing ubuntu and emby on that, dedicated server.  any thought?

 

 

 

Ok so I also run emby behind nginx. Im not sure what all you would like to see Ill try my best to provide what I can, i really apprciate it if this can happen!!!

 

I dont feel like nginx is my problem, i think it is more emby settings.  

 

nginx config.  i took most from these forums:

worker_processes  2;




events {
    worker_connections  8192;
}




http {
    include       mime.types;
    default_type  application/octet-stream;
        server_tokens off;


        gzip on;
        gzip_disable "msie6";


        gzip_comp_level 6;
        gzip_min_length 1100;
        gzip_buffers 16 8k;
        gzip_proxied any;
        gzip_types
    text/plain
    text/css
    text/js
    text/xml
    text/javascript
    application/javascript
    application/x-javascript
    application/json
    application/xml
    application/rss+xml
    image/svg+xml;


    tcp_nodelay on;


    sendfile        off;


## Default Listening ##


server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;


          return 301 https://$host$request_uri;
}


##EMBY Server##


server {


     listen [::]:443 ssl http2;
     listen 443 ssl http2;
     server_name xx.xx.xx;
     server_tokens off;
     etag on;
     ssl_certificate /etc/letsencrypt/live/xx.xx.xx/fullchain.pem;
     ssl_certificate_key /etc/letsencrypt/live/xx.xx.xx/privkey.pem;
     ssl_trusted_certificate /etc/letsencrypt/live/xx.xx.xx/fullchain.pem;
     ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
     ssl_ciphers 'ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-256-GCM-SHA384';
     ssl_prefer_server_ciphers on;
     #ssl_dhparam /etc/ssl/certs/dhparam.pem;
     ssl_stapling on;
     ssl_stapling_verify on;
     ssl_session_timeout 1d;
     ssl_session_cache shared:SSL:50m;
     ssl_session_tickets on;
     resolver 8.8.8.8 8.8.4.4 valid=200s;
     resolver_timeout 5s;
     add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains; preload';
     add_header X-XSS-Protection "1; mode=block";
     add_header X-Frame-Options SAMEORIGIN;
     add_header X-Content-Type-Options nosniff;
     http2_max_field_size 16k;
     http2_max_header_size 32k;
     ssl_ecdh_curve secp384r1;
     proxy_set_header Host $host;
     fastcgi_pass_request_headers on;


     root /var/www/domain;
     index index.php index.html;


     access_log /var/log/nginx/apps.access.log;
     error_log /var/log/nginx/apps.error.log;


     location / {
                # Send traffic to the backend
                proxy_pass http://10.1.x.x:8096;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-for $proxy_add_x_forwarded_for;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-Proto $remote_addr;
                proxy_set_header X-Forwarded-Protocol $scheme;
                proxy_redirect off;


                # Send websocket data to the backend aswell
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
    }
}
server { //this is for ombi
        listen 80;
        server_name xx.xx.xx;
        return 301 https://$server_name$request_uri;
        client_max_body_size 25M;
}




server {
        listen 443 ssl;
        server_name xx.xx.xx;


        ssl on;
        ssl_certificate /etc/letsencrypt/live/xx.xx.xx/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/xx.xx.xx/privkey.pem;
        #ssl_session_cache shared:SSL:10m;
        ssl_protocols TLSv1.1 TLSv1.2;
        ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
        ssl_prefer_server_ciphers on;
        #ssl_dhparam /etc/letsencrypt/dhparam.pem;
        add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;


        proxy_buffering off;


        location / {
                proxy_pass http://10.1.x.x:5000;
        }
}
}

i have limit remote streaming to 10m per stream

 
/transcode is a dir i made - its on the same disk, the os and the r710 is all ssd.  nfs exports from unraid to mount my movies/shows/music...
 
I did buy premier 
 
I have gig down 45m up internet
 
public and private ports are set to 80-443 the cert path is empty since nginx nadles that.  external domain is mine xx.xx.xx.  handkled by reverse proxy setting.
 
what other stuff can i show and be helpful?
 
I would love someone to review my logs as well if possible...im just not sure how that should be done, i dont think sharing that here is the best idea?
 
thank you!
 
 
 
 
 
 
 

 

post-327038-0-97270800-1530494543_thumb.png

Guest asrequested
Posted

It looks like you're only providing 6 logical processors and telling the server to use 8 logical processors per transcode.

Guest asrequested
Posted (edited)

I do think the wording in the server needs to be amended. It doesn't specify 'each transcoding job'

 

5b3982c233e6f_Snapshot_150.jpg

Edited by Doofus
Guest asrequested
Posted

I have a 24 thread CPU, and I just leave it on auto.

Posted

thanks I was looking into that earlier today and ran across a few threads that said to avoid auto.  I was reading the wiki but missed that thank you, ill go through that again.  

 

So, it sounds like you run emby on a server?  no virtualization?

 

I hae that extra dr710 24cpu with 64g ram, would it be worth it to install ubuntu on it and just use it for emby?

 

thanks again for taking the time to review

Guest asrequested
Posted

thanks I was looking into that earlier today and ran across a few threads that said to avoid auto.  I was reading the wiki but missed that thank you, ill go through that again.  

 

So, it sounds like you run emby on a server?  no virtualization?

 

I hae that extra dr710 24cpu with 64g ram, would it be worth it to install ubuntu on it and just use it for emby?

 

thanks again for taking the time to review

 

Yes, I have a machine that only runs the Emby server. Not Linux, though. For transcoding, you may want to do a simple diversity calculation. I imagine not all of your users are online at once, and not all of those will require transcoding. Some of these guys have taken advantage of using multiversioning, to limit the amount of transcoding, needed.

 

https://github.com/MediaBrowser/Wiki/wiki/Movie%20naming#multi-version-movies

Posted

sold.  putting emby on the r710.  i assume your running windows server 16?  may I ask why?  Just personal prenference or any techical reason that I should consider?  

 

 

you are correct they are never all watching at the same time, its frequent on 1 weekend day to have 5-6 watching though.

 

That multi-versioning is intresting...wouldnt that just give your users a choice on what one they want to watch?  they wouldnt know which one would be more friendly

Posted

Any tips / gotchas / heads up for moving?  I i took a backup using the config backup plugin, i havent tested restores, is there anything else I should grab?

Guest asrequested
Posted (edited)

sold.  putting emby on the r710.  i assume your running windows server 16?  may I ask why?  Just personal prenference or any techical reason that I should consider?  

 

 

you are correct they are never all watching at the same time, its frequent on 1 weekend day to have 5-6 watching though.

 

That multi-versioning is intresting...wouldnt that just give your users a choice on what one they want to watch?  they wouldnt know which one would be more friendly

 

Actually, just Windows 10. I just don't need more than that.

 

With multi-versioning, if the user is on a device that doesn't have the bandwidth or capability of playing the files, the version that is more able to be played, will be streamed. I just let my sever do all the work. that's why I chose a CPU with the strength that it has. More space for more movies :)

 

So you're moving to windows or staying with Linux? Either way, you'll need to recreate the libraries. The backup plugin saves user info and watched lists etc.

Edited by Doofus
Posted

gotcha.  yea Im gonna stay on ubuntu, thats kinda what I figured that i would have to download all the metadata again.  its really the user settings and playback, all that.  hey you seem to be knowledable with emby....ive looked everywhere for a tautulli alternative for emby but nothing.  you happen to know of any good solutions for live monitoring and history?

 

thanks

Posted

how can i restore with that plugin?  i got my server up and installed emby, instllaed the backup restore plugin, but when i goto settings it only give me the option to backup?

Posted

spoke to soon.  i just created a backup on the same network share and then the restore option came up and had my older one.

Posted

 

 

From reading though it sounds like transcoding is a lot more intense on emby then plex.

I wouldn't say this is true. We both use ffmpeg for transcoding. However ,it's possible that Emby might not enable certain things out of the box that would otherwise help though. One example might be hardware transcoding support.

Posted

 

 

thanks I was looking into that earlier today and ran across a few threads that said to avoid auto.

I would suggest leaving it on auto as ffmpeg tends to do a nice job of deciding how many threads it wants to use.

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...