Ich verwende HTML5 Media source extensions (MSE), um ein Video mit DASH zu streamen. Ich habe meine Mediensegmente mit MP4Box aus einer MP4-Datei mit zwei Videospuren erstellt. Was ich habe, ist ein einzelnes Initialisierungssegment mit moov->sidx
Boxen und mehreren Mediensegmenten moof->mdat
, die beide Videospuren enthalten. Wenn ich sie an die sourceBuffer
mit appendBuffer
Funktion, MSE decodiert und zeigt nur die erste Videospur (ich nehme an, dass die Daten von der zweiten Videospur einfach verworfen wird).Ist es möglich, zwischen Videospuren in HTML5 MSE zu wechseln?
Hier sind die relevanten Teile von meinem Code:
sourceBuffer = mediaSource.addSourceBuffer(stats.mimeType); // mime type: video/mp4
...
// after downloading mediasegment append its contents 'data' to sourceBuffer
sourceBuffer.appendBuffer(new Uint8Array(data));
Also meine Frage ist, ist es möglich, die sourceBuffer so zu steuern, dass der Client die Spur zu dekodieren wählen können? Ich nehme an, dass das Aufteilen der Videospuren auf verschiedene Adaptionssätze (Erstellen separater mp4-Dateien mit jeweils einer einzelnen Videospur) eine Lösung sein könnte, aber ich bin nicht an diesem Ansatz interessiert.
Danke Jungs.