Wenn du derzeit Media Source Extensions (MSE) in Chrome verwendest, kannst du nicht zwischen verschlüsselten und unverschlüsselten Streams wechseln. Dies ist in der MSE-Spezifikation eigentlich nicht untersagt. Die Einschränkung liegt vielmehr hauptsächlich in der Konfiguration der Medienpipeline zur Unterstützung von Encrypted Media Extensions (EME).
Bei MSE müssen Medienstreams mit einem Initialisierungssegment beginnen, das Informationen wie Codec-Initialisierungsdaten und Verschlüsselungsinformationen enthält. Normalerweise befindet sich das ‑Segment zu Beginn einer Mediendatei. Wenn Medien also über einen Download oder MSE an ein Medienelement angehängt werden, funktionieren sie einfach.
Das Problem tritt auf, wenn du versuchst, die Medienmerkmale während des Streams zu ändern. Wenn du die Medienmerkmale ändern möchtest, musst du ein neues Initiationssegment übergeben. Bei den meisten Merkmalen funktioniert das. Die Wiedergabe wird fortgesetzt. Eine Ausnahme bilden die Verschlüsselungseinstellungen. Die Verschlüsselungseinstellungen aus dem ersten Segments der Initialisierung geben nur an, ob die Streamsegmente verschlüsselt werden können. Das bedeutet, dass unverschlüsselte Mediensegmente in den Stream eingefügt werden können. Daraus folgt, dass für einen unverschlüsselten Stream mit nur einem einzigen verschlüsselten Segment Verschlüsselungsinformationen im Initiationssegment enthalten sein müssen. Daher sind für die Anzeigenbereitstellung auf YouTube Umgehungslösungen erforderlich, die für andere Plattformen nicht gelten.
Ab Chrome 58 ändert sich das. Du kannst jetzt im selben Stream zwischen verschlüsselten und unverschlüsselten Inhalten wechseln. Dadurch wird die Kompatibilität verbessert, da das Verhalten mit dem in Firefox und Edge übereinstimmt.
Es gibt jedoch einige Einschränkungen. Wenn du verschlüsselte Segmente in deinen Medienstreams erwartest, musst du zuerst die MediaKeys festlegen. Wie bisher können Sie HTTP und HTTPS nicht in derselben Quelle kombinieren.