Http-live-streaming: EXT-X-DISKONTINUITÄT tag macht alle Segmente danach nur noch audio

Ich Spiele, HTTP-Live-Streaming auf die iOS-Geräte-Familie, mit der Apple-AVPlayer-Bibliothek, die auf iOS 5 und 6.

Seit ich Spiele, Werbung mid-roll, zwischen Inhalte-clips, ich bin mit dem #EXT-X-DISKONTINUITÄT-tags, wie vorgeschlagen, durch die großartige person, die halfen, die Antwort der vorherigen Frage.

Dieser Arbeit für eine einzige bitrate, aber ich bin immer Probleme nur bei einer Variante playlist mit Kind playlists für mehrere Bitraten. Ich bin immer ein schwarzer Bildschirm mit audio nur nach den ersten Diskontinuität tag, und es nie wieder erholt, auch nach der ad ist vorbei. (Ich kann hören, die Anzeige).

Dieser wurde getestet und reproduziert, auf einem iPhone 4, 4S, 5 und iPod Touch 4. gen. Das iphone 4 ist auf iOS 5, der rest sind iOS 6. Es passiert die meiste Zeit, aber nicht jedes mal. Aber sicher, will ich betonen, dass das passiert nur, wenn meine Variante playlist enthält mehr als ein Kind bitrate playlist.

Hier ist ein Beispiel einer playlist, die ich benutze (das ist die 400kbps version, und ich habe eine
200 und 800kbps version mit entsprechenden Wiedergabelisten, die genau so Aussehen wie die folgende, ersetzen Sie alle '400 s mit '200' und die '800'. (Naja, die eigentliche playlist ist länger, aber dies ist ein Beispiel).

#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:10,
400-clipA-0.ts
#EXTINF:10,
400-clipA-1.ts
#EXTINF:5,
400-clipA-2.ts

#EXT-X-DISCONTINUITY
#EXTINF:10,
400-advert0.ts
#EXTINF:3,
400-advert1.ts

#EXT-X-DISCONTINUITY
#EXTINF:10,
400-clipB-0.ts
#EXTINF:10,
400-clipB-1.ts
#EXTINF:5,
400-clipB-2.ts

#EXT-X-ENDLIST

Und ich habe die Variante Playliste wählt zwischen dem Kind playlists:

#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=240000
clips-200.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=440000
clips-400.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=840000
clips-800.m3u8

Hinweis, dass was passiert (~75% der Zeit) ist, dass ich beim spielen dieser, wird das video gehen schwarz schon nach der ersten Diskontinuität tag (direkt vor der ad) und nie wieder, obwohl ich hören kann, den Ton der Anzeige. Zum Beispiel, wenn ich meine Variante-Wiedergabeliste mit nur einem einzigen bitrate Variante:

#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=280000
clips-200.m3u8

Dann bekomme ich nicht dieses problem überhaupt! Sehr seltsam. Außerdem, wenn ich alle entfernen die Diskontinuität tags und immer noch halten die anderen Bitraten in der Variante playlist, dann funktioniert es (meist), aber gelegentlich wird es überspringen eines ganzen .ts-Datei aus irgendeinem Grund, wahrscheinlich, weil es braucht diese Diskontinuität tags.

Außerdem, und das kommt häufiger vor, als Spiele ich die Dateien direkt auf Amazon Cloudfront, im Vergleich zu aus dem Amazon S3-bucket, wo Sie sich ursprünglich befinden.

Einige andere Infos, die vielleicht helfen: Meine original-Dateien (clips und Werbung), sind alle .mov-Dateien aus einem iPhone 4, mit der gleichen Auflösung auf jedem. Mein Ausgänge .ts-Dateien) erzeugt dann aus diesen -- für jeden bitrate-Klasse, ich habe den gleichen encoding-Einstellungen über die clips und anzeigen. Ausgänge sind alle die gleiche Auflösung und die framerate, sonst.

Eine Letzte Sache, die mediasegmentvalidator von Apple nicht geben Warnungen, wenn ich es verwenden, um zu überprüfen.

Ich wirklich zu schätzen jede Hilfe, die Euch anbieten können! Dies ist ein verblüffendes problem für mich 🙁

Ich bin mit dieser extact problem. Haben Sie jemals finden eine Abhilfe/Lösung?

InformationsquelleAutor JimTheFoot | 2012-10-26

Schreibe einen Kommentar