MSattler 390 Posted June 13, 2017 Posted June 13, 2017 One of the issues I've had while using Emby remotely is that I have to stop playback, change quality, depending on my connection speeds. In the car it becomes basically unusable. With Emby not working very well with Sync either (On Android whether something syncs seems to be 50/50, and subsequently even worse), this would make for a great alternative. It seems plex has just added this: https://support.plex.tv/hc/en-us/articles/115007570148-Automatically-Adjust-Quality-Preview- Is this something Emby will be adding as well? Thanks, Marcus 2
Luke 42079 Posted June 13, 2017 Posted June 13, 2017 It's something we should look at, yes. Thanks. 2
zigzagtshirt 55 Posted June 13, 2017 Posted June 13, 2017 +1 I would make a generous donation if this were implemented.
MSattler 390 Posted June 13, 2017 Author Posted June 13, 2017 +1 I would make a generous donation if this were implemented. I tested it on Plex this morning, and it works really well. This is a must for my remote users, especially the kids, and would get me less complaining =)
ebr 16184 Posted June 13, 2017 Posted June 13, 2017 The Android TV and Fire TV apps already have in-playback quality switching.
Jdiesel 1431 Posted June 13, 2017 Posted June 13, 2017 The Android TV and Fire TV apps already have in-playback quality switching. Does it do dynamic adjustments on the fly or just an initial check at the start of playback?
MSattler 390 Posted June 13, 2017 Author Posted June 13, 2017 Does it do dynamic adjustments on the fly or just an initial check at the start of playback? On the fly adjustments. This morning it went from 1080p to 720p to 1080p depending on my cell quality.
ebr 16184 Posted June 14, 2017 Posted June 14, 2017 Does it do dynamic adjustments on the fly or just an initial check at the start of playback? At this time it is not adaptive (not really needed very often for a TV app). It just allows you to manually adjust it during playback.
zigzagtshirt 55 Posted June 14, 2017 Posted June 14, 2017 (edited) I've gotten HLS adaptive bitrate streaming working in a closed environment with ffmpeg outside of Emby. For it to work, you need one master playlist file (.m3u8) that points to two or more .m3u8 playlists files each with their own .ts steams (different birate/qualities for each steam). The master playlist file will direct the player to the best possible stream at any given moment based on current network conditions. This is how Netflix/Amazon/Hulu handle unstable network conditions, although they might use different technologies the concept is the same. I really think Emby needs this. Using Emby outside of my home network is frustrating as I rarely have access to a stable network able to play my files at full quality (or even a reasonable quality) consistently. I have to turn down the quality so low as to not get it to hang up due to dips in available bandwidths. Edited June 14, 2017 by zigzagtshirt
Luke 42079 Posted June 14, 2017 Posted June 14, 2017 We have this but already but disabled it long ago. A lot depends on the intelligence of the video player in choosing what stream to select. In our experience a couple years ago, many of the players like Roku and Android would just bounce back and forth constantly between the streams, which wasn't always a great experience. I am sure a lot has changed since then and should be revaluated from the beginning.
Jdiesel 1431 Posted June 14, 2017 Posted June 14, 2017 I've gotten HLS adaptive bitrate streaming working in a closed environment with ffmpeg outside of Emby. For it to work, you need one master playlist file (.m3u8) that points to one or more .m3u8 playlists files each with their own .ts steams (different birate/qualities for each steam). The master playlist file will direct the player to the best possible stream at any given moment based on current network conditions. This is how Netflix/Amazon/Hulu handle unstable network conditions, although they might use different technologies the concept is the same. I really think Emby needs this. Using Emby outside of my home network is frustrating as I rarely have access to a stable network able to play my files at full quality consistently. I have to turn down the quality so low as to not get it to hang up due to dips in available bandwidths. How does this work with transcoding on the fly? Do multiple versions need to be transcoded simultaneously in order to switch between the different qualities or is it possible to quickly start a new transcode at a different quality without interrupting playback? My understanding is that Netflix/Amazon/Hulu have multiple version of each video at every possible quality therefore switching between them on the fly is quite simple. I would imagine if there is enough of a buffer of the currently playing transcode there would be enough time to switch to a different quality without interrupting playback. I guess the question that comes to my mind is can the .ts segments change (bitrate wise) without restarting the stream?
zigzagtshirt 55 Posted June 14, 2017 Posted June 14, 2017 (edited) How does this work with transcoding on the fly? Do multiple versions need to be transcoded simultaneously in order to switch between the different qualities or is it possible to quickly start a new transcode at a different quality without interrupting playback? My understanding is that Netflix/Amazon/Hulu have multiple version of each video at every possible quality therefore switching between them on the fly is quite simple. I would imagine if there is enough of a buffer of the currently playing transcode there would be enough time to switch to a different quality without interrupting playback. I guess the question that comes to my mind is can the .ts segments change (bitrate wise) without restarting the stream? You would need either multiple versions pre-transcoded into .ts chunks or have the server do it on the fly. In the latter case, you obviously would need to be transcoding multiple streams at once so you would need a powerful enough server to handle it. Not sure if the lower-quality streams will stress the hardware any less than the higher quality streams. Netflix,etc. do indeed have their media already in multiple versions split into .ts chunks (or an equivalent if the tech is different). This enables them to switch you to a different .ts stream on the fly if network conditions change. Since the .ts chunks for them are probably each 1 or 2 seconds each, you can literally be switching between 1 mbit/s one second, and 5 mbit/s the next second (no human intervention necessary). I understand that this would require re-thinking much of how Emby works if this couldn't be an add-on feature that's disabled/enabled based on user preference, but to me this is really important as the expectation with media consumers is that they just have to hit play and it works. Some of my users don't understand why or how to manually change the bitrate while watching something. It's something they don't encounter with Netflix, etc. because their stuff "just works". I honestly can't remember the last time I had a Netflix stream buffer or lock up because they've perfected adaptive streaming so well. Edited June 14, 2017 by zigzagtshirt
ebr 16184 Posted June 15, 2017 Posted June 15, 2017 I honestly can't remember the last time I had a Netflix stream buffer or lock up because they've perfected adaptive streaming so well. That's because of this: Netflix,etc. do indeed have their media already in multiple versions split into .ts chunks (or an equivalent if the tech is different). This enables them to switch you to a different .ts stream on the fly if network conditions change. Since the .ts chunks for them are probably each 1 or 2 seconds each, you can literally be switching between 1 mbit/s one second, and 5 mbit/s the next second (no human intervention necessary). They can do that because they have one copy of each video that everyone consumes. Are you going to be willing to pre-transcode all of your content into multiple bitrate copies like this? Most people won't and/or won't know how and most people's server equipment won't be able to do it on the fly. That is our dilemma...
zigzagtshirt 55 Posted June 15, 2017 Posted June 15, 2017 (edited) Are you going to be willing to pre-transcode all of your content into multiple bitrate copies like this? Most people won't and/or won't know how and most people's server equipment won't be able to do it on the fly. That is our dilemma... Yes, I'm willing to pre-transcode. I already pre-transcode everything anyways to a lower quality copy that direct plays with all devices, so this would just take it a small step further. Alternatively, my server is capable of running at least one "good" bitrate copy and one "fair" bitrate copy from a full blue ray copy on the fly in my HLS adaptive bitrate test environment using ffmpeg with my FX-6100 cpu (not a very stellar CPU by any measure). Personally, all I want is these two qualities so my streaming at least has something to fall back on. I don't need or want 5 or 6 qualities like Netflix. Have you done market research on what you think Emby users/potential users want when it comes to this, or is this speculation? Edited June 15, 2017 by zigzagtshirt
zigzagtshirt 55 Posted June 15, 2017 Posted June 15, 2017 (edited) @@ebr What about allow adding the master playlist (.m3u8) file as a library item in Emby, and add functionality to play it? Don't worry about on the fly transcoding at this point. Users could pre-transcode everything themselves if they want to for adaptive streaming. Edited June 15, 2017 by zigzagtshirt
MSattler 390 Posted June 15, 2017 Author Posted June 15, 2017 The Android TV and Fire TV apps already have in-playback quality switching. During playback they will adjust quality? If so I've not yet seen that, is that for both gpu and cpu transcoding?
Luke 42079 Posted June 15, 2017 Posted June 15, 2017 No, he's referring to manual switching. There isn't any automatic switching at this point.
MSattler 390 Posted June 15, 2017 Author Posted June 15, 2017 No, he's referring to manual switching. There isn't any automatic switching at this point. Ok, that's what I thought. Thanks!
CBers 7451 Posted June 15, 2017 Posted June 15, 2017 Yes, I'm willing to pre-transcode. I already pre-transcode everything anyways to a lower quality copy that direct plays with all devices, so this would just take it a small step further. There is an OPTIMIZER option in Plex that lets you specify content and have your Plex Media Server create "optimized" versions of it for you.
MSattler 390 Posted June 15, 2017 Author Posted June 15, 2017 No, he's referring to manual switching. There isn't any automatic switching at this point. Just to be clear, auto switching should be in all apps not just mobile apps. For the following reasons: 1) Remote users could be using any of the clients, and most of the users remote will not be using a wired connection but wifi instead. 2) With auto switching for all apps, you don't have to worry about upload/download traffic for remote users effecting playback. Netflix does this on all of their clients for a reason.
MSattler 390 Posted June 15, 2017 Author Posted June 15, 2017 There is an OPTIMIZER option in Plex that lets you specify content and have your Plex Media Server create "optimized" versions of it for you. Yes, and Sync in Plex works very well! Best syncing experience yet.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now