7

AVPlayer の KVO AVPlayerItemNewErrorLogEntryNotification を監視していますが、次のエラーが見つかりました。

  • errorStatusCode:-12645 errorDomain :CoreMediaErrorDomain errorComment: 内部エラー: 再起動が早すぎます (-1.4084s)

下の行が実際に何を意味するのか理解できません。

「内部エラー: 再起動が遅すぎます」

誰でもこの問題の根本原因を見つけるのを手伝ってくれますか?

4

2 に答える 2

10

長い .ts ビデオ ファイルが次のように応答する場合: -12645。

MPMovieErrorLogEvent クラスで MPMediaPlayer によって返されるエラー ステータス コードに関するドキュメントはありません。しかし、それらのいくつかは次のとおりです。

HTTP status - errorStatusCode - errorDomain - errorComment

400     -12666  CoreMediaErrorDomain    unrecognized http response 400  
401     -12937  CoreMediaErrorDomain    Authentication Error    
402     -12666  CoreMediaErrorDomain    unrecognized http response 402  
403     -12660  CoreMediaErrorDomain    HTTP 403: Forbidden     
404     -12938  CoreMediaErrorDomain    HTTP 404: File not found    
405     -12666  CoreMediaErrorDomain    unrecognized http response 405  
406     -12666  CoreMediaErrorDomain    unrecognized http response 406  
407     -12937  CoreMediaErrorDomain    Authentication Error    
409     -12666  CoreMediaErrorDomain    unrecognized http response 409  
...                 
415     -12666  CoreMediaErrorDomain    unrecognized http response 415  

500     -12666  CoreMediaErrorDomain    unrecognized http response 500  
501     -12666  CoreMediaErrorDomain    unrecognized http response 501  
502     -12666  CoreMediaErrorDomain    unrecognized http response 502  
503     -12661  CoreMediaErrorDomain    HTTP 503: Unavailable   
504     -12666  CoreMediaErrorDomain    unrecognized http response 504  
505     -12666  CoreMediaErrorDomain    unrecognized http response 505  

if long .ts video file respons  -12645  CoreMediaErrorDomain    No response for media file in 10 s  

video .ts file bitrate differ from m3u8 declaration     -12318  CoreMediaErrorDomain    Segment exceeds specified bandwidth for variant     

for live stream.playlist m3u8 did not change too long   -12642  CoreMediaErrorDomain    Playlist File unchanged for 2 consecutive reads     

if wrong host ip    -1004   kCFErrorDomainCFNetwork     -   

if wrong dns host name  -1003   kCFErrorDomainCFNetwork     -   

if bad formatted URL    -1000   kCFErrorDomainCFNetwork     -   

if invalid https/ssl request    -1202   kCFErrorDomainCFNetwork     -
于 2016-03-17T20:34:47.627 に答える
5

Apple の従業員によると、このエラー メッセージは次のことを意味します。

プレーヤーは、ライブ ストリームを再開しようとしたが、1.4 秒の素材しか利用できなかったと不満を漏らしています。ライブ プレイリストにはいくつのセグメントがありますか? 最近では、プレイリストに常に少なくとも 6 つのセグメントを含めることをお勧めします。唯一の効果は、十分なデータが得られるまでペイバックを遅らせることだと思います。

ソース: https://forums.developer.apple.com/thread/40791


エラーの原因は、m3u8 自体にある可能性が最も高いです。

ライブ プログラム (TV チャンネルなど) をストリーミングする場合、イベント データが利用可能になってから、エンコーダーがメディア セグメント (.ts) を作成してプレイリストに追加するまでに遅延が生じます。

これらのタイプのエラーは、playerItem 再生ヘッドの位置がバッファーの端にあり、新しいメディア セグメントがサーバー上で十分な速さで利用できない場合に生成されると想像できます。


これらのエラーをクライアント側で防止または処理する必要があります。

これらのエラーは として報告されinternal、AVPlayer が回復したように見えるため、内部で処理されていると考えて間違いありません。したがって、それらは単純なエラー報告として理解でき、無視することを選択できます。

それらを防ぎたい場合、これを行う唯一の方法は、手動でライブ バッファーのエッジを数秒戻すことです。

于 2016-06-03T09:15:22.533 に答える