をリフレッシュしていない私はStackOverflowの上のすべての同様の質問を検索、しかし、私の問題に答えるために何を発見しました。HTTPライブストリーミングのiOSは、インデックス.m3u8ファイル
私は私のiPadに私のLinuxコンピュータ(openSUSEの12.1)からいくつかの映画をストリーミングしようとしています。私はffmpegでそれらを変換し、自分のセグメンタでセグメント化し、apache2サーバーのwwwフォルダに配置し、.m3u8プレイリストの中に配置します。ここまで - すべてが大丈夫です!
私は映画(タグを含むHTMLページを)再生を開始し、それがうまく演じているが、プレイリストの最初のロードがロードされている唯一の最初の5つのセグメント、。 HTMLページ(ブラウザ、またはプレイヤー - アイデアなし)は、プレイリストをサーバーからリフレッシュ(再ダウンロード)しません。 (:D私は、少なくとも最初の5つのものを見ることができるので)
#EXTM3U
#EXT-X-MEDIA-SEQUENCE:19
#EXT-X-TARGETDURATION:8
#EXTINF:8,
http://192.168.1.4/segment_19.ts
#EXTINF:8,
http://192.168.1.4/segment_20.ts
#EXTINF:8,
http://192.168.1.4/segment_21.ts
#EXTINF:8,
http://192.168.1.4/segment_22.ts
#EXTINF:8,
http://192.168.1.4/segment_23.ts
セグメントは、プレイリストファイルと同じフォルダに、セグメントが正しくエンコードされています。ここに私の.m3u8のプレイリストファイルは、次のようになります。私はまた、apacheサーバーからaccess_logを見て、私はプレイリストの最初の負荷を確認してから、結果として5つのセグメントすべてをロードし、そこまで停止します。 m3u8ファイルをさらにリフレッシュしようとしません。それが重要な場合は
- のiOS 5.0、iPadの2、のWi-Fi版のみ、
アイデアをジェイルブレイクしませんか?私は間違って何をしていますか?
それが唯一のアイデアだが、playlist.m3u8ファイルが要求されたときにHTTPヘッダーを有効期限の値は何ですか?おそらくユーザーエージェントがキャッシュしていますか? – joerick
こんにちは、良いアイデア。私はhttpd.confファイルをチェックし、Expire設定にはすべて含まれています。誰もいませんでした。だから私は排他的に設定します。 ExpireByDefaultは「今」 は、だから今、それは常に正常に期限切れにする必要があります。 あなたからのこの入力のため、私はWireSharkとの通信を確認することにしました。ここに私の観察がある: 1)それは部分的なデータで最初の私のプレイリストを取り出す。条件はif-modified-afterです。これは変更をチェックすることを意味します。 2)サーバーが変更されたため(最初にダウンロード:) :) 3)iPadはすべてのtsファイルをダウンロードして停止します 4)iPadからの質問はありません。 アイデア? –
iPadを除外するには、それをサポートするVLCプレーヤーの夜間バージョンでHLSを見てみてください。メッセージウィンドウを開いて、VLCがプレイリストファイルを正しく読み込んでいるかどうかを確認します。それがVLCで動作するならば、それはiPadと関係があります。 VLCナイトリーのいくつかが壊れているので、ここでクライアントを試してみてください - http://demo.anevia.com:8080/ott/vlc.php – FiddleMeRagged