web-dev-qa-db-ja.com

ストリーミングビデオのダウンロードはどのように機能しますか?

Firefoxと Video DownloadHelper プラグインを使用して、YouTubeなどからビデオをダウンロードします。

これらのプラグインとサイトはどのようにしてこれらのビデオのダウンロードリンクを自動的に取得しますか?

10
Ankit Soni

これを実現するには、少なくとも2つの方法があります。

  1. ソフトウェアはダウンロードストリームを傍受し、検出したビデオを保存します(これが最も可能性の高いシナリオです)

  2. ソフトウェアは単にそれをウェブブラウザのキャッシュからコピーします(不可能ではありませんが、これは2つの理由ではるかに少ない可能性があります:1。、サポートされているすべてのウェブブラウザとおそらく特定のビデオプレーヤーの特定の知識が必要です。2。、すべてのビデオではありませんこれはビデオプレーヤーに依存するため、ディスク全体に保存されます)

    編集:3番目と4番目の可能性を追加...

  3. ソフトウェアは、ビューアプラグインと同じダウンロード要求を作成してビデオを要求し、受信したデータを保存します(これは、上記の最初の可能性とは異なり、リバースエンジニアリングが必要になる場合があります。 Flashで記述された映画プレーヤー、またはURIが実際にどのように構築されたかを判断するためのパケットスニッフィング)

  4. このソフトウェアは、ビデオプレーヤーのデフォルトハンドラーを置き換えます(または、Flash Playerハンドラーを置き換えて、YouTube.com、Video.Google.comなどの認識しているWebサイトでは暫定ハンドラーとして機能しますが、WebサイトとFlashの場合は特に認識されないアニメーションコンテンツは、作業を以前のFlash Playerプラグインに渡して、ユーザーにとってより「透明な」効果を作成します)

5

YouTubeには、動画ごとに一意のURLがあります。一部のサイトでは、YouTubeビデオを MP4 または同様のビデオファイル拡張子に変換するオンラインスクリプトを提供しています。そのスクリプトは通常、ビデオをFFMPEGサーバーにダウンロードしてから、MP4またはその他のサポートされている形式に変換し、そのストリーミングビデオをダウンロードできるようにします。

2
Ryu

youtube-dl というツールがあります。このツールは、ビデオファイルとその場所に関する必要な情報をすべて抽出し、ダウンロードします( RTMPDump または直接)ユーザーの仕様に応じて(多くのYouTubeビデオは複数の形式で利用できます)。

Pythonソースが利用可能であり、Linux、Windows、Mac OS Xで実行する必要があります(Pythonインタープリターがインストールされている場合)。

これがほとんどのダウンローダーの仕組みだと思います。

0
user55325