Switching from Plex to Kodi + Emby add-on for 4K HDR streaming with subtitles


Recommended Posts

I don't know what it is with Plex and HDR content, but it is not quite there, even 10-bit 1080p content struggles with external subtitles (which is the suggested method to avoid transcoding). So with that said!

 

kodi-emby.jpg

  • I have a Nvidia Shield 2019 tube media player
  • hooked up to my 4K Philips 55OLED803 Android TV (no Dolby Vision tho)
  • Onkyo HT-S5805 receiver Dolby Atmos HDMI® 4 In / 1 Out (4K UltraHD / HDCP 2.2 / 4:4:4) passthrough
  • My Nas is Qnap TS-253Be which is the Intel variant
  • 256GB Sandisk USB3 flashdrive for temporary Transcoding folder (this avoid writing to the same disk as the source video content)

So these are the steps I took

  1. Install Emby Server https://emby.media/download.html on the NAS/Media server
  2. Be sure to use the walk-through wizard and install the Open Subtitles/Addicted plugin after Emby Server installation
  3. On your router ensure TCP port 8096 is open locally (this is HTTP)
  4. I highly recommend setting an external or different disk for Transcode jobs (found in Emby Server Settings > Transcoding)
    SNAG-0005.png
  5. On your media player (Android TV or in my case Nvidia Shield) install Kodi

Installing EmbyCon for Kodi (for metadata)

  1. In Kodi go to Settings > File Manager Add Source
  2. Browse > Add network location... > click Protocol until it changes to Web Server Directory (HTTPS)
  3. In Server Address enter kodi.emby.tv > then OK
  4. You will now see kodi.emby.tv:443 in the Browse for new share list > select it > then OK
  5. Give it a name like emby repo > hit OK
  6. In the file manager you will see emby repo you can select it and see the remote file listing
  7. Go back to the Kodi home screen 
  8. In the left list scroll down and select Add-ons
  9. From the left list go up to the box icon (package installer)
  10. then select Install from zip file > Hit Settings and allow installation from unknown sources
  11. Select Install from zip file and select kodi.emby.tv:443 as the source
  12. Select repository.emby.kodi-1.0.6.zip (the version and name may differ)
  13. When you see it is installed, then select Install from repository > Kodi Emby Add-ons > Video add-ons > EmbyCon > Install (it may require Python libraries, allow it)
  14. After installation it will now scan for your Emby server which you installed on your NAS/Media server > Select it and login
  15. You have now installed the Emby add-on for Kodi for the metadata/subtitle management

There is a video walkthrough for this as well that you can view below

 

To integrate Emby in the Kodi homescreen so it looks a little more like Plex or Emby when launching Kodi:

  1. From Kodi home screen, in the left list go down to and select Add-ons
  2.  From the screen go down to Video add-ons and select and enter EmbyCon
  3. From that list select and enter Add-on actions
  4. From that list select and enter Clone default skin
  5. In the popup dialog select and enter Yes
  6. Switch to the new cloned skin from the popup dialog that appears by selecting Yes > Then confirm to keep skin
  7. The skin even supports fast user switching for multiple Emby profiles
  8. There's a video walkthrough of this you can view here https://www.youtube.com/watch?v=avugXc8oNYQ

 

Now you need to configure the player on the TV to ensure that audio passthrough works properly because none of that is set as default

  1. From the Kodi home screen select and enter Settings in the left list
  2. Select the System settings
    20210228_155615.jpg
  3. In the left list go down to Basic and enter until it changes to Expert
    20210228_155631.jpg
  4. Then go up to Audio and select it, ensure those settings match your receiver (mine is an Atmos receiver)
    20210228_155652.jpg
    20210228_155715.jpg
    Ensure passthrough is enabled (it isn't by default) and turn on the capabilities for your receiver
  5. Then head out of there by going back to the Kodi settings screen and select and enter Player
    20210228_155801.jpg
  6. In Video setting > Ensure Use display HDR capabilities is toggled on
    20210228_155836.jpg
  7. Finally, set the preference for subtitles in the Language setting, it is only available in Expert mode
    20210228_155945.jpg

 

With this setup HDR and Atmos with external subtitles streams okay and 10-bit 1080p (HEVC) content actually works flawlessly.

 

If I missed anything let me know and I will try to help.

Link to comment
Share on other sites

2 hours ago, Steven P. said:

even 10-bit 1080p content struggles with external subtitles

This is a HUGE chunk of my library - zero issues here..  Just saying..

 

Well not external - they are inside the mkv, but they are srt..

 

Maybe whatever issues your running into is because your not doing hardware transcode - your player has problems with the subs?  Also being direct and again your having issues transcoding?

Link to comment
Share on other sites

1 hour ago, BudMan said:

This is a HUGE chunk of my library - zero issues here..  Just saying..

 

Well not external - they are inside the mkv, but they are srt..

 

Maybe whatever issues your running into is because your not doing hardware transcode - your player has problems with the subs?  Also being direct and again your having issues transcoding?

I was under the impression that subtitles inside an MKV cause transcoding and therefore I must ensure it is always an external .srt and even then set to "only image formats"

 

For an example, a Stargate Universe episode:

 

SNAG-0007.png

 

There's an SRT inside the MKV but when I play it in Plex, it simply knocks me back to the homescreen or even crashes Plex, this is even more with HDR content. The same content plays just fine if I disable subtitles, but as I am a little deaf I prefer to have them always enabled, in fact it is the reason I am rewatching a lot of old shows :p 

 

I am doing hardware direct play, I have a plex pass that allows it and those settings are enabled in Emby server too.

Link to comment
Share on other sites

BTW this "if you are trying to play a 4k bluray rip, then 2 biggest problems for smart tvs and devices are HD audio (truehd/atmos) and SUBTITLES." from the Plex forum, but the (Plex) player can also add to these problems. For example Xbox One X Plex player and 4K + .srt forget it .. it's why I bought a Nvidia Shield because through a lot of research this has the least issues playing such content. 

 

Short answer, the thread above links to another that says "TLDR; buy a Shield PRO > 4K/atmos receiver > 4K tv"  [INFO] Plex, 4k, transcoding, and you - aka the rules of 4k

Link to comment
Share on other sites

2 hours ago, Steven P. said:

was under the impression that subtitles inside an MKV cause transcoding and therefore I must ensure it is always an external .srt

Nope.. Not here

 

directplay.png.147327ef581a529baa300ec75f2b231d.png

 

As you can see playing subs - and no transcode..  and the SRT is include in the mkv file..

 

Link to comment
Share on other sites

41 minutes ago, BudMan said:

Nope.. Not here

 

directplay.png.147327ef581a529baa300ec75f2b231d.png

 

As you can see playing subs - and no transcode..  and the SRT is include in the mkv file..

 

Thanks I will give it another try without external subs, but it doesn't really answer what part of my setup is causing buffering.

Link to comment
Share on other sites

What is your player?  What are you using for plex.. What are the details of the file.. What is the power of your server, are you doing hardware transcode?  For your 4k is your hardware capable of the new HDR to SDR mapping in hardware? I have a couple of 4k files for testing.. But for me its not worth the space requirements.  Nor the bandwidth to stream it - I have quite a few friends and family using my plex remotely.  And I have limited upload (50mbps)...

 

I have had 8 concurrent streams going without issue.. That would not be possible if trying to do 4k that is for sure..

 

Most of my stuff is 1080.. But its also not really high bitrate either.. Have had zero complaints from users - and looks great to me.. The smaller I can get the files the more files I can have ;) without having to get crazy with storage.. Currently 20TB of storage for plex.. Floating at about 70% used.. Almost all stuff being added is 265.. So this percentage continues to grow.  I do purge now and then.. Holding off having to do a migration to larger disks.. My NAS slots are full.. So putting in larger disks will require a bit of effort.. And will require moving the media off, and then put in bigger disks, and then move media back.. So its not something looking forward too ;)

 

My containers are exclusively mkv, with either 264 or 265.. And audio is either AC3 or AAC.. and I am converting everything to AC3.. Every now and then I will run through a TV show, or a hand full of movies that audio is AAC and convert to AC3.. Having a standard library helps with not having any issues.. When you use compatible with most players, etc.  I also went through and removed anything that was not srt.. ASS, PGS, VoSub.. all gone!  Some I converted to SRT, but some I just purged.  I have some users that are big fans of subs, so I always try to add them.. But standard library wins over if too much effort ;) The export feature of tautulli allows easy way to find media that doesn't meet your standard..

 

But if you like XYZ better - and it works easier for you.. Then you should prob do that.. I was just pointing out that I am not seeing your issue.. And have large amount of 10bit 265 with subs..  And not like I have some rocketship of plex server that can just power through anything.. Its just a ds918+

Link to comment
Share on other sites

46 minutes ago, BudMan said:

What is your player?  What are you using for plex.. What are the details of the file..

All of that info is in the guide, plus I put a screenshot with details of an example file. 

 

"new HDR to SDR mapping in hardware" what is this? I'm on the latest Plex server with a Plex pass.

 

In all your comments you do not say if your happy users are also using subtitles because like I said before if I am happy not using subtitles at all, then I can stream 4K HDR, TrueHD/Atmos with no problems on my setups, including my LG TV running webOS and Plex player in my bedroom. The moment I turn on subtitles, even if they are external, on the same LG webOS TV in my bedroom it stutters and fails to stream.

 

So the point of my guide is to try and find a way to let 4K HDR and high bitrate (HEVC) 1080p content play with subtitles and not stutter.

 

I found this, which is also what the Stargate Universe files have  (EAC3 5.1) I can see when I play it through Plex web browser that it transcodes to AC3 after a few seconds, which means there's a transcode going on.

 

 

Link to comment
Share on other sites

Again - my point of a standard library... EAC.. Just change it to AC3, takes all of a few seconds per file with ffmpeg.. No reason to use handbrake for such a change.. Since I do not believe handbrake allows you to passthru video - so you would take long time.. Switch audio with ffmpeg allows you just to do the audio.. and is super quick.. And can be batched, or there is a gui.. https://sourceforge.net/projects/ffmpeg-batch/

 

I didn't read through the guide - sorry.. I have zero desire to do such a thing.  Your point on why you were doing it is what caught my eye.

 

https://support.plex.tv/articles/hdr-to-sdr-tone-mapping/

 

Yeah some of my users do use subs - quite a bit actually.. I get it for my non native english speakers (I have quite a few German Friends - work for a German Company), but a buddy of mine and his wife always have subs on.. I think he should just work on his sound system ;) hehehe vs reading his movies..

 

Just looked through history.. Pretty much everything he watches, he has subs on..

 

subs.png.5b741e7f06c10a4f7f0a5ee35a1edce0.png

 

Direct play... No transcoding..  Oh that something was only h264, here is something else he watched that was 265

hevc.png.a56cce7e4703303d0c498c2d580ffd10.png

 

That is using some Vizio TV.

 

 

Link to comment
Share on other sites

10 hours ago, BudMan said:

Again - my point of a standard library... EAC.. Just change it to AC3, takes all of a few seconds per file with ffmpeg.. No reason to use handbrake for such a change.. Since I do not believe handbrake allows you to passthru video - so you would take long time.. Switch audio with ffmpeg allows you just to do the audio.. and is super quick.. And can be batched, or there is a gui.. https://sourceforge.net/projects/ffmpeg-batch/

I only see an option to convert to 2 channel AC3 when the source file is 6 channel EAC3 5.1

 

SNAG-0006.png

 

Do you happen to know how I can convert to AC3 6 channels using the batch av GUI?

Link to comment
Share on other sites

OK I found a preset that works

 

 -map 0:0 -map 0:1 -c:v copy -c:a:0 ac3 -ac 6

 

SNAG-0011.png

 

It retains the file size and 6 channels

Link to comment
Share on other sites

I just use

 

Quote

 -map 0 -vcodec copy -scodec copy -acodec ac3 -b:a 224k

Where I set the bitrate..  If 2 channel it stays 2 channel, if 6 it stays 6.. You could prob leave off the bitrate and would use whatever the original is..

Link to comment
Share on other sites

15 minutes ago, BudMan said:

I just use

 

Where I set the bitrate..  If 2 channel it stays 2 channel, if 6 it stays 6.. You could prob leave off the bitrate and would use whatever the original is..

Thank you sir :) 

Link to comment
Share on other sites

Again - I didn't mean to distract from you guide.  If your having issues with plex, and xyz fixes that for you.. Then sure use that..  I have tried them all, I just always end up back using plex.. Even with its little quirks and issues.. I personally still think its the most well rounded and easy to use.. Especially for my users - since pretty much everything has a client.. Be it the cheapest of smart tv's to their tablets and phones.. pretty much any stick, etc.

 

Just till them search plex on your device apps..

 

Different users have different needs.. You may not like going through your media and converting audio to X vs Y, etc. or changing your containers or codec.. Where I find this is one of the things that makes running my media server enjoyable.. I like curating the collection, I like standardizing the media.. I'm weird like that ;)  Not saying that you have to do that with plex - but I have found over the years it cuts down on any possible issues with player A not liking something, that player B might not have any problems with.  Or sound system X can decode it fine - while system Y might have dropouts or issues with it, etc.

 

If you are the only user of your library you might not run into issues...  I have sent out couple of group emails to my users - showing them how to set their player so it less likely to transcode.. Many of them default to 720, and if they are watching 1080 that forces a transcode.. Its way easier on the server to not have to do that.. Especially if the bandwidth is there..   But some, less tech savy I have had to specifically reach out, hey your watching xyz in SD vs 1080.. Wouldn't you like it to look better ;)  I could always set it up so it warns them via a tautulli script - and could even force direct.. But that might generate more text to me saying hey - this isn't working :)

  • Like 2
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