SMiL file support?

I’m trying to improve the ESPN plugin that is currently working using a flash stream. I have an RTMP link, but cannot get it to load in the Plexapp.com player…



I do have a .smil file (see below) but cannot seem to get it to load.



FYI- there is authentication data passed with the referring link. (perhaps I’m not getting the authorization formatting correct.)



Link is:

_http://mediadownloads.mlb.com/espn/2010/04/17/ESPN_VIDEO_2296_20100418.smil?auth=da.bGdYalcvdhaTc8azb4cpdEcvbVaidmat-blZlSf-O-4AtnxLEFx-oajeo3qdpXk9lZrfs7m3sgmjj8kakbqbppj9poqno5kmkeq5ral2samsj5kek5qeo7j8o9p4ohjbk7qesnmksblcj5kck8qdpkj2odp8o6j8k8qbr6l6sfldj3kekd&aifp=v0001&slist=88998/espn/2010/04/17/2296_espn3_1000k;88998/espn/2010/04/17/2296_espn3_400k;88998/espn/2010/04/17/2296_espn3_800k;88998/espn/2010/04/17/2296_espn3_1200k;88998/espn/2010/04/17/2296_espn3_1800k&ct5=19-Apr-10&ct6=MY_IP_ADDRESS&ct7=7499301:FMS_CLOUD&ct8=39&ct1=espn_us&ct3=verizon:%7B3336D4DB-A802-4F07-9033-9419AA540508%7D&ct4=espn_us&rand=0.4167762934230268





Here is the data from the .smil:



<smil><br />
<head><br />
<meta base="rtmp://cp88998.edgefcs.net/ondemand"/><br />
</head><br />
<body><br />
<switch><br />
<video src="mp4:88998/espn/2010/04/17/2296_espn3_1000k.mp4" system-bitrate="1000000"/><br />
<video src="mp4:88998/espn/2010/04/17/2296_espn3_400k.mp4" system-bitrate="400000"/><br />
<video src="mp4:88998/espn/2010/04/17/2296_espn3_800k.mp4" system-bitrate="800000"/><br />
<video src="mp4:88998/espn/2010/04/17/2296_espn3_1200k.mp4" system-bitrate="1200000"/><br />
<video src="mp4:88998/espn/2010/04/17/2296_espn3_1800k.mp4" system-bitrate="1500000"/><br />
</switch><br />
</body><br />
</smil>




Any help is appreciated,
Dbl_A

Hey Dbl_A,



There’s no direct smil support, you have to extract the player and clip yourself and use RTMPVideoItem.



That said, I tried quite hard to get this going with the rtmp before I sent my initial example to you, but with no luck. Sander also had a look and couldn’t see anything wrong but had a feeling it could be an authentication, or security, issue. He’d had similar issues with another of his plugins.



We could be stuck with the flash I’m afraid.



Jonny

Hi!

The only thing I noticed about the paths in the smil file, is that the cpXXXXX number is also included in the file path. This usually isn’t the case.



<br />
rtmp://cp88998.edgefcs.net/ondemand<br />
         ^^^^^<br />
mp4:88998/espn/2010/04/17/2296_espn3_1000k.mp4<br />
    ^^^^^<br />



I also tested the url in the [Akamai Flash Support Player](http://support.akamai.com/flash/) but I couldn't even get a connection to the server.

http://img59.imageshack.us/img59/5633/23945556.png



Probably they're blocking requests from my country or my ISP, as even if the connection were protected by an authorization string or I got the path to the file wrong, at least I should get a little green checkmark next to one of the port numbers...


I think it is US only... I "blindly" tried to get something going with the Akamai player, to no avail. (oh well)

On a RTMP note,
I was also looking at writing a CBS plugin, and was able to get a clip playing in the Plexapp.com/player.
http://www.plexapp.com/player/player.php?url=rtmp://cp21927.edgefcs.net/ondemand%2F%3Fauth%3DdbEbIcTbKbPa9a4cTaWa2cwa.asdgdKcPbw-blZXFC-sW-bWG-IbBNiVkd%26amp%3Baifp%3Dv001%26amp%3Bslist%3Dvideo%2F_!%2FCBS_Production%2FPrimetime%2FSurvivor%2FSeason_20%2FExtras%2FMemorable_Moments%2F294%2F627%2Fs20_mm_amanda%26lt%3Bbreak%26gt%3Bvideo%2F_!%2FCBS_Production%2FPrimetime%2FSurvivor%2FSeason_20%2FExtras%2FMemorable_Moments%2F294%2F627%2Fs20_mm_amanda&clip=video/_!/CBS_Production/Primetime/Survivor/Season_20/Extras/Memorable_Moments/294/627/s20_mm_amanda<break>video/_!/CBS_Production/Primetime/Survivor/Season_20/Extras/Memorable_Moments/294/627/s20_mm_amanda

However, when I try to code a rough plugin to test further it appears to load, but nothing shows in Plex.


	player = "rtmp://cp21927.edgefcs.net/ondemand%2F%3Fauth%3DdbEbIcTbKbPa9a4cTaWa2cwa.asdgdKcPbw-blZXFC-sW-bWG-IbBNiVkd%26amp%3Baifp%3Dv001%26amp%3Bslist%3Dvideo%2F_!%2FCBS_Production%2FPrimetime%2FSurvivor%2FSeason_20%2FExtras%2FMemorable_Moments%2F294%2F627%2Fs20_mm_amanda%26lt%3Bbreak%26gt%3Bvideo%2F_!%2FCBS_Production%2FPrimetime%2FSurvivor%2FSeason_20%2FExtras%2FMemorable_Moments%2F294%2F627%2Fs20_mm_amanda"<br />
	clip = "video/_!/CBS_Production/Primetime/Survivor/Season_20/Extras/Memorable_Moments/294/627/s20_mm_amanda&lt;break&gt;video/_!/CBS_Production/Primetime/Survivor/Season_20/Extras/Memorable_Moments/294/627/s20_mm_amanda"<br />
    dir.Append(RTMPVideoItem(player, clip))



Any ideas or suggestions?

Auth strings are valid for only a very short period of time, maybe yours expired before you opened the video in Plex. There’s also something strange with the url, it says ‘break’ somewhere in the middle of the player and clip string. I have seen this before, but can’t remember where. It’s probably also in the XML/SMIL file where you got the info from? You can split the string at the break (probably written as <break> or ) and only use the first part.

And the player URL has the clip path in it twice also. That would probably need to be stripped.



As you can see, sometimes it is a little bit of trial and error to get the actual player and clip.




hmm..
Well, I got rid of the "break" and can still play with the Plexapp.com/player...
_http://www.plexapp.com/player/player.php?url=rtmp://cp21927.edgefcs.net/ondemand%2F%3Fauth%3DdbEaidKcgbgdGbsbic_ahc.amaIahdMd.aS-blZ0fG-sW-bWG-McCOiVpg%26amp%3Baifp%3Dv001%26amp%3Bslist%3Dvideo%2F_!%2FCBS_Production%2FPrimetime%2FSurvivor%2FSeason_20%2FExtras%2FMemorable_Moments%2F294%2F627%2Fs20_mm_amanda&clip=video/_!/CBS_Production/Primetime/Survivor/Season_20/Extras/Memorable_Moments/294/627/s20_mm_amanda

But not with an actual plugin.
and I've been checking to make sure the Auth string is still valid after trying the plugin.

Doesn't the RTMPVideoItem just play the video through the Plexapp.com/player? Or is it more complex?

Couple of things. First, try running PMS from the command line and you can see the player URL etc the plex is using



<br />
killall "Plex Media Server"<br />
<br />
~/Library/Application\ Support/Plex/Plex\ Media\ Server.app/Contents/MacOS/Plex\ Media\ Server<br />




Second, yes, if you can get it going with a manual url it should work with the RTMPVideoItem. That class just constructs the real url from the player and clip and passes it to a WebVideoItem. You'll see that on the terminal log if you run from the command line.

The manual URL does not work for me so I can't really test it further myself. Not sure why that would be. Is CBS ISP specific also?

Jonny

ARGH!

Just realized I was editing the wrong init.py file!!!



Got it now!



Thank you both!

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