TranscodeUniversalRequest: unexpected number of child items: 2

plugin-dev

#1

I'm getting the above error when trying to transcode a stream.

Protocol = 'dash'
Container = 'mpegts'

I assume the child items are referencing the audio and video streams but I would've expected the DASH protocol to handle that?

https://github.com/Pahiro/SuperSport2.bundle


#2

Did you read the known issues on that github?


#3

@eetjtl said:
Did you read the known issues on that github?

:D :D I'm the coder on that Github. Looking for a solution to my problem.


#4

Oops sorry. I just assumed a newbie who doesn't read.
Again sorry. Guess I need to read more clearly if I had I would have put the usernames together.


#5

I am going to move this to the Channel Plugins Development section, since this is a development question


#6

First, if you are going to build the media object within your init.py then you need to create a function that loops through twice, otherwise it will not create the preplay screen data properly that is necessary for most Plex player apps. (Roku pulls data a little differently than other players and it will often work without a separate function with the loop)

A good example of a simple function to create media objects for live feeds is in the RT-USA channel plugin github.com/plexinc-plugins/RTUSA.bundle/blob/master/Contents/Code/init.py#L131

PMS appears to be able to transcode some live streams now, but noone from Plex has clarified what the requirements/limitations are to allow PMS to transcode live stream from a Plex channel. I am not sure what formats are supported, what attributes are required, what version of PMS you must be using, or if it is only available on Plex Pass versions of PMS.

I can say the RT USA live feeds (the example above) transcodes for me on Chrome now using PMS 1.8.1 on Windows (Plex Pass user).

In the past, all live feeds needed to be in a format that was compatible with the Plex player that you are using for playback. Roku, AppleTV, iOS devices, Andriod devices, and Safari browser can direct play live HLS feeds.

Another small thing I see is that regex works with Plex, so you do not have to import it from Python. This search of the Services.bundle will show you some examples of Regex in plex channel code - github.com/plexinc-plugins/Services.bundle/search?utf8=%E2%9C%93&q=regex&type=


#7

@shopgirl284 said:
First, if you are going to build the media object within your init.py then you need to create a function that loops through twice, otherwise it will not create the preplay screen data properly that is necessary for most Plex player apps. (Roku pulls data a little differently than other players and it will often work without a separate function with the loop)
...

Cleaned up my code, thanks. Now sadly getting the following;
[Transcoder] [hls,applehttp @ 016044e0] SAMPLE-AES encryption is not supported yet


#8

Ironically, I'm quoting you, @shopgirl284, from April 2016.

The videos for this channel are eHLS (encrypted) format and some Plex players cannot play eHLS videos. Currently the channels are programmed to block access for users of Plex Web with Chrome, Internet Explorer and Firefox, as well as Plex Home Theater, since these are the Plex player apps I can confirm cannot currently play encrypted HLS videos. eHLS videos will only direct play on Roku, Android, PlexWeb using Safari, iOS (Ipad and Iphone), and Samsung. So if you are using a Plex player apps that cannot direct play eHLS videos, it must be programmed to transcode all HLS videos for this channel to play videos properly. For more information about what formats your Plex player app supports and why, please refer to that section of the Plex forum for that Plex player .

So I've replaced playlist.m3u8 with .mpd and I'm hoping I can get that to actually work. We'll see. Server is responding with a proper mpd file. Can Plex handle MPD files yet?

Might need to pass the session cookie through with the stream read.