web-dev-qa-db-ja.com

サーバーに表示されているダッシュビデオファイルをダウンロードする方法

https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps.mpd のようなmpdファイルを指定すると、サーバーに保存されているすべてのDashファイルを簡単にダウンロードできますか?サーバー上の静的コンテンツです)。つまり、ダウンロードしたコンテンツを提供するHTTPサーバーを実行し、Dashプレーヤーに向けて同じビデオを再生できるようにする必要があります。

youtube-dlは、Dashパッケージを提供していないようです。ブラウザのようにcurlを使用してXHRリクエストを実行することもできますが、もっと簡単な方法があるといいのですが。

enter image description here

3
Peter Tseng

サーバーに保存されているセグメントをダウンロードするプロジェクトを見つけました: https://github.com/Viblast/dash-proxy

私は自分のためにいくつかのことを修正するためにそれをフォークする必要がありました: https://github.com/elv-peter/dash-proxy

2
Peter Tseng

ホイールを開発する必要はありません!

壮大なツールyoutube-dlは、数百ものプラットフォーム/プロトコル/ etcだけでなく、MPEG DASHおよびApple HLSなどなど!非常に頻繁に更新/バグ修正

楽しんで!

http://rg3.github.io/youtube-dl/

PS .:フラグメントを保持したい場合-オプションを使用してください

--keep-fragments                 

ダウンロードが終了した後、ダウンロードしたフラグメントをディスクに保存します。フラグメントはデフォルトで消去されます

更新:

プレイリストには、(ビデオ帯域幅に基づいて)たくさんのオプションがあります。例:

youtube-dl.exe -F https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps.mpd
[generic] bbb_30fps: Requesting header
WARNING: Falling back on generic information extractor.
[generic] bbb_30fps: Downloading webpage
[generic] bbb_30fps: Extracting information
[info] Available formats for bbb_30fps:
format code                 extension  resolution note
bbb_a64k                    m4a        audio only DASH audio   67k , m4a_dash container, mp4a.40.5 (48000Hz)
bbb_30fps_320x180_200k      mp4        320x180    DASH video  254k , mp4_dash container, avc1.64000d, 30fps, video only
bbb_30fps_320x180_400k      mp4        320x180    DASH video  507k , mp4_dash container, avc1.64000d, 30fps, video only
bbb_30fps_480x270_600k      mp4        480x270    DASH video  759k , mp4_dash container, avc1.640015, 30fps, video only
bbb_30fps_640x360_800k      mp4        640x360    DASH video 1013k , mp4_dash container, avc1.64001e, 30fps, video only
bbb_30fps_640x360_1000k     mp4        640x360    DASH video 1254k , mp4_dash container, avc1.64001e, 30fps, video only
bbb_30fps_768x432_1500k     mp4        768x432    DASH video 1883k , mp4_dash container, avc1.64001e, 30fps, video only
bbb_30fps_1024x576_2500k    mp4        1024x576   DASH video 3134k , mp4_dash container, avc1.64001f, 30fps, video only
bbb_30fps_1280x720_4000k    mp4        1280x720   DASH video 4952k , mp4_dash container, avc1.64001f, 30fps, video only
bbb_30fps_1920x1080_8000k   mp4        1920x1080  DASH video 9914k , mp4_dash container, avc1.640028, 30fps, video only
bbb_30fps_3840x2160_12000k  mp4        3840x2160  DASH video 14931k , mp4_dash container, avc1.640033, 30fps, video only (best)

ここで、すべてのビットレートのすべてのセグメントをダウンロードする場合は、魔法のオプションを使用してみてください。

--all-formats

または、--formatオプションを使用して1つずつ実行することもできます。例:

youtube-dl.exe --format bbb_30fps_320x180_200k --keep-fragments 
5
Alex X.

誰かがたまたまこれを行うためのツールを作成していない限り、実際に簡単に利用できる方法は実際にはないかもしれません。

DASHストリームには通常複数のABR(アダプティブビットレート)レンディションがあり、サーバー上の元のビデオは実際にはサーバーまたはCDN上の複数の異なるビットレートバージョンに格納されることを覚えておく価値があります。

通常のプレーヤーは、ビデオの各チャンクまたはセグメントを、デバイスタイプと現在のネットワーク状態に最も適したビットレートバージョンから選択します。

したがって、元のサーバーにあったものを複製したい場合は、ビデオの使用可能なすべてのビットレートバージョンからすべてのセグメントをダウンロードするクライアントを作成する必要があります。または、最高品質のバージョンをダウンロードして、自分で他のビットレートにトランスコードします。

DASHストリームを実際に別の場所に提供するには、サーバー上の正しいURLを指すようにマニフェストを更新する必要もあります。

最後に、ファイルを共有する権限があること、およびファイルが暗号化されていないことを確認する必要があります。この場合、クライアントと共有できない可能性があります。

1
Mick