Hejsa, beklager på forhånd den lange forklaring...
Jeg har kort fortalt brug for noget hjælp til, at sende en
tilpasset licens forespørgsel til en specifik webserver, igennem min Silverlight Smooth Streaming afspiller.
Dette er min kode til afspilleren:
- <object id="silverlight" data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="700" height="427">
- <param name="source" value="../SmoothStreamingPlayer.xap">
- <param name="onError" value="onSilverlightError">
- <param name="onLoad" value="onSilverlightLoad">
- <param name="background" value="black">
- <param name="windowless" value="true">
- <param name="minRuntimeVersion" value="5.0.61118.0">
- <param name="autoUpgrade" value="true">
- <param name="enableGPUAcceleration" value="true">
- <param name="initParams" value="mediaurl=<?php echo $MediaUri; ?>">
- </object>
$MediaUri indeholder URL'en til en isml/Manifest. Når jeg starter afspilningen, kan jeg se at afspilleren registrerer video og lyd feed'et, men den begynder ikke at afspille noget
isml/Manifest URL'en genereres igennem et PHP/cURL script, som logger ind på teliatv.dk via mine login-oplysninger, gemmer en session cookie og decoder derefter URL'en fra et JSON-dokument på domænet.
Jeg har forsøgt mig med at bruge teliatv.dk's Everywhere.Player.xap til at afspille URL'en med, men den kan jeg slet ikke få til at virke på min side, og har heller ikke lyst til det, da det netop er på grund af deres afspiller, at jeg forsøger at afspille URL'en i min egen afspiller.
XAP-filer:
Everywhere.Player.xapSmoothStreamingPlayer.xapMed en netværkssniffer har jeg fundet ud af, at webseveren returnere en fejlkode 500 (Internal Server Error) 'Invalid POST data'.
The client request must include CustomData element or the deviceID query parameter must be set.Netværk-rapporter:
SmartSniff_teliatv.dkSmartSniff_localhostDen let læselige data sendt til webserveren:
Sendt fra teliatv.dkSendt fra localhostUdfra fejlkoden ser det ud til, at SmoothStreamingPlayer.xap indeholder en eller flere dll-fil/er som ikke er sat op til at sende et
deviceID via
ChallengeCustomData.
Nu skal det hurtigt siges, at jeg absolut ingen forstand har på C#. Alligevel har jeg dog prøvet at kaste mig ud i, at decompile dll-filerne fra begge xap-filerne via et program ved navn
Telerik JustDecompile.
Screenshots fra JustCompile:
JD screenshot #1JD screenshot #2Selvom jeg tror, jeg kan se mig ud af sådan cirka hvor i Everywhere.Player.xap's dll-filer deviceID'et defineres og hvordan licens forespørgselen laves, kan jeg hverken finde ud af bruge JustDecompile eller MS Virtual Studio ordenligt, hvilket hæmmer processen gevaldigt
Jeg er dog netop faldet over dette
forum-indlæg, hvor i det fremgår, at der eksisterer et JavaScript bibliotek som kaldes for
WinJS, som igennem lidt tilpasning, lader til at kunne klare opgaven udenom dll-filerne.
Desværre må jeg, efter at have hentet WinJS biblioteket, erkende at jeg ikke kan gennemskue hvordan man bruger det til formålet
Håber der er nogen der kan hjælpe mig videre, da jeg har siddet fast i godt en uge nu. En hver assistance tages i mod med kyshånd
Indlæg senest redigeret d. 31.01.2015 22:54 af Bruger #13763