対応するHLS・M3U8動画をiPhoneへ保存。

HLS動画は、一つの分かりやすいファイルではなく、プレイリストと複数のメディアセグメントで配信されます。ALBAは対応プレイリストを検出し、利用可能な画質を表示して、許可されたメディアのオフライン保存を管理します。

一部の保管庫アカウント、検索、一括操作機能にはProが必要です。現在の制限と価格はApp内で確認できます。

自分が所有する、または配信元がダウンロードと保存を明示的に許可したメディアだけを扱ってください。利用可否はページ、形式、配信元の条件に依存し、ALBAはアクセス制御やDRMの回避を目的としません。

HLSページから一つのオフライン項目へ。

配信元とストリームが対応している場合、ALBAがプレイリストとセグメントの保存フローを管理します。

保存を許可されたプレイリストを検出

ダウンロードを明示的に許可する配信元を開くか、保存用に提供されたM3U8直接URLを使用します。ALBAは端末へ配信された対応メディアプレイリストまたはマスタープレイリストを検出します。

利用可能なバリアントを選択

マスタープレイリストに複数の異なるバージョンがある場合、解像度、帯域幅、想定容量を基準に画質を選びます。

保存、完了処理、再生

ALBAが対応セグメントを取得し、進捗を表示して、結果を保管庫へ最終保存します。対応する完了メディアはオフラインで開けます。

HLSとM3U8の意味

M3U8は、HTTP Live Streaming(HLS)で広く使われるプレイリスト形式です。マスタープレイリストは複数のバリアントを参照し、各メディアプレイリストは短い動画・音声セグメントを多数参照します。そのため、一つのセグメントURLをコピーしても完全なオフライン動画にはなりません。

配信元がダウンロードを明示的に許可した対応ストリームでは、ALBAがプレイリスト構造をたどり、配信元が用意したバリアントを選択し、必要なメディアを保存して保管庫項目として完了処理できます。最終的な結果は、配信元、コーデック、プレイリスト構造、端末の対応状況によって異なります。

  • 対応するマスター/メディアプレイリスト
  • 意味のある画質ごとのバリアント整理
  • 複数メディアセグメント全体の進捗表示
  • 対応時の一時停止・再開・再試行・起動後復元
  • 完了処理後のプライベート保管

HLSの保存に失敗する主な理由

プレイリスト形式のメディアは、直接ファイルより多くの要素に依存します。

一時的な配信URLが失効

プレイリストやメディアURLには短い有効期限が設定される場合があります。許可された配信元を開き直し、新しい保存用リソースを取得してください。

プレイリストの内容が変化

ライブまたは動的プレイリストではセグメントが追加・削除されます。オフライン保存には、対応する有限の並び、または安定した時点が必要です。

保護方式やコーデックが非対応

ライセンス型DRM、非対応の暗号化、一般的でないコーデック、分離された音声・動画トラックにより、完了処理や再生ができない場合があります。

HLS・M3U8 FAQ

技術的な疑問を分かりやすく説明します。

すべてのM3U8 URLをダウンロードできますか?

いいえ。ライブ配信、期限切れ、保護、破損、非対応、または配信元が保存を明示的に許可していないプレイリストは利用できません。

複数の画質が表示されるのはなぜですか?

対応マスタープレイリストには、解像度や帯域幅が異なる複数のバリアントが含まれる場合があります。ALBAは意味のある候補を整理し、配信元が提供するものから選択できるようにします。

DRMで保護されたHLSを保存できますか?

できません。ALBAはDRM、ライセンスシステム、アクセス制御を回避するためのものではありません。

HLSは保存完了まで時間がかかるのはなぜですか?

多数のセグメントを取得して検証し、対応する結果を保管庫へ最終保存する必要があるためです。ファイル容量、セグメント数、通信、端末性能が影響します。

配信元が提供する画質を選び、オフラインへ。

自分が所有するか、保存を許可された対応HLS/M3U8ソースにALBAを使用してください。

ALBAをApp Storeで入手