2016-07-13 10 views
0

私はこのm3u8ファイルを持っています。 #EXT-X-TARGETDURATIONは8です。最初のセグメントの#EXTINFは6です。avplayerがこのm3u8に切り替えると、次のエラーが発生しました。ライブプレイリスト、#EXT-X-TARGETDURATIONと#EXTINFは等しくなければなりませんか?

エラードメイン= CoreMediaErrorDomainコード= -12312 \ "メディアエントリ時間値 は、MEDIA-SEQUENCE 477000については、前のプレイリストと一致していません:8.000000 6.000000 \ VS" のUserInfo = {NSDescription =メディアエントリの時間値がない MEDIAシーケンス477000のための前のプレイリストに一致する: 6.000000対8.000000}」

#EXTM3U 
#EXT-X-MEDIA-SEQUENCE:477000 
#EXT-X-ALLOW-CACHE:NO 
    #EXT-X-VERSION:2 
    #EXT-X-FAXS-CM:URI="xxxxxxxx" 
    #EXT-X-KEY:METHOD=xxxxxxx 
    #EXT-X-TARGETDURATION:8 
    #EXTINF:6, 
    477000.ts 
    #EXTINF:8, 
    477001.ts 
    #EXTINF:8, 
    477002.ts 
    #EXTINF:8, 
    477003.ts 
    #EXTINF:8, 
    477004.ts 
    #EXTINF:8, 
    477005.ts 
    #EXTINF:8, 
    477006.ts 

質問ライブプレイリストに あり、各セグメントの#EXT-X-TARGETDURATIONと#EXTINFは等しくなければなりません!できますこのルールを定義するためにアップルからのあらゆる文書を見つけることはできません。このドキュメントでは、
Lie Playlistのサンプルはすべて同じです。

答えて

0

Wether LiveまたはVODの場合、EXT-X-TARGETDURATIONは、プレイリスト内のセグメントの最大再生時間がと指定しています。 EXTINFで指定された実際の時間は、それより短くてもかまいません。 HLS草案[1]で、

EXT-X-TARGETDURATIONタグは、最大メディアセグメント の持続時間を指定します。プレイリスト ファイル内の各メディアセグメントのEXTINF期間は、最も近い整数に丸められた場合、目標期間までは 以下でなければならない(MUST)。より長いセグメントは再生停止を引き起こし、 その他のエラーを引き起こす可能性があります。

私はエラーに読む方法

MEDIA-SEQUENCE 477000については、前のプレイリストと一致していません

メディアエントリの時間値:8.000000対6.000000

はある特定のためのEXTINFことセグメント番号477000、477000.tsのセグメントであり、これは前のプレイリストでは8.000000であり、切り替えられたばかりのプレイリストでは6.000000であった。 AFAIKには、それらの期間が同等であることを要求する規制はありません。たぶん、プレーヤーは何らかの理由でこれを処理できません。

AppleのMediaStreamValidator [2]コマンドラインツールを使用して、HLSストリームの適合性をテストできます。ストリームに含まれる可能性のある問題がすべて表示されます。

[1] https://tools.ietf.org/html/draft-pantos-http-live-streaming-19#section-4.3.3.1

[2] https://developer.apple.com/library/ios/technotes/tn2235/_index.html

関連する問題