Is it possible to create a custom transcoder profile?

The main reason I want to do this is that the vast of majority of my files play perfectly well using direct play, but I want to transcode 1080p content as it is a little laggy on the pi and I have a beefy server that can easily handle this.

I don't want to lose the advantages of direct playing all of the time (as would happen if i'd force trancsoding for 100% of the files).

 

I looked in the rasplex profile xml file for the transcoder but as far as i can tell the trigger for transcoding is via codec only and not via video resolution. Is it possible at all? Is there documentation on these profile files?

 

Thanks in advance

The new transcoding profile should have you covered here - transcoding only videos that have a bit rate that is too high for the pi to handle (laggy) and directplaying everything else as long as the pi can play it.

As far as I understand that profile XML, it works via codec triggers. Meaning, that if an unsupported codec is requested via the device, then transcoding will occur. I'm not sure I understand how to implement what you suggested, trigger transcoding via bit rate.

You wont be able to do this with changing the profile, as the transcoding decision is made on the client side.

I see. So currently this should be a feature request?

I'm not sure we want to have the transcoding decision to be user configurable as most people would try things without knowing what they are doing and would therefore bring additionnal support overhead.

Transcoding decisions anyways are only based on RPi capabilities which are the same for every user. I wouldnt see the point of being able to change that... :)

Like I said, 1080p playback is not great using direct play but runs smoothly for me using transcoding since I have a strong server. That is the point :)

if you want to have it transcoded and have a strong server, you can enable it in PHT network settings

...

It's like you're deliberately trying to miss my point. i'll try again.

Obviously, direct play is a better experience than transcoding. I really don't think I need to emphasize why. Thus, I want to view as much content using direct play as possible.

However. high bitrate content, such as 1080p movies, are not performing as well as the pi as other content. Thus, I want to able to view ONLY THOSE movies, i.e those with high bitrate, using transcoding while remaing the usage of direct play for the majority of my other media.

Currently, there is no such feature that will enable this. I can either set everything to direct play or to transcoding. 

It would be great if such a feature existed. Should I open a request via github?

...

It's like you're deliberately trying to miss my point. i'll try again.

Obviously, direct play is a better experience than transcoding. I really don't think I need to emphasize why. Thus, I want to view as much content using direct play as possible.

However. high bitrate content, such as 1080p movies, are not performing as well as the pi as other content. Thus, I want to able to view ONLY THOSE movies, i.e those with high bitrate, using transcoding while remaing the usage of direct play for the majority of my other media.

Currently, there is no such feature that will enable this. I can either set everything to direct play or to transcoding. 

It would be great if such a feature existed. Should I open a request via github?

But the resolution is NOT what defines the bitrate, though high resolution usually does imply a high bitrate as well.

But there can be a HUGE variation in the bitrate independently of the resolution used.

Thus it is possible for one and the same original movie to be transcoded into 1080p files with either 1000 kbps bitrate or 40,000 kbps bitrate.

The former of those would direct play perfectly well on any RPi (regardless of configuration),

whereas the latter would be impossible to play on any RPi without transcoding.

So in these matters it is the bitrate, not the resolution, which is the deciding factor.

Btw:

With proper acceleration, such as I use myself (USB3 + modest Overclocking), it is possible for an RPi to play 1080p at bitrates up to 20,000 kbps.

Without any acceleration the limit is somewhat lower, so the same transcoding choice limit might not suit everyone.

I do agree with you that some new user-configured transcoding option is needed.

But it should be based on bitrate, not on screen resolution.

Best regards: dlanor

Ok, I'll correct myself. I want to have transcoding chosen based on a bitrate threshold 

Ok, I'll correct myself. I want to have transcoding chosen based on a bitrate threshold 

Good!

That is something I too have argued for in several earlier discussions, and I intend to bring this up again in the future.

But for the time being I want the upcoming final release of 0.4 to be completed, before adding such new features.

Also, the reimplementation of bitrate-triggered transcoding really should be done in the 'upstream' PHT, so it comes to all platforms and not just RasPlex.

Currently anyone who needs a bitrate limit due to ISP bandwidth limits will also have to accept having ALL remote Plex traffic transcoded, regardless of CODECs used or the video bitrate/resolution, simply because there is no separate transcoding toggle. Whenever a bitrate limit is set everything gets transcoded... :(

The logical solution to this is of course to use the set bitrate both to limit the bitrate of transcoded video, and as a limit to trigger transcoding whenever a video exceeds that limit, with direct play being used for all videos below that bitrate (if they have compatible CODECs of course). And for those who really want to enforce transcoding for everything there should be a separate toggle setting for that specific purpose.

But like I said above, this really needs to be implemented by the Plex team for the main PHT release, and then ported like other PHT code for RasPlex.

Only if/when the Plex team make it clear that they refuse to improve the implementation this way should we consider doing it specifically for RasPlex.

(Because RasPlex needs it even more than a PHT version for normal PCs, due to RPi limitations.)

Best regards: dlanor

We can eventually have some of the transcoding settings move out of the code to some user configurable file, or maybe reuse the transcoder actual settings in a different way that would use them as limits that would not necessarilly trigger transcoding when they are set, if im getting your point.

Though this is cherry on top of the cake for now. I just wanna get a proper playback & transcoding triggering support for medias. Then we can add some more on top of it.

Also so that you know, and even if that would make sense upstream as well, we have an independant transocoding decision algorhythm to trigger it, so we can eventually have it behave differently than upstream.

Though in a first time, i didnt want to use the transcoding bitrate settings in preferences in another way as PHT does so that poeple dont get confused.

Once transcoding support looks fine, we can tune that.

As a side note it seems that the stuttering issues that some people have with 1080p are ffmpeg related.

We have worked a lot on this recently, but havent found yet the perfect solution for it.

Basically depending on which versions we use, we have or not 5.1 passthough,stuttering or not, and some random frezes.

There is still a bit of investigation to be made so that we can figure out what's causing this mess.

Though we plan to have RC2 out pretty soonish so that audio playback gets fixes as well as shutdown issues and also optional codecs proper detection.

The rest will have to be fixed in further releases.

Thank you for the detailed reply and for all of you’re ongoing and great work. Know that it is truly appreciated and that work directly translates to enjoyment time on my end

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.