Kodi Community Forum

Full Version: [RELEASE] Shahid.net Video on Demand
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Hey guys,

Just wanted to announce that a new plugin for Shahid.net has been released and added to the Arabic XBMC addons repository (https://github.com/hadynz/repository.arabic.xbmc-addons)

For those not familiar with Shahid.net, it is a service provided by MBC to allow users to watch content from MBC channels, as well as other Arabic TV content on demand. The shahid.net iPad app is currently the most popular app in the middle east (Ref: http://www.itp.net/mobile/589966-mbcs-sh...ar-in-mena) reaching 63 million visits and 90 million video views as of August, 2012.

To install the Arabic XBMC addons repository, follow the instructions on the github page - https://github.com/hadynz/repository.arabic.xbmc-addons
Works perfectly on Frodo, running on win 8 , for some reason the other version didn't work for me but this one does.
Hi
I noticed that you are re using my plungin code without my permission
Please remove these calls
Otherwise I will disable the whole plugin
Thanks
Plz dont disable the plugin my wife loves it.
(2012-12-09, 04:56)shahid_xbmc Wrote: [ -> ]Hi
I noticed that you are re using my plungin code without my permission
Please remove these calls
Otherwise I will disable the whole plugin
Thanks
I have sent you a PM a little over a week ago asking you to clarify the license of your web service. can we take this offline and reply to my message please? thanks.
(2012-12-09, 12:56)hadynz Wrote: [ -> ]
(2012-12-09, 04:56)shahid_xbmc Wrote: [ -> ]Hi
I noticed that you are re using my plungin code without my permission
Please remove these calls
Otherwise I will disable the whole plugin
Thanks
I have sent you a PM a little over a week ago asking you to clarify the license of your web service. can we take this offline and reply to my message please? thanks.

I got nothing, please remove these calls
hi guys please you are doing both a good work to help people getting these amazing programs please just discuss between you and make a same post and share acknowledgment to move further and make thing better with that way we can progress yes shahid_xbmc is the original creator of this addon so if you can find a way to manage this between you and to bring the same plugin with the better way that should be awesome thanks guys keep it up
Just a quick update, the Shahid.Net plugin is currently not in a working state. The web service which was used to extract the streams has been disabled due to an unsettled dispute.

The good news is that coming up with an alternative web service is a totally feasible job because it has been done and proven. The new alternative web service will remain open for public consumption by anyone to assert the spirit of the open source community.

I am currently in the middle of another side project that I took on. This should be fixed soon after it. Appreciate everyone's patience.
In an effort to help with this plugin, hady has given me the following sample URL:

http://shahid.mbc.net/media/video/33752/

This resolves to the following RTMP URL:

rtmpe://mbc3.csl.delvenetworks.com/a6344/v1/mp4:media/2fda1d3fd7ab453cad983544e8ed70e4/04e95e78b1d841cfb2940d2939450fce-ec7833ae5514413fb8e014e3433ac60d/the_voice_s01_e21_vod_new.mp4

We're looking for the following URL sections:

2fda1d3fd7ab453cad983544e8ed70e4
04e95e78b1d841cfb2940d2939450fce
ec7833ae5514413fb8e014e3433ac60d
the_voice_s01_e21_vod_new.mp4

The first one is easy, as it seems to be standard across all videos - as can be seen by doing a quick google search on the string:

https://www.google.com/search?q=2fda1d3f...44e8ed70e4

The second is part of a URL in the page HTML:

http://assets.delvenetworks.com/player/f...e&65833983

&mediaId=04e95e78b1d841cfb2940d2939450fce

We're now trying to find out the final id and the video file name. I'll load the page up in both Chrome with Inspector and Firefox with Firebug and see what I can see.
hady, do you have a URL for the iPad API? You mention it in the following thread:

http://forum.xbmc.org/showthread.php?tid=140937
(2012-12-12, 01:12)markhoney Wrote: [ -> ]hady, do you have a URL for the iPad API? You mention it in the following thread:

http://forum.xbmc.org/showthread.php?tid=140937
You will have to install shahid on the iPad (http://forum.xbmc.org/showthread.php?tid=140937) and run the app through a proxy like Fiddler to extract out their API.

The videos that are streamed from the iPad app are not in RTMPE streams.
hady, are you able to save me the effort and give me a URL from the API? Although the videos are not the RTMP ones used in the full site, the responses from the iPad API may hold enough info to allow the formation of an RTMP URL, which is why I'm interested in the iPad API. I can also checkout the iPad m3u8 files, as if they're not encrypted XBMC should be able to play them. Cheers!
(2012-12-12, 03:25)markhoney Wrote: [ -> ]hady, are you able to save me the effort and give me a URL from the API? Although the videos are not the RTMP ones used in the full site, the responses from the iPad API may hold enough info to allow the formation of an RTMP URL, which is why I'm interested in the iPad API. I can also checkout the iPad m3u8 files, as if they're not encrypted XBMC should be able to play them. Cheers!
Yup, not a problem. Will go through them after work. I remember doing this exercise before but to no prevail.

I am currently going through some reading on rtmp sniffing - http://jonathanbeluch.com/blog/2011/01/rtmp-sniffing/
The sniffing is fairly easy on a desktop - I've also done it using Chrome, by dumping the browser memory to a file and then opening it in a hex editor. Unfortunately, though, you can't do this from within XBMC!

The trick is to work out how to get from the HTML page and its ensuing HTTP requests to a working RTMP URL. Some sites, like BrightCove, use AMF requests and responses to pass URLs to the player. These requests can be made in XBMC using pyamf. Other sites build the URLs from javascript variables, and simple regexes can extract all that's needed to build the URL. I'm not sure how shahid does it yet, but hopefully we'll find a way to glean the required variables from the webpages available.
(2012-12-12, 03:58)markhoney Wrote: [ -> ]The sniffing is fairly easy on a desktop - I've also done it using Chrome, by dumping the browser memory to a file and then opening it in a hex editor. Unfortunately, though, you can't do this from within XBMC!

The trick is to work out how to get from the HTML page and its ensuing HTTP requests to a working RTMP URL. Some sites, like BrightCove, use AMF requests and responses to pass URLs to the player. These requests can be made in XBMC using pyamf. Other sites build the URLs from javascript variables, and simple regexes can extract all that's needed to build the URL. I'm not sure how shahid does it yet, but hopefully we'll find a way to glean the required variables from the webpages available.
Yup, totally agree. A useful step anyhow is to sniff via the desktop to get a better understanding of how the service works.

To give you a bit of background, there is another Shahid plugin that was released early in the month; not as functional or polished in terms of UX, but successfully plays videos. The streams are extracted via an external python api hosted on google apps. I have contacted the author to see if he wanted to share his findings around extracting the stream; not a lot of luck there.

See the following example of how this works:

A given video lives on the following URL:
http://shahid.mbc.net/media/video/31374/

The "video key" is extracted from the following URL:
http://testpipe12.appspot.com/?url=http:...deo/31374/

<rss version="2.0" xmlns:boxee="http://boxee.tv/rss" xmlns:media="http://search.yahoo.com/mrss/"> <channel><title>Shahid</title><item><title>Get Videos (rtmpe)</title><link>rss://myveetle12.appspot.com/?url=975ab240d6ea4437aae3dc32259347b1/xxxx</link></item><item><title>Get MP4 stream 400kb</title><link>rss://mbclnk12.appspot.com/?url=http://shahid.mbc.net/media/video/31374/</link></item> </channel> </rss>

To get the list of RTMPE streams, you simply need to hit the following URL:
http://myveetle12.appspot.com/?url=975ab...347b1/xxxx

<rss version="2.0" xmlns:boxee="http://boxee.tv/rss" xmlns:media="http://search.yahoo.com/mrss/"> <channel><title>SHAHID</title><item><title>play 1200.0 kb </title><link>rtmpe://mbc3.csl.delvenetworks.com/a6344/v1/ swfUrl=http://s.delvenetworks.com/deployments/player/player-3.37.5.12.swf pageUrl=http://live.1hd.ro/ playpath=mp4:media/2fda1d3fd7ab453cad983544e8ed70e4/975ab240d6ea4437aae3dc32259347b1-c59d428aaaaf43e982d87b261409ffbc/the_voice_s01_e01_vod.mp4</link></item><item><title>play 800.0 kb </title><link>rtmpe://mbc3.csl.delvenetworks.com/a6344/v1/ swfUrl=http://s.delvenetworks.com/deployments/player/player-3.37.5.12.swf pageUrl=http://live.1hd.ro/ playpath=mp4:media/2fda1d3fd7ab453cad983544e8ed70e4/975ab240d6ea4437aae3dc32259347b1-8ef461a183eb48b6ba6165916760c0c3/the_voice_s01_e01_vod.mp4</link></item><item><title>play 400.0 kb </title><link>rtmpe://mbc3.csl.delvenetworks.com/a6344/v1/ swfUrl=http://s.delvenetworks.com/deployments/player/player-3.37.5.12.swf pageUrl=http://live.1hd.ro/ playpath=mp4:media/2fda1d3fd7ab453cad983544e8ed70e4/975ab240d6ea4437aae3dc32259347b1-d7a9d97f5ea443d98684fde5a449ee1c/the_voice_s01_e01_vod.mp4</link></item> </channel> </rss>

Alternatively, you can ge the mobile MP4 stream:
http://mbclnk12.appspot.com/?url=http://...deo/31374/

<rss version="2.0" xmlns:boxee="http://boxee.tv/rss" xmlns:media="http://search.yahoo.com/mrss/"> <channel><title>python feeds</title><item><title>play</title><link>http://mbc3.cpl.delvenetworks.com/media/2fda1d3fd7ab453cad983544e8ed70e4/975ab240d6ea4437aae3dc32259347b1-d4919cc37eb542bdb1ac25f06ad516a2/the_voice_s01_e01_vod.mp4?h=1ba7ba79320c0f0dede4d127caef62de"</link></item> </channel> </rss>

The above stream are working and solve the problem.
Pages: 1 2