Est-il possible, étant donné un fichier mpd comme https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps.mpd , de télécharger facilement tous les fichiers Dash stockés sur le serveur (en supposant que nous savons que c'est du contenu statique sur le serveur). Autrement dit, je devrais pouvoir exécuter un serveur HTTP servant le contenu que j'ai téléchargé et pointer un lecteur Dash vers lui pour lire la même vidéo.
youtube-dl ne semble pas me donner le package Dash. Je pourrais utiliser curl pour effectuer des requêtes XHR comme le navigateur, mais j'espère qu'il existe un moyen plus simple.
J'ai trouvé un projet qui télécharge les segments tels qu'ils sont stockés sur le serveur: https://github.com/Viblast/dash-proxy
J'ai dû le bifurquer pour résoudre quelques problèmes: https://github.com/elv-peter/dash-proxy
Pas besoin de développer une roue!
Le grand outil youtube-dl connaît des centaines de plates-formes/protocoles/etc ainsi que MPEG DASH ainsi que Apple HLS et ainsi de suite et ainsi de suite! Très souvent des mises à jour/corrections de bugs
S'amuser!
http://rg3.github.io/youtube-dl/
PS .: Si vous souhaitez conserver des fragments - utilisez l'option
--keep-fragments
Conservez les fragments téléchargés sur le disque une fois le téléchargement terminé; les fragments sont effacés par défaut
Mise à jour:
Votre liste de lecture possède de nombreuses options (basées sur la bande passante vidéo), par exemple:
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)
maintenant, si vous souhaitez télécharger TOUS les segments pour tous les débits, vous pouvez essayer d'utiliser l'option magique
--all-formats
ou vous pouvez le faire un par un en utilisant l'option --format, par exemple:
youtube-dl.exe --format bbb_30fps_320x180_200k --keep-fragments
Vous constaterez peut-être qu'il n'y a en fait pas de moyen plus facile à votre disposition, à moins que quelqu'un n'ait construit un outil pour ce faire, que je ne connais pas.
Il convient de rappeler qu'un flux DASH aura généralement plusieurs rendus ABR (Adaptive Bit Rate) et que la vidéo d'origine sur le serveur sera en fait stockée dans plusieurs versions de débit binaire différentes sur le serveur ou CDN.
Un lecteur normal sélectionnera chaque morceau ou segment de la vidéo à partir de la version de débit binaire la plus appropriée pour le type d'appareil et les conditions de réseau actuelles.
Donc, si vous vouliez reproduire ce qui se trouvait sur le serveur d'origine, vous devrez créer un client qui a téléchargé tous les segments de toutes les versions de débit binaire disponibles de la vidéo. Vous pouvez également télécharger la version de la plus haute qualité et transcoder vous-même les autres débits.
Pour ensuite servir les flux DASH ailleurs, vous devez également vous assurer de mettre à jour le manifeste pour pointer vers la bonne URL sur votre serveur.
Et enfin, vous devrez vérifier que vous avez les droits de le partager et que le fichier n'est pas crypté, auquel cas vous ne pourrez peut-être pas le partager avec les clients.