Zur Behebung des Problems bitte unter Einstelungen->Wie oft Konfiguration erneut herunterladen auf 0 setzen - dann ist das Problem erstmal behoben. Hab grad nicht so viel Zeit - werds mir die Tagen anschauen
Beiträge von knaerzche
-
-
@wollup
Wenn du die HD-Logos in den Live-Streams siehst ist addon-seitig alles OK. Aus irgendeinem Grund wird die Stream-Qualiät von inputstream.adaptive runtergeregelt - um das zu ändern kannst Du entweder unter Addon-Einstellungen->inptstream- Addon Einstellungen->Ignore Display Resolution einschalten ... wenn das auch nix bringt, dann "Stream Selection" auf Manual stellen ... dann werden alle Streams immer in der geringsten Qualtität gestartet, aber du hast während der Wiedergabe die Möglichkeit in den Video-Einstelunngen den Stream-Qualität auszuwählen@balabana
Das ist ist halt im Moment in Kodi so umgesetzt und wird sich so lange nicht ändern, wie es keinen Entwickler gibt, dem das selbst wichtig genug ist, um es zu ändern. So funktioniert nun mal OpensSource-Software ... wenn dir das so wichtig ist - kannst Du das gerne selbst machen und dich aktiv beteiligen .., und nicht nur passiv nörgeln -
@harryharz
Danke für das Lob - freut mich, das es dir das addon gefällt.Nein: Zappen kann man derzeit nicht im Live-TV Bereich, weil das video-addons grundsätzlich nicht so vorgesehen ist. Hab derzeit auch keine Ahnung, ob man das überhaupt hinkriegen kann ... finde ich persönlich nicht allzu tragisch Wenn ich mal mehr Zeit habe, werd' ich mir das mal anschauen.
-
Nein mit EPG hat das nix zu tun, sondern mit dem Service, der gebraucht wird um die "Weiterschauen"-Funktion zu realisieren: Ich muss, nachdem ein Stream gestartet wurde die ganz Zeit die aktuelle Postion im Stream abfragen - damit ich sie danach an die API schicken kann - damit das (wenn man einen Account hat) auf allen Geräten gleich ist. Das geht mit Kodi leider nicht anders zu machen - ist aber auch irgendwie logisch, weil es eben Skripte sind, die etwas abarbeiten und dann anzeigen/Video starten etc. und man damit nicht auf irgendwas "warten" kann (in dem Fall bis der Stream stoppt) ... ich hoffe ich habe mich jetzt nicht zu fachidiotisch ausgedrückt
-
könntest du dir vorstellen, von deinem addon mal so eine art „light-version“ zu entwickeln, mit der ausschliesslich videos aus der mediathek abgespielt werden können?
dein addon hat momentan unheimlich viele abhängigkeit, d.h. für meinen geschmack werden da entschieden zu viele helfer-programme im hintergrund mitinstalliert. auf live tv könnten vermutlich viele verzichten, gerade mit kodi gibt es da wesentlich bessere möglichkeit, dann würden doch schonmal etliche abhängigkeiten (epg usw.) entfallen...
Mein Addon hat eigentlich gat nicht so viele Ahänigkeiten ... genau gesagt nur 5 von denen 2 optional sind ... die ganzen "tausend" Abhänigkeiten kommen von uEPG, was leider ziemlich geil, aber auch langsam und ein bißchen buggy ist ... und ebend diese viele Abänigkeiten mit sich bringt.
Hatte mir aber aber auch schon überlegt, ob ich das nur bei Bedarf installieren lasse, wenn man auf "EPG" geht ... werd ich mal für nächste Release "vormerken" -
@all: Weil das Widevine-Thema ja damals nach dem Update hier heiß diskutiert wurde: Es gibt eine neue Version für ARM: Damit läuft 1080p unter Linux (Libreeelc) es auf meiner Rockchip-TV-Box wieder flüssig - damit vermutlich auch auf dem Rpi3. Einfach mal unter den Settings von inpustream-helper "Widevine CDM Bibiliothek (erneut) installieren" versuchen
-
@Nathaniel
Hast du ein Beispiel dafür? Bei Mediatheken->Sixxt->Anna und die Liebe>Staffel 1 ist die Sortierung bei mir richtig (da gibt es von 1 bis 3 stellig alle Varianten) -
Maintenance release 2.3.1 - ohne neue (sichtbare) Funktionen, aber mit sehr viel Umbau: Das Addon läuft jetzt insbesondere auf langsamen SOC-Devices deutlich schneller (RPi 2 <200%)
@sus67 - hattest du das nicht schonmal gefragt?
@sus67Ich hab mir das mti dem Kontext-Menu bei uEPG eben mal angsehen: uEPG nutzt seinerseits dafür das addon script.module.metadatautils und fragt damit die Daten aus von einer amerikanischen API für TV-Serien ab ... logischerweise existieren da die meisten/alle deutschen nicht und setzt offensichtlich irgendwas, wenn nix gefunden wird ... das sind also keine Daten die vom Joyn-Addon gesetzt werden (können) und ich kann da leider nicht viel machen ...
Alles was da unter "Informationen" angezeigt wird, wird nicht von meinem Addon gesetzt, sondern aus dritten Quellen bezogen - ich kann da wirklich nix machen.
-
@toffeefee - zu deinem [definition='1','0']log[/definition]:
... ich werde, wohl nie verstehen, was es für End-User für einen Sinn macht, Software in einem Alpha-Status zu installieren ... wieso benutzt du nicht einfachh die aktuelle Stable-Version? Matrix hat meines Wissen im Moment keinen echten Vorteil für den End-User - wenn dann allenfalls Nachteile. Das Addon selbst läuft zwar auch auf kodi 19; kodi 19 aber offensichtlich nicht so richtig auf deinem Tablett. Aber möglicherweise ist das gar nicht das Hauptproblem - sondern seeehr viele Einträge wie:CodeERROR: CDVDAudioCodecAndroidMediaCodec::GetData ExceptionCheck; dequeueOutputBuffer java.lang.IllegalStateException
Dazu habe ich das gefunden:
https://forum.kodi.tv/showthread.php?tid=347189 - da hat jemand exakt das gleiche Problem, wie du - allerdings ohne eine Lösung. Seht wahrscheinlich wird bei Dir kein Addon, dass inpustream.adaptive mit widevine verwendet, laufen - also weder netflix, amazon, ... Liegt wahrscheinnlch wieder mal an einer fehlerhaften / unvollständigen SDK-Implementierung seitens des Herstellers - habe auch grad einen Bugreport, bei dem Kodi einfach abstürzt, wenn man ein im Addon ein bestimmtes Modul in Python impotiert (Allwinner; Android SDK 24)
Du kannst versuchen die aktuelle Leila-Version zu installieren - aber das hatte der User in dem Beitrag ja - bei ihm hat es damit auch nicht funktioniert.Ansonsten wünsche ich allen Beteiligten und Unbeteiligten: Frohe Weihnachten - mit oder ohne Joyn
-
Im letzen Screeshot müsstest du noch das Untermenu "Audio Settings" öffnen - da steht damm, ob einen Stream gibt. Du hattest debuging schon eingeschaltet - was man an dem Overlay sieht - da steht ganz oben drin (/storagte/emulated....) wo das [definition='1','0']log[/definition] liegt -diese datei dann bitte hier hochladen - hier ist es nochmal besser erklärt: Wie aktiviere ich [definition='1','3']Debug[/definition] Logging? - Wo finde ich das Kodi.[definition='1','0']log[/definition]? - Wie lade ich die Datei ins Forum? -Sammelthread-
-
@toffeefee und @Gartenzwerg: Bitte ein [definition=12,0]debug[/definition].[definition='1','0']log[/definition] und einen Screenshot von den inputstream-Adaptive Einstellungen (Joyn-Einstellungen->inpustream Addon Einstellungen) ... anders kann ich da nicht helfen. Und bitte beim Abspielen eines Streams mal bitte unter Einstellungen->Audio nachsehen ob da ein Stream angegezeigt wird.
@sus67
Ja - die Einstellung bitte auf "web" lassen -
@Gartenzwerg
Hhhm ... die Einstellung ändert bei VOD-Streams gar nix.
Hast du kodi mal neugestartet? Wenn ja: Bitte ein [definition=12,0]debug[/definition].[definition='1','0']log[/definition] -
Achso...Joyn+ Kostenpflichtig gibt es auch.
Ronny - warst ne Weile ncht da Ja - gibt es und wir vom Addon auch schon seit 2.2.0 unterstützt.
Hallöchen, mein Tablet ist eigentlich nen schnelles...octacore etc. von Medion....
Auf meinen beiden fire tv Sticks läuft es wie gesagt einwandfrei...100mbit Leitung vorhanden....
Vielleicht liegts an Android 7? keine Ahnung....kriege halt keinen Ton, egal welche Auflösung, auch nicht nach ner Minute...Also betrifft es bei Dir nicht nur die Live-Streams, sonder alle? Vielleicht unterstützt den Gerät den AAC-Codec nicht???
-
Neue Version 2.3.0
1. Die API erlaubt auch das Serverseitige setzen von „Weiterschauen“-Postionen – das ist jetzt im Addon auch implementiert – d.h., wenn ihr eingeloggt seit (mit oder ohne Plus+) werden diese Position per API gesetzt und sind dann entsprechend auf allen Geräten verfügabar (vermutlich auch in der App/auf der Seite - habe ich nicht gecheckt), auf denen ihr mit dem gleichen Konto angemeldet seit. Das gilt sowohl für die „Weiterschauen“-Einträge im Hauptmenu, als auch für die die einzelnen Folgen/Filme in den entsprechenden Untermenus – die Position wird von Kodi entsprechend gesetzt. Dazu gibt es 2 neue Einstellmöglichkeiten unter „Konto“
- „Postion im Stream (in Sekunden) ab der die 'Weiterschauen' Postion gespeichert werden soll“:
Sollte der Stream auf einer Position, die größer ist als die als dieses Setting, wird diese Position beim stoppen entsprechend an den Server gesendet – also nicht automatisch sobald man den Stream gestartet hat (default 300 Sekunden – also 5 Minuten)
- „Sekunden vor dem Ende des Streams, ab der die 'Weiterschauen' Postion zurückgesetzt werden soll“ - das sind die Sekunden vor dem Ende des Streams, wenn die Postion auf dem Server zurückgesetzt werden soll“ (kann leider nicht gelöscht, sondern nur auf „0“ zurückgesetzt werde) – default: 60 Sekunden, also 1 Minute
Zusätzlich gibt es noch die neue Rubrik „Jetzt Weiterschauen“ - dort sind alle Filme/Episoden drin, die aktuell eine „Weiterschauen“-Position > 0 haben. Ein Nachteil gibt es - das funkioniert nicht für sog. "Compilations" - die erkennt man im Addon daran, dass es keine Staffeln gibt und man direkt nach der Auswahl der Serien zu den Folgen kommt (z.B. alles in der "WELT"-Mediathek) - das ist kein Fehler des Addons sondern vermutlich ein Bug der API.2. Die Inhalte werden jetzt automatisch basierend auf dem aktuellen Abo-Status angezeigt: D.h. Plus+-Inhalte nur, wenn man ein entsprechendes Abo hat. Zusätzlich gibt es in den Einstellungen unter „Ansicht“ die selbsterklärenden Einstellungen: „Plus+-Inhalte auch ohne Abo anzeigen“ und „Plus+-Inhalte hervorheben“. Sowas wie: "Error 422/SVOD content not allowed for unsubscribed user" sollte dann mit den Default-Einstellungen nicht mehr passieren.
3. Man kann jetzt sein Passwort auch verschlüsselt speichern lassen – Hintergrund: Das Token, was ich im Moment nutze um die Authentifizerungs-Token zu refreshen ist nur 1 Woche gültig – d.h. wenn man das Addon mehr als eine Woche nicht verwendet, wird man sonst aufgefordert sein Zugangsdaten erneut einzugeben – was auch weiterhin so ist, wenn man das Passwort nicht speichert. Zum verschlüsseln wird das Addon pyDes verwendet, dass automatisch mit installiert wird, sollte es in einem aktuell installierten Repo verhanden sein (es ist nicht im offiziellen kodi-repo, aber im kodinerds-repo) – wenn nicht, kann man die Option zum Speichern nicht auswählen.
4. Ich habe einen zu (bei mir) zu 99% funktionierenden Fix für den zu spät startenden Ton bei Live-Streams gefunden ... Irgendwie scheint das mit dem Timeshift-Buffer zusammenzuängen . . . wenn der bei euch mehr kaputtmacht, als repariert: Man kann ihn unter Einstellungen->Erweitert->Versuchen Audio-Sync bei Live-Streams zu reparieren ausschalten. Das Joyn-Addon ist auch nicht das einzige das diese Problem hat: https://github.com/peak3d/inputstream.adaptive/issues/363
5. Wird Listenfreunde freuen: Man kann sich die Rubriken mit der Einstellung Ansicht->Rubriken im Hauptmenu anzeigen, die Rubriken direkt im Hauptmenu anzeigen lassen – der Punkt „Rubriken“ entfällt entsprechend.
6. Ich bin in den letzten Tage über alle mögliche Kanäle gefragt worden, wie man sich denn anmelden kann – offenbar scheint das nicht ganz klar zu sein – Deswegen wird man jetzt beim ersten Addon-Start oder dem Update auf 2.3.0 einmalig(!) gefragt ob man sich anmelden will (falls man nicht schon angemeldet ist)
.. ich hoffe ich hab nix vergessen – wenn doch: Fragen! Wäre schön, wenn ihr insbesondere den Live-Stream-Audo-Fix mal bei euch testen könnt
Ist schon übers kodinerds-repo verfügbar oder kann unter https://github.com/knaerzche/plug….joyn-2.3.0.zip runtergeladen werden
-
Wegen des Live-Stream-Audio-Problems: Ja das ist so - steht aber auch im Startthread
Bekannte Probleme:
In den ersten 5-10 Sekunden (manchmal???) kein Ton bei bei Live-Streams (wahrscheinlich ein Problem von inputstream adaptive)... das war, wenn ich mich richtig erinnere, aber auch schon bei den alten 7tv-Addons so ... ich finds aber auch ziemlich nervig und werds mir bei Gelegenheit mal mit ansehen.
@toffeefee: Wenn Dein Tablet buffert hat es vermutlich nicht genügend Leistung die Streams zu verarbeiten ... dazu einfach mal die Qualität nach unten anpassen. Wie das geht steht ebenfalls im Startthread.
-
Sicher ist hier nichts Aber: Wir haben hier User, die via Shield, MiBox S oder FireTV Gen 3 über Playready das Addon laufen haben, während andere keinen Zugang mehr erhalten - mit gleicher Hardware. Aus diesem Widerspruch stammt die These, dass sich mit den neuen Sky Verträgen was am Zugang geändert hat (-> Vgl. Post 561808), und das Addon angepasst werden muss.
Ahhh - OK. Bei den anderen Boxen weiß ich es nicht, aber die MiBox S unterstützt SL3000 erst seit dem Update auf Android 8.1 - aber man kann wohl davon ausgehen, dass die Leute das alle installiert haben - man wird ziemlich penetrant darauf hingewiesen
-
Dies ist kein Live event, daher kannst du zur von @knaerzche vorgeschlagenen dateibasierten Lösung greifen.
Webserver / plugin:// wird dann relevant, wenn ein manifest kontinuierlich nachgeladen werden muss.
Dies ist hier nicht der Fall.Genau - du musst an dem Inhalt auch gar nix ändern - bei dir sind sogar die Segment-URLs absolut definiert - du kannst den Inhalt einfach so nehmen wie er ist als Datei speichern und im Addon mit listitem.setpath den (absoulten!) Pfad übergeben
-
Habe jetzt hier nicht alles mitgelesen - nur die letzten ca. 20 Beiträge - aber kurze Frage: Seid ihr euch sicher, dass Playready geht/geht nicht wirklich nur damit zusammenhängt, ob es Playready >= 3.0 ist und nicht doch eher mit den PR Securitylevel SL3000, SL2000 (https://docs.microsoft.com/en-us/playread…/security-level) - das ist vergleichbar mit Widevine level 1/3. Wie ich darauf komme: Ich habe eine MiBox S die SL 3000 hat und eine Mecool KM9 pro die hat nur SL2000 - beide haben exakt die gleiche PR-Version nämlich 3.0.0.4016. Vielleicht entsteht die Konfusion auch, weil es SL3000 erst seit PR >= 3 gibt. Dass man eine PR-Client-Version >= 3 hat, bedeutet definitiv nicht automatisch, dass man auch SL3000 hat.
Wie kann man das rausfinden? inputstream.adpative erzeugt bei jedem License-Request im kodi-Ordner "cdm" eine *.challenge-Datei - der Inhalt sollte im Fall von Playready ein XML-String sein. Den kann man mal unter https://tools.axinom.com/decoders/LicenseRequest decoden lassen - wenn das geklappt hat gibt es dann dort dann "Security Level" mir dem entsprechenden Wert. Möglicherweise funktioniert Sky nur mit SL3000 - wie zum Beispiel auch Amazon 4k-Inhalte und @peak3d hatte es auch schon mal angemerkt (inputstream.*/Amazon Prime/Skygo für ANDROID). Möglicherweise checkt Sky aber auch die Hersteller-Zertifikate und akzeptiert einfach nicht alle ... Habe selbst kein Sky und kann es deshalb nicht selbst testen. -
@peak3d: Ja, wäre super, wenn es da in Zukunft eine andere Variante gibt - was du mit der "plugin://" -URLvorgeschlagen hast - wäre echt genial
edit: Ja - curl scheint clever genug zu sein, zu erkennen, dass es eine lokale Datei ist - im [definition='1','0']log[/definition] sieht das so aus:Code
Alles anzeigen2019-12-16 17:09:49.984 T:140066961729280 DEBUG: AddOnLog: InputStream Adaptive: Supported URN: urn:uuid:EDEF8BA9-79D6-4ACE-A3C8-27DCD51D21ED 2019-12-16 17:09:49.984 T:140066961729280 DEBUG: AddOnLog: InputStream Adaptive: Effective URL 2019-12-16 17:09:49.985 T:140066961729280 DEBUG: AddOnLog: InputStream Adaptive: Download /storage/.kodi/userdata/addon_data/plugin.video.joyn/tmp/f04a068d8923b201c65315a5a15c0625713c0fbf99f7ee796846e4d1b7673afd32a6dc1a1749866ce876d0be02f1d68a7d25f780b77d73183cb41d87417fbb2b.mpd.tmp finished 2019-12-16 17:09:49.985 T:140066961729280 INFO: AddOnLog: InputStream Adaptive: Successfully parsed .mpd file. #Streams: 2 Type: VOD, Download speed: 2092182.9967 Bytes/s 2019-12-16 17:09:49.985 T:140066961729280 DEBUG: CAddonSettings[inputstream.adaptive]: loading setting definitions 2019-12-16 17:09:49.985 T:140066961729280 DEBUG: CAddonSettings[inputstream.adaptive]: loading setting values 2019-12-16 17:09:49.986 T:140066961729280 DEBUG: CAddonSettings[inputstream.adaptive]: loading setting definitions 2019-12-16 17:09:49.986 T:140066961729280 DEBUG: CAddonSettings[inputstream.adaptive]: loading setting values 2019-12-16 17:09:49.986 T:140066961729280 DEBUG: AddOnLog: InputStream Adaptive: Entering encryption section 2019-12-16 17:09:49.989 T:140066961729280 DEBUG: AddOnLog: InputStream Adaptive: CDM version: 4.10.1582.1 2019-12-16 17:09:49.990 T:140066961729280 DEBUG: AddOnLog: InputStream Adaptive: cdm::OnInitialized: true 2019-12-16 17:09:49.990 T:140066961729280 DEBUG: AddOnLog: InputStream Adaptive: Searching PSSH data in FILE 2019-12-16 17:09:49.990 T:140066961729280 DEBUG: CurlFile::ParseAndCorrectUrl() adding custom header option 'connection: keep-alive' 2019-12-16 17:09:49.990 T:140066961729280 DEBUG: CurlFile::Open(0x7f63c0069760) https://cf.t1p-vod-playout-prod.aws.route71.net/origin/176215_a_psppfnin8fh_2019-8-2_13-6/a_psppfnin8fh.ism/dash/a_psppfnin8fh-audio_deu=160000.dash 2019-12-16 17:09:49.990 T:140066961729280 INFO: easy_acquire - Created session to https://cf.t1p-vod-playout-prod.aws.route71.net 2019-12-16 17:09:50.057 T:140068438522240 DEBUG: ------ Window Init (DialogBusy.xml) ------ 2019-12-16 17:09:50.199 T:140066961729280 DEBUG: AddOnLog: InputStream Adaptive: Download https://cf.t1p-vod-playout-prod.aws.route71.net/origin/176215_a_psppfnin8fh_2019-8-2_13-6/a_psppfnin8fh.ism/dash/a_psppfnin8fh-audio_deu=160000.dash finished, avg speed: 2089061.73byte/s, current speed: 7543.76byte/s 2019-12-16 17:09:50.200 T:140066961729280 DEBUG: AddOnLog: InputStream Adaptive: Initializing stream with KID: 76AEDFEDD1C14883AD0CA7D0ED955746 2019-12-16 17:09:50.272 T:140066961729280 DEBUG: AddOnLog: InputStream Adaptive: CDMMessage: 1 arrived!
@spacy: Eigentlich alle Streams die mit mit MPDs oder sonstigen "adaptive"-Manifests ausgeliefert werden, benötigen eine Verbindung zum Server um die Strreams abzurufen - das Manifest definiert sozusagen (meistens) nur, für welche Codecs/Bandbreiten die Streams wie bzw unter welcher URL abgerufen werden sollen (und daneben noch andere Sachen, wie z.B. Verschlüsselung etc) - manchmal sind die Daten auch direkt in der MPD.
Es gibt aber einen Unterschied: Wenn im MPD-Tag das Attribute type 'dynamic' ist, ist in diesem Manifest nicht die komplette Länge des Streams drin - da wird nachdem alle in diesem Manfest enthaltenen Streams abgerufen/abgespielt sind die Manifest-URL erneut abgerufen (deswegen funkioniert das auch mit lokalen Dateien nicht, weil der Inhalt der Datei immer der gleiche ist)
Wenn aber das Attribut type im MPD-Tag aber den Wert "static" hat, sind in diesem Manifest alle für das komplette Abspielen des Streams benötigten Informationen enthalten und der Inhalt kann auch als lokale Datei (o.g. Vorgehen vorausgesetzt) abgelegt werden.
Wenn ich dich richtig verstanden habe, sind bei dir die MPD-Daten in einer JSON-Response enthalten - die kannst Du ja einfach nehmen (also nur diesen Teil) und in einer Datei speichern. Kannst du mal ein Beispiel mit eine kompletten Response geben, dann kann ich dir (evtl ;)) sagen, ob es geht ... -
Hi ihr beiden,
weil ich das für mein Addon auch brauche, bzw. das MPD modifizieren muss kann ich vielleicht auch was beitragen bzw. fragen
mpd lokal liegen geht halt nicht, das liegt nicht am addon, sondern kodi.
Bin nicht sicher, ob man wirklich einen Proxy brauch - ich will das folgendermaßen machen
Szenario:
MPD-URL: https://mpd-host/mpd_path/1.mpd?parameter=paramaterwert
MPD-Inhalt:XML
Alles anzeigen<MPD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:cenc="urn:mpeg:cenc:2013" xmlns:mas="urn:marlin:mas:1-0:services:schemas:mpd" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd" type="static" mediaPresentationDuration="PT1H36M5.226666S" maxSegmentDuration="PT3S" minBufferTime="PT10S" profiles="urn:mpeg:dash:profile:isoff-live:2011,urn:com:dashif:dash264"> <Period id="1" duration="PT1H36M5.226666S"> <BaseURL>dash/</BaseURL> <AdaptationSet id="1" group="1" contentType="audio" lang="de" segmentAlignment="true" audioSamplingRate="48000" mimeType="audio/mp4" codecs="mp4a.40.2" startWithSAP="1"> <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"> </AudioChannelConfiguration> <!-- Common Encryption --> <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="B4536C0A-BA30-4667-B44F-BBBF024A4EE9"> </ContentProtection> <!-- PlayReady --> <ContentProtection schemeIdUri="urn:uuid:9A04F079-9840-4286-AB92-E65BE0885F95" value="MSPR 2.0"> </ContentProtection> <!-- Widevine --> <ContentProtection schemeIdUri="urn:uuid:EDEF8BA9-79D6-4ACE-A3C8-27DCD51D21ED"> </ContentProtection> <!-- Marlin --> <ContentProtection schemeIdUri="urn:uuid:5E629AF5-38DA-4063-8977-97FFBD9902D4"> <mas:MarlinContentIds> <mas:MarlinContentId>urn:marlin:kid:b4536c0aba304667b44fbbbf024a4ee9</mas:MarlinContentId> </mas:MarlinContentIds> </ContentProtection> <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/> <SegmentTemplate timescale="48000" initialization="a_p12dfjehbxk-$RepresentationID$.dash" media="a_p12dfjehbxk-$RepresentationID$-$Time$.dash"> <SegmentTimeline> <S t="0" d="96256" r="2"/> ... <S d="58368"/> </SegmentTimeline> </SegmentTemplate> <Representation id="audio_eng=157000" bandwidth="157000"> </Representation> </AdaptationSet> <AdaptationSet id="3" group="2" contentType="video" lang="en" par="16:9" minBandwidth="499000" maxBandwidth="8999000" maxWidth="1920" maxHeight="1080" segmentAlignment="true" frameRate="25" mimeType="video/mp4" startWithSAP="1"> <!-- Common Encryption --> <ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="B4536C0A-BA30-4667-B44F-BBBF024A4EE9"> </ContentProtection> <!-- PlayReady --> <ContentProtection schemeIdUri="urn:uuid:9A04F079-9840-4286-AB92-E65BE0885F95" value="MSPR 2.0"> </ContentProtection> <!-- Widevine --> <ContentProtection schemeIdUri="urn:uuid:EDEF8BA9-79D6-4ACE-A3C8-27DCD51D21ED"> </ContentProtection> <!-- Marlin --> <ContentProtection schemeIdUri="urn:uuid:5E629AF5-38DA-4063-8977-97FFBD9902D4"> <mas:MarlinContentIds> <mas:MarlinContentId>urn:marlin:kid:b4536c0aba304667b44fbbbf024a4ee9</mas:MarlinContentId> </mas:MarlinContentIds> </ContentProtection> <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/> <SegmentTemplate timescale="25" initialization="a_p12dfjehbxk-$RepresentationID$.dash" media="a_p12dfjehbxk-$RepresentationID$-$Time$.dash"> <SegmentTimeline> <S t="0" d="50" r="2881"/> ..... <S d="30"/> </SegmentTimeline> </SegmentTemplate> <Representation id="video_eng=499000" bandwidth="499000" width="512" height="288" sar="1:1" codecs="avc1.4D001E" scanType="progressive"> </Representation> <Representation id="video_eng=849000" bandwidth="849000" width="640" height="360" sar="1:1" codecs="avc1.4D001E" scanType="progressive"> </Representation> <Representation id="video_eng=1299000" bandwidth="1299000" width="640" height="480" sar="4:3" codecs="avc1.4D001E" scanType="progressive"> </Representation> <Representation id="video_eng=1899000" bandwidth="1899000" width="720" height="480" sar="32:27" codecs="avc1.4D001E" scanType="progressive"> </Representation> <Representation id="video_eng=2600000" bandwidth="2600000" width="1024" height="576" sar="1:1" codecs="avc1.4D001F" scanType="progressive"> </Representation> <Representation id="video_eng=2699000" bandwidth="2699000" width="1280" height="720" sar="1:1" codecs="avc1.4D001F" scanType="progressive"> </Representation> <Representation id="video_eng=3499000" bandwidth="3499000" width="1280" height="720" sar="1:1" codecs="avc1.4D001F" scanType="progressive"> </Representation> <Representation id="video_eng=6000000" bandwidth="6000000" width="1440" height="1080" sar="4:3" codecs="avc1.4D0028" scanType="progressive"> </Representation> <Representation id="video_eng=8999000" bandwidth="8999000" width="1920" height="1080" sar="1:1" codecs="avc1.4D0028" scanType="progressive"> </Representation> </AdaptationSet> </Period> </MPD>
... ist etwas gekürzt
Jetzt folgendes Vorgehen:
1. Nimm die MPD-URL bis zum letzten Pfad, d.h. ohne "Dateinamen" und Parameter - hier also https://mpd-host/mpd_path/
2. Setze bzw. ersetzte die erste BaseURL damit
2.1 es gibt noch keine BaseURL direkt unter dem MPD-Tag: dann einfach einen neuen Knoten mit der BaseURL erzeugen - wäre dann hier
2.2 es gibt schon eine BaseURL (wie in dem obigen Beispiel) - dann diese BaseURL nehmen und an die erzeugte anhängen - wäre dann in dem Beispiel also
2.3 es gibt schon eine BaseURL die mit http:// bzw. https:// beginnt- dann muss man gar nichts machenDanach kann man das erzeugte XML lokal speichern und kann mit listitem.setPath([PFAD]) setzen
Das funktioniert nicht bei Live-Streams bzw. wenn es einen <Location>-Tag gibt, dann braucht man tatsächlich einen Proxy. Das geht auch nicht in STRM-Files ... dort braucht man auf jeden Fall eine Remote-Adresse und lokale Dateien funktionieren nicht.
@peak3d: Korrigier' mich gerne - vielleicht funktioniert es bei mir nur "zufällig" ... Proxy finde ich halt etwas overkill