Plex: Transcoding Versus Direct Play / Direct Stream
Plex has three ways of deliver content to the various Plex clients.
- Direct Play
- Direct Stream
- Transcoding
Which method to use depends on the Plex client(s) you are using and the amount of bandwidth that is available to your location.
Direct Play
In most cases this is the ideal way to stream. Direct Play delivers the content in the original bitrate and container to your Plex client. This also bypasses the CPU of your Bytesized account completely enabling you to do multiple concurrent streams from your account.
Direct Stream
Plex can work some magic if Direct Play won't work because the container is unsupported by your client. It will take the streams out of the container and put them back together in a container that your client does support. This has a bit of an impact on your Bytesized account but not enough to limit the amount of concurrent streams you can do.
Transcodes
This is the fallback mode whenever the bandwidth available to your location is not high enough or if your client does not support the format the streams is in. Transcoding has a heavy tax on the CPU and this is what will limit the amount of concurrent streams that you can do from your Bytesized account. Transcoding will also reduce the overall picture quality of the content you are watching.
Optimising for Direct Play/Stream
To experience your content in the best quality it's always recommended to rip content in formats your Plex clients can understand and that satisfy the maximum bitrate you can achieve to our servers.
Video bitrates
It's always recommended to rip your content to a resolution that is at max (your base speed - 4Mbit) so that you can Direct Stream it with some variance. For example: let's assume you are in the US and can achieve 12Mbit to the servers. Then you would preferably rip your content around the 8Mbit mark. You could still use higher bitrates and then transcode it after the fact but this makes little sense as the on-the-fly transcode from higher bitrates will always look worse then properly done encodes at lower bitrates.
You can always use our speedtests if you are unsure what bitrate you can achieve to our servers.
Plex clients
If the bitrate requirement is satisfied you still need to use a Plex client that can work with the streams. The Plex web application, Android and iOS apps will transcode most content for instance. If you are using Plex on a computer then consider using Plex Media Player or Kodi (https://kodi.tv/download/) with the Plex Addon. If you want a cheap solution to Direct Play content on your TV then consider a Raspberry Pi with Rasplex should be around $40 if you have a micro-usb charger around. Various Smart TV models have different features so always check if your device has support for Direct Play.
Debugging your streams
There are a couple of ways to check what kind of work your Plex instance is doing. I would always recommend you install Tautulli on your Bytesized account. Tautulli will give you a lot of information on the streams the server is currently processing, whether it's transcoding or Direct Streaming etc.
If you are using Plex Home Theater you can press 'i' to get information about what kind of stream it is receiving. Plex Media Player also has an information overview when pressing 'i' but it's missing information about whether a stream is being transcoded.
4K content
- 4K content is usually encoded in HEVC/x265, this is much heavier to transcode on the CPU and you will only be able to do one transcode at a time.
- 4K content usually has a higher bitrate than other content; make sure you actually have enough bandwidth to the server to stream 4k content in it's native resolution. If you need to transcode to 1080p there is no use at all using 4K content.
- Make sure you have a player that can natively play, without transcoding 4k content, again if you need to transcode 4k it is dropped down to 1080p and any quality gain you had is instantly lost. A Direct Play 1080/720 will be much better than a transcoded 4K any day of the week.
Last Author | Contributors | Versions | Last update |
---|---|---|---|
Maran | None | 12 | Tue, 09 Mar 2021 17:20:01 +0100 |