source - video html5 blob



ブロブURLビデオをダウンロードする方法 (8)

URLが単純なmp4ファイルではない動画をダウンロードしたいのですが、そのURLはたとえばblobタイプです。

<video id="playerVideo" width="450px" autoplay="autoplay" height="338px" 
       style="height:100%;width:100%;" class="mejs-rai-e"
       src="blob:http://www.example.com/d70a74e1-0324-4b9f-bad4-84e3036ad354">
</video>

再生中のビデオをダウンロードするために使用できるChrome拡張機能またはソフトウェアはありますか。

https://code.i-harness.com


  1. 開発者ツールの[ネットワーク]タブでプレイリスト/マニフェストを見つけます。 それはそれがどのように機能するかであるため、常に1つあります。 フィルターに入力できるm3u8拡張子が付いている場合があります。
  2. youtube-dlツールに渡します。 YouTubeだけでなく、はるかに多くをダウンロードできます。 各セグメントを自動ダウンロードし、すべてをFFmpegと組み合わせてから、パーツを破棄します。 ネイティブからダウンロードしたいサイトをサポートしている可能性が高く、ステップ1を実行する必要さえありません。

BlobがF4Mマニフェストのデータでインスタンス化されている場合(Chromeの開発者ツールの[ネットワーク]タブを確認)、 https://n1njahacks.wordpress.com/2015/01/29/how-to-save-hds-flash-streams-from-any-web-page/ ://n1njahacks.wordpress.com/2015/01/29に投稿されたphpスクリプトを使用してビデオファイルをダウンロードできます https://n1njahacks.wordpress.com/2015/01/29/how-to-save-hds-flash-streams-from-any-web-page/

置くことによって:

  if ($manifest == '')
    $manifest = $_GET['manifest'];

前:

  if ($manifest)

クエリ文字列 ?manifest=[manifest url] を含むリクエストを使用して、Webサーバーで実行することもできます。

FTPクライアントを使用して、ダウンロードされたビデオファイルを取得し、スクリプトの後にクリーンアップすることをお勧めします(ダウンロードされたすべてのビデオパーツが残ります)。


URLの .m3u8 を取得するには、ページのソースを表示するか、Chromeの開発者ツールの[ネットワーク]タブを確認するか、 HDL / HLS Video Downloader などのプラグインを使用してさまざまな方法があります。

.m3u8 URLを手に入れたら、 ffmpeg を使用してビデオを次のようなファイルにダウンロードできます。

$ ffmpeg -i 'https://url/to/some/file.m3u8' -bsf:a aac_adtstoasc \
    -vcodec copy -c copy -crf 50 file.mp4

このプロセスは、ビデオがホストされている場所と方法によって異なります。 それを知っていると、質問にさらに詳しく答えることができます。

例として。 これは、Vimeoでblobリンク付きのビデオをダウンロードする方法です。

  1. ビデオプレーヤーiframeのソースコードを表示する
  2. mp4を検索
  3. トークンクエリでリンクをコピーする
  4. トークンの有効期限が切れる前にダウンロードする

ソースとステップバイステップの手順はこちら。


ほとんどのWebサイトで機能する一般的なソリューションを思いつきました。 私はこれをChromeでのみ試しましたが、この方法は他のブラウザでも機能するはずです。ただし、開発ツールはすべて同じです。

手順:

  1. 興味のあるビデオのあるページで、ブラウザーの開発ツール(通常は F12 、または Ctrl-Shift-I 、または右クリックしてポップアップメニューで[ 検査 ])を開きます。
  2. [ ネットワーク ]タブに移動して、ページをリロードします。 タブにはリクエストのリストが表示されます(最大で100件、またはそれ以上になる場合があります)。
  3. リクエストの名前を検索し、拡張子が .m3u8 のリクエストを見つけます。 それらの多くがあるかもしれませんが、おそらく最初に見つけるのは探しているものです。 playlist.m3u8 、任意の名前を付けることができます。
  4. リクエストを開き、[ ヘッダー] サブセクションの [リクエストURL] フィールドに リクエスト の完全なURLが表示され ます 。 コピーしてください。
  5. m3u8からビデオを抽出します。 それを行うには多くの方法がありますが、私が試したものを提供しますが、「m3u8からビデオをダウンロードする」ことでもっとグーグルで検索できます。
    • オプション1. VLCプレーヤーがインストールされている場合、「 ネットワークストリームを開く... 」メニューオプションを使用してURLをVLCにフィードします。 ここではこの部分の詳細については説明しませんが、多くの場所に多くの包括的なガイドがあり here 。たとえば、 here 。 ページが機能しない場合は、「vlc download online video」でいつでも別のページをグーグル検索できます。
    • オプション2。 コマンドラインを使用する場合は、 この スーパーユーザーの 質問の 指示に従って、FFMPEGまたは独自のスクリプトを使用します。

単純に右クリックしてBlobをmp4として保存できます。

ブラウザベースのビデオ/オーディオ録音で遊んでいたとき、出力ブロブを直接ダウンロードできました。


HLS Downloader Google Chrome拡張機能を使用して、M3Uプレイリストへのリンクを取得します。 ブラウザバーのアイコンには、現在のWebページで見つかったプレイリストの数が表示されます。 アイコンをクリックすると、プレイリストリンクのリストが表示され、リンクの横にあるコピーボタンを使用してコピーできます。

次に、 youtube-dl プログラムを使用してファイルをダウンロードします。

youtube-dl --all-subs -f mp4 -o "file-name-to-save-as.mp4" "https://link-from-Google_Chrome-HLS_Downloader_extension"

コマンドラインオプションの説明:

  • -f mp4 =出力形式mp4

  • --all-subs =すべての字幕をダウンロードする

  • -o "file-name-to-save-as.mp4" =ビデオを保存するファイルの名前。

  • " https:// link-from-Google_Chrome-HLS_Downloader_extension " =これは、HLS Downloader拡張機能からコピーしたプレイリストへのリンクです。

youtube-dlで 常に同じ構成オプションを使用する場合は、 youtube-dl 構成オプションを 確認することをお勧めします。これにより、入力の手間が省けます。

Githubのプロジェクトページで 見つけることができるコードを見たい場合、HLSダウンローダー拡張機能は無料で、MITライセンスの下でオープンソースです。


.m3u8 ファイルが見つからない場合は、いくつかの異なる手順を実行する必要があります。

1)ネットワークタブに移動し、 Media で並べ替え

2)ここに何かが表示され、最初のアイテムを選択します。 私の例では、 mpd ファイルです。 次に、リクエストURLをコピーします。

3)次に、手順2のURLを使用して、お気に入りのコマンドラインツールを使用してファイルをダウンロードします。

youtube-dl -f bestvideo+bestaudio https://url.com/destination/stream.mpd

4)エンコーディングによっては、オーディオファイルとビデオファイルを結合する必要がありますが、これはビデオごとのビデオに依存します。





blob