Beiträge von mkoenig2203

    Moin,

    mein Plugin findet ihr auf Github:

    https://github.com/mking2203/plugin.video.myMagenta

    oder über mein Repro

    Allerdings eine Test-Version, problemtisch ist, dass der Video Stream mit PlayReady verschlüsselt war. Ich weiß nicht, ob für Android das ganze per hls Streaming geht. Leider reichen da meine Kenntnisse nicht aus, wie ich die Verschlüsselung aufbauen muss. Jedenfalls wurden meine Anfrgen an den Server immer abgelehnt.... s.o.

    Deshalb liegt das Projekt auf Eis.

    Gruß
    Mark

    Leider bekommene ich keinen Film zum Abspielen, scheinbar wird die Lizenz mit Error 500 vom Server abgelehnt. Ich bräuchte einen Mitschnitt eines gültigen Aufrufs, dann könnte peak3d evtl. sein Addon anpassen. Die Verbindung ist HTTPS, also verschlüsselt. Und ich kann den MagentaTvPlayer auch nicht überreden mit meinem Proxy zu quatschen. Hat dazu jemand eine Idee, wie man es schaffen könnte?

    Aufruf an den Server:
    https://licf.dmm.t-online.de/LicenseFronten…cquisition.asmx

    Obwohl ich den Inhalt abrufen kann, kann ich immer noch keinen Film abzielen. Ich rufe den Player unter Android so auf (FireTV 4k):

    licUrl ='https://licf.dmm.t-online.de/LicenseFronten…smx?ContentKey=' + contentKey
    DRM = 'com.microsoft.playready'

    playitem = xbmcgui.ListItem(path=url)
    playitem.setProperty('inputstreamaddon', 'inputstream.adaptive')
    playitem.setProperty('inputstream.adaptive.license_type', DRM)
    playitem.setProperty('inputstream.adaptive.license_key', licUrl)
    #playitem.setProperty('inputstream.adaptive.license_data', xml)
    playitem.setProperty('inputstream.adaptive.manifest_type', 'ism')
    playitem.setProperty('inputstream.adaptive.license_flags', 'persistent_storage')
    xbmc.Player().play(item=url, listitem=playitem)

    Im LOG sehe ich das der Server Fehler 500 ausgibt. Leider lässt dich die Kommunikation zwischen dem Player und dem Server nicht loggen (weder Fiddler oder Wireshark)

    019-06-22 11:28:50.797 T:24684DEBUG: Curl::[definition=12,4][definition='1','3']Debug[/definition][/definition] - HEADER_IN: HTTP/1.1 500 Internal Server Error
    2019-06-22 11:28:50.797 T:24684DEBUG: Curl::[definition=12,4][definition='1','3']Debug[/definition][/definition] - HEADER_IN: Cache-Control: private
    2019-06-22 11:28:50.797 T:24684DEBUG: Curl::[definition=12,4][definition='1','3']Debug[/definition][/definition] - HEADER_IN: Content-Type: text/xml; charset=utf-8
    2019-06-22 11:28:50.797 T:24684DEBUG: Curl::[definition=12,4][definition='1','3']Debug[/definition][/definition] - HEADER_IN: Server: Microsoft-IIS/7.5
    2019-06-22 11:28:50.798 T:24684DEBUG: Curl::[definition=12,4][definition='1','3']Debug[/definition][/definition] - HEADER_IN: X-AspNet-Version: 4.0.30319
    2019-06-22 11:28:50.798 T:24684DEBUG: Curl::[definition=12,4][definition='1','3']Debug[/definition][/definition] - HEADER_IN: Access-Control-Allow-Origin: *
    2019-06-22 11:28:50.798 T:24684DEBUG: Curl::[definition=12,4][definition='1','3']Debug[/definition][/definition] - HEADER_IN: Access-Control-Allow-Headers: Origin, Content-Type, Accept, Referrer, User-Agent, X-Requested-With, LAPB, SOAPAction, CustomclientId
    2019-06-22 11:28:50.798 T:24684DEBUG: Curl::[definition=12,4][definition='1','3']Debug[/definition][/definition] - HEADER_IN: Date: Sat, 22 Jun 2019 09:28:50 GMT
    2019-06-22 11:28:50.798 T:24684DEBUG: Curl::[definition=12,4][definition='1','3']Debug[/definition][/definition] - HEADER_IN: Content-Length: 842
    2019-06-22 11:28:50.799 T:24684DEBUG: Curl::[definition=12,4][definition='1','3']Debug[/definition][/definition] - TEXT: Connection #0 to host licf.dmm.t-online.de left intact
    2019-06-22 11:28:50.799 T:24684ERROR: CCurlFile::Open failed with code 500 for https://licf.dmm.t-online.de/LicenseFronten…mbNlE0vFG3dw==:
    <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><soap:Fault><faultcode>soap:Server</f
    2019-06-22 11:28:50.799 T:24684ERROR: AddOnLog: InputStream Adaptive: License server returned failure
    2019-06-22 11:28:50.801 T:24684ERROR: AddOnLog: InputStream Adaptive: Initialize failed (SingleSampleDecrypter)
    2019-06-22 11:28:50.801 T:24684DEBUG: AddOnLog: InputStream Adaptive: Session::~Session()
    2019-06-22 11:28:50.807 T:24684DEBUG: AddOnLog: InputStream Adaptive: WVDecrypter destructed

    Ansonsten ist das Addon (Test Status) in meinem Repro oder auf Github (mking2203):
    Mark's Repro
    Allerdings kann man dort keinen Film abspielen, nur Trailer und Browsen geht.

    Und hier einige Screensshots


    Über den Link erhalte ich eine XML Datei, in der ich die Playlist m3u8 dann abspielen möchte. Im [definition='1','0']log[/definition] sehe ich folgendes:


    019-06-15 18:58:53.628 T:1288 DEBUG: CDVDDemuxClient::RequestStream(): added/updated stream 1 with codec_id 27
    2019-06-15 18:58:53.628 T:1288 DEBUG: CDVDDemuxClient::RequestStream(): added/updated stream 2 with codec_id 86018
    2019-06-15 18:58:53.628 T:1288 DEBUG: CDVDDemuxClient::RequestStream(): added/updated stream 3 with codec_id 86056
    2019-06-15 18:58:53.628 T:1288 NOTICE: Opening stream: 1 source: 256
    2019-06-15 18:58:53.628 T:1288 DEBUG: AddOnLog: InputStream Adaptive: OpenStream(1)
    2019-06-15 18:58:53.628 T:1288 DEBUG: AddOnLog: InputStream Adaptive: Selecting stream with conditions: w: 1920, h: 1080, bw: 3560464
    2019-06-15 18:58:53.628 T:1288 DEBUG: CurlFile::ParseAndCorrectUrl() adding custom header option 'Authorization: ***********'
    2019-06-15 18:58:53.628 T:1288 DEBUG: CurlFile::ParseAndCorrectUrl() adding custom header option 'X-Device-Authorization: TAuth realm="device",device_token="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"'
    2019-06-15 18:58:53.628 T:1288 DEBUG: CurlFile::Open(0x1e0c335f840) http://hno-ec-01.se.svc29.main.cdn.t-online.de/sish/TOI-DE/92…ng=2200000.m3u8
    2019-06-15 18:58:53.628 T:1288 INFO: XCURL::DllLibCurlGlobal::easy_acquire - Created session to http://hno-ec-01.se.svc29.main.cdn.t-online.de
    2019-06-15 18:58:54.075 T:1288 DEBUG: AddOnLog: InputStream Adaptive: Download http://hno-ec-01.se.svc29.main.cdn.t-online.de/sish/TOI-DE/92…ng=2200000.m3u8 finished
    2019-06-15 18:58:54.075 T:1288 ERROR: AddOnLog: InputStream Adaptive: Unsupported encryption method:
    2019-06-15 18:58:54.075 T:1288 DEBUG: AddOnLog: InputStream Adaptive: GetStream(1)
    2019-06-15 18:58:54.075 T:1288 WARNING: CVideoPlayer::OpenStream - Unsupported stream 1. Stream disabled.
    2019-06-15 18:58:54.075 T:1288 NOTICE: Opening stream: 3 source: 256

    Im Moment konnte ich den Content soweit auslesen (ist nicht vollständig), aber die Frage bleibt - wie kann man den Stream abspielen. Vielleicht ist es zumindest auf dem PC erstmal möglich den installieren Player zu nutzen? Es sieht so aus als ob er ein Interface hat. Ich habe einiges über Play Ready gelesen, weiß aber nicht wie der Stream entschlüsselt wird (mit dem Key aus dem Manifest?)


    hier ein Ausschnitt einiger Dateien die ich sehe:

    "representations": [
    {
    "type": "SmoothStreaming",
    "quality": "SD",
    "productNumber": "urn:x-t-online:ProductTemplate:content:cesar.urn.t-online.de:XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX",
    "contentPackages": [
    {
    "contentClass": "SD_H.264_ISMV",
    "contentNumber": "XXXXXXXXXXX",
    "contentKey": {
    "system": "playready",
    "value": "XXXXXXXXXXXXXXXX"
    },
    "media": {
    "href": "https://wcss.t-online.de/cmrs/IPTV2015-…XXXXX/XXXXXXXXX"
    },
    "resolution": {
    "width": 768,
    "height": 432
    },
    "durationFactor": 1.0
    }
    ]
    },
    {
    "type": "HlsStreaming",
    "quality": "SD",
    "productNumber": "urn:x-t-online:ProductTemplate:content:cesar.urn.t-online.de:XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX",
    "contentPackages": [
    {
    "contentClass": "SD_H.264_ISMV",
    "contentNumber": "XXXXXXXXXXXXXXX",
    "media": {
    "href": "https://wcss.t-online.de/cmrs/IPTV2015-…XXXXXXXXXXXXXXX"
    },
    "resolution": {
    "width": 768,
    "height": 432
    },
    "durationFactor": 1.0
    }
    ]
    },

    Hm, bei mir will er immer Safari installieren ?( Scheinbar nicht möglich. Für Android gibt es ein APP, unter Windows wird der o.g. Player installiert (als Extension) und den Reverse zu Engineeren ist mir zuviel. :|

    Auch von Chrome/IExplorer wird der Player von Magenta aufgerufen, der ein API Interface hat. Die Calls zum Player kann man auch sehen, sind allerdings sehr komplex und der Player läuft im eigenen Fenster. Den Stream kann man auch nicht z.B. mit dem VLC Player nicht abspielen. (kein Decrypter) Im der Manifest.XML steht folgendes:


    <Protection><ProtectionHeader SystemID="9a04f079-9840-4286-ab92-e65be0885f95">keyValue<


    Hier auch noch ein Ausschnitt aus dem [definition=9,3]Kodi.[definition='1','0']log[/definition][/definition] und das Mnifest.

    Moin,

    inzwischen habe ich weiter geforscht: Trailer abspielen funktioniert, aber ich kann keine Filme abspielen, da der Content mit PlayReady verschlüsselt ist. Auf meinem PC wird über ein Plugin im Browser abgespielt, das geht. Außerdem glaube ich PlayReady wird unter Kodi nicht unterstützt.... Dann wäre ein Plugin so nicht möglich :thumbdown: Im Anhang eine Manifest Datei als Beispiel.

    Moin,

    ich habe mir die Daten mal angeschaut und zumindest wäre ein Addon so möglich (Beispiel im Anhang). Im Moment kann man die Startseite und die TV Kanäle sehen. Sonstnichts! Ich werde noch mal überprüfen, ob ein Stream abzuspielen geht. Trotzdem wird nicht gleich morgen ein Addon fertig sein. Falls ich weiter daran arbeiteoder Hilfe benötige, melde ich mich wieder. Viele Sachen basieren auf IDs, es wird also viel Re-Engineering nötig sein.