Adobe HLS/HDSの動画保存1 (基本概念)

(HDS動画保存)筆者が使っている動画配信サイトでAdobe HLS/HDS動画を保存したい事があったので方法をメモしておきます。

一部の動画配信サイトでは、「Adobe HLS(HTTP Live Streaming)」や「Adobe HDS(HTTP Dynamic Streaming)」で動画配信を行っています。HDS/HLSの詳しい仕組みは省きますが、大きい動画をセグメントに分割し、それをHTTPで配信してブラウザ上で再生するというものです。

そのままセグメントをダウンロードすると、動画再生アプリで再生できないので、専用のツールを使って結合します。

注意事項

  • 本記事は技術的検証結果を記載するものであり、動画ダウンロードの際は著作権を遵守してください。
  • これによるトラブルがあった場合でも、当サイトでは責任を負いません。
  • 個別の動画ダウンロード方法のお問い合わせは一切お受けしません。
  • コマンドプロンプトや各ツールの詳しい使い方はご自身でお調べになってください。

そもそもどうやってAdobe HLS/HDS配信が採用されているサイトと判断するか?

特にこれといった見分け方はありません。筆者の場合は、動画ダウンロードに対応したダウンロードマネージャを使ってダメな場合、試しにURL SnooperでWebサーバから来ている情報を見てみて、何やらセグメント分けしたデータが落ちてきているようであればAdobe HLS/HDSと判断します。

また、Adobe HLS/HDSの区別に関しては、URL Snooperで見えているURLに「.m3u8」となっているものが含んでいればHLS、「.f4m」となっているものが含んでいればHDSと判断します。

大まかな流れ(HLS/HDS共通)

1.URL Snooperを使って、playlist(m3u8), manifestファイル(f4m)のURLを特定する。
2.ffmpegやAdobe HDS Downloaderを使って動画を保存する。

Adobe HLSの保存

  • ffmpegを入手します。
  • URL Snooperを起動して、Webブラウザ上から保存したいHLS動画を再生します。この時、末尾が「.m3u8」となっているURLを控えます。m3u8ファイルの実体は、セグメント一覧が記述されているファイルになります。
  • コマンドプロンプトからffmpegを起動し、以下のコマンドを入力します。

    ffmpeg -i “http://…/playlist.m3u8” -c copy output.mp4

Adobe HDSの保存

  • Adobe HDS Downloaderを入手します。
  • URL Snooperを起動して、Webブラウザ上から保存したいHDS動画を再生します。この時、末尾が「.f4m」となっているURLを控えます。
  • コマンドプロンプトからAdobe HDS Downloaderを起動し、以下のコマンドを入力します。
    “Malformed AAC bitstream detected:・・・”という警告が出た場合、”-bsf:a aac_adtstoasc”オプションを追加する必要があります。

    AdobeHDS –manifest “http://…/manifest.f4m” –outfile “output.flv” –delete

当記事の作成にあたり参考にしたサイト

コメント

タイトルとURLをコピーしました