blob urlビデオをダウンロードする方法[終了]


219

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拡張機能やソフトウェアはありますか?


@cdlvcdlvありがとうございます!多くのツールをテストした後、それが私の特定のケースで機能したものでした!
felipeptcho 2018年

@felipeptchoどういたしまして。答えによって他の人を助けることができることを見てうれしいです。
cdlvcdlv 2018年

2
Chromiumベースのブラウザー用のHDS / HLS Video Downloader拡張機能を参照してください。
georgeawg

13
なぜこの質問に対するすべての答えは、ファイル拡張子がであると想定するのです.m3u8か?それは質問で決して指定されませんでした。
numbermaniac

@SidD様、この問題を解決できましたか?その場合、どのソリューションが効果的かを教えていただけませんか?
hagrawal

回答:


230

私はほとんどのウェブサイトで動作するはずの一般的な解決策を思いついたばかりです。私はこれをChromeでのみ試しましたが、この方法は他のどのブラウザでも機能するはずです。DevToolsはすべて同じです。

手順:

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

49
オプション3は、youtube-dlで再生リストのURLを直接使用する方法です。非常に簡単です。
Arnaud Tournier

4
youtube-dlはmpdファイルでも機能します。
Gibado、

2
@patricKリファラーを追加してみてください。例:youtube-dl --add-header Referer: https://www.google.com/referer-page https://google.com/video.m3u8
Searene

1
ネットワークモジュールの検索バーを開いて「m3u8」キーワードを検索するにはどうしたらよいでしょうか。
周XF

1
オプション4:JDownloader 2を使用してプレイリストURLをダウンロードします。私の意見では、これが最も簡単な方法です。
Robin Hartmann

50

HLSダウンローダーの 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ダウンローダー拡張機能からコピーしたプレイリストへのリンクです。

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

Githubのプロジェクトページにあるコードを確認したい場合は、HLSダウンローダー拡張はMITライセンスの下で無料でオープンソースです。


これは私の場合を除いて本当にうまくいきますが、MP4には音がありませんでしたか?これを解決する方法はありますか?
クリストファーD.エマーソン

2
私は彼のことが起こったことがありません。それは、ダウンロードしているファイルのものでなければなりません。mp4標準は複数のオーディオトラックをサポートしていると思います。別のオーディオトラックがないこと、および最初のトラックが無音であることを確認します。
frederickjh

1
大伸張!m3u8ファイルと海峡ブロブファイルを使用して、すべての実行を自分で実行する方がはるかに簡単です。しかし、YouTubeのことは何も必要ありませんでした。HLSダウンローダーはビデオファイルを直接提供します。
Justin Emlay

オプション内に-xを追加してみてください
サーフォンバーカー

私の場合、TwitterでHLSダウンローダーを試してみましたが、@ Justinが言ったように機能しました。ビデオファイルを直接提供しました。しかし、@ Vladが提案した他の回答(基本的にすべての手順を手動で行う)でも同じ結果(つまり、作業.MP4ファイルを取得)を試しました。
グウィネス・ルウェリン

27

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

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

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

ソースとステップバイステップの説明はこちら。

ここに画像の説明を入力してください


2
この方法は、ファイルタイプが.mp4urlない場合でもうまく機能します。ファイルのヘッダーを確認して名前を変更するだけです。
eapo 2017年

25

これは私がそれを「ダウンロード」する方法です:

  1. inspect-elementを使用して、M3U再生リストファイルのURLを識別します
  2. M3Uファイルをダウンロードする
  3. VLCを使用してM3Uファイルを読み取り、ビデオをストリーミングしてMP4に変換する

Firefoxでは、M3Uファイルはapplication / vnd.apple.mpegurlタイプとして表示されました

ここに画像の説明を入力してください

M3Uファイルの内容は次のようになります。

VLC Medial Playerを開き、Media => Convertオプションを使用します。(保存された)M3Uファイルをソースとして使用します。

ここに画像の説明を入力してください


3
すばらしいヒントです。m3u8ファイルをダウンロードする必要はないようです。外部URLをソースとして貼り付けることができます。

[ネットワーク]タブには、[メディア]の2番目のタブがあります。数個のアイテムからm3u8ファイルを取得する方が簡単です。
pcarvalho

19

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

.m3u8のURLが手元にあれば、次のようにffmpegしてビデオをファイルにダウンロードできます。

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

11

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

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

メディアで並べ替え

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

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

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

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


10

私はすでに他のいくつかのウェブサイトにこれを投稿しましたが、なぜかそれをstackoverflowでみんな/ギャルと共有しないでください。

  1. FirefoxブラウザにVideo DownloadHelper拡張機能をインストールします。
  2. DownloadHelperをアクティブにして、ダウンロードするビデオを含むWebページに移動します。
  3. ビデオがストリーミングされたら、DownloadHelperアイコンをクリックします。現在のビデオで利用可能なすべてのファイル形式のリストが表示されます。
  4. ダウンロードしたいファイル形式までスクロールします
  5. 右側に矢印が表示されます
  6. その矢印をクリックして、現在のビデオと選択したフォーマットに関する詳細情報を取得します
  7. その矢印の端に表示されたウィンドウから、下にスクロールして「詳細」を選択します
  8. これで、現在のビデオと選択した形式に関するすべての詳細がわかりました。こんな感じです。

ヒットの詳細⊗_needsAggregate _needsCoappアクションビットレートチャンク化descrPrefix durationFloat拡張フレームID fromCacheグループ
hls id isPrivate長さmasterManifest mediaManifest originalId リファラー サイズステータスタイトルtopUrl url urlFilename

  1. 次に、そのHit Detailsでリファラーの詳細を確認します。それはあなたが望むURLです。それをコピーして、お気に入りのダウンローダーに貼り付けます。

9
  1. デベロッパーツールの[ネットワーク]タブでプレイリスト/マニフェストを見つけます。そのように機能するため、常に1つあります。フィルターに入力できるm3u8拡張子がある場合があります。
  2. それをyoutube-dlツールに渡します。YouTube以外にもダウンロードできます。各セグメントを自動ダウンロードし、FFmpegとすべてを組み合わせて、パーツを破棄します。ネイティブからダウンロードしたいサイトをサポートしている可能性が高く、ステップ1を実行する必要すらありません。
  3. 頑固なサイトを見つけて403エラーが発生したら... Telerik Fiddlerが助けになりました。ローカルプロキシとして機能するため、送信されたもの(ビデオファイルなど)をキャッチして保存できます。SpotifyのようなDRMコンテンツでない限り、見たり聞いたりできるすべてのものをダウンロードできます。

2
youtube-dlをどのように使用しますか?ただyoutube-dl https://....m3u8"
Aziz Javed

また、これは非公開の動画でも機能しますか?
Aziz Javed

@AzizJaved aye、まさにその通り。私はそれをプライベートビデオでテストしていませんが、それらがどこにあるかのページを見ることができれば、それらはパブリックビデオとまったく同じように機能します。重要なのは、ブラウザに表示される内容です。表示できる場合は、コピーできます。シンプル!😉
グウィネスLlewelyn

暗号化されたHLSビデオのダウンロードに関する記事が欲しいですか?基本的にはステップ3ですが、tsセグメントを復号化して結合するためのffmpegを使用します。
Firsh-LetsWP.io

0

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

置くことによって:

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

前:

  if ($manifest)

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

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


-27

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

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


それは可能ではないと思います。ダウンロードしているブラウザを共有できますか?
海賊X

私はChromeを使用しましたが、ローカルマシンで行われたwebrtcビデオ録画を参照していました。Web BLOBの場合、手順が異なる場合があります。
pseudozach

1
これは通常の動画では機能しますが、ブロブでは機能しないようです。
TankorSmash 2018年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.