Je veux télécharger une vidéo dont l'URL n'est pas un simple fichier MP4, mais son URL est de type blob, par exemple.
<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>
Existe-t-il une extension ou un logiciel chrome permettant de télécharger la vidéo en cours de lecture?.
Je viens de proposer une solution générale, qui devrait fonctionner sur la plupart des sites Web. J’ai essayé cela uniquement sur Chrome, mais cette méthode devrait fonctionner avec n’importe quel navigateur, car les outils de développement sont pratiquement identiques.
Pas:
.m3u8
. Il y en a peut-être beaucoup, mais le premier que vous trouvez est probablement celui que vous recherchez. Il peut avoir n'importe quel nom, par exemple playlist.m3u8
.Le processus peut différer selon l'endroit et le mode d'hébergement de la vidéo. Sachant cela peut aider à répondre à la question plus en détail.
Par exemple; C’est ainsi que vous pouvez télécharger des vidéos avec des liens blob sur Vimeo.
Voici comment je parviens à le "télécharger":
Dans Firefox, le fichier M3U était de type application/vnd.Apple.mpegurl
Le contenu du fichier M3U ressemblerait à ceci:
Ouvrez lecteur multimédia VLC et utilisez l’option Media => Convert. Utilisez votre fichier M3U (enregistré) comme source:
J'ai déjà posté ceci sur d'autres sites et pourquoi ne pas le partager avec des gars/filles à stackoverflow.
Détails du hit _needsAggregate _needsCoapp actions bitrate chunked descrPrefix durationFloat extension frameId fromCache group
hls id isPrivate length masterManifest mediaManifest originalId referrer taille statut titre topUrl url url urlFilename
Il existe différentes manières d'obtenir l'URL .m3u8
en affichant le code source d'une page, l'onglet Réseau dans les Outils de développement de Chrome ou en utilisant un plugin tel que Vidéo HDL/HLS). Téléchargeur .
Avec l'URL .m3u8 en main, vous pouvez ensuite utiliser ffmpeg
pour télécharger la vidéo dans un fichier du type suivant:
$ ffmpeg -i 'https://url/to/some/file.m3u8' -bsf:a aac_adtstoasc \
-vcodec copy -c copy -crf 50 file.mp4
Utilisez l’extension HLS Downloader Google Chrome pour obtenir le lien vers la liste de lecture M3U. Son icône dans la barre de navigation indique le nombre de listes de lecture trouvées sur la page Web actuelle. En cliquant sur l'icône, vous pouvez voir une liste du lien de la liste de lecture, puis utiliser le bouton Copier en regard d'un lien pour le copier.
Ensuite, utilisez le programme youtube-dl pour télécharger le fichier.
youtube-dl --all-subs -f mp4 -o "file-name-to-save-as.mp4" "https://link-from-Google_Chrome-HLS_Downloader_extension"
Explication des options de ligne de commande:
- f mp4 = Format de sortie mp4
- all-subs = Télécharger tous les sous-titres
- o "nom-fichier-enregistrer-as.mp4" = Nom du fichier dans lequel enregistrer la vidéo.
" https: // link-from-Google_Chrome-HLS_Downloader_extension " = Ceci est le lien vers la liste de lecture copiée à partir du Extension HLS Downloader.
Si vous utilisez les mêmes options de configuration tout le temps pour youtube-dl , vous voudrez peut-être jeter un coup d'œil à la options de configuration pour youtube- dl , car cela peut vous faire économiser beaucoup de frappe.
L'extension HLS Downloader est gratuite et open source sous la licence MIT si vous voulez voir le code, il peut être trouvé sur sa page de projet sur Github .
Voulait ajouter une autre réponse spécifiquement pour les vidéos blob Facebook, qui semblent être délicates. Le lien blob semble conduire à plusieurs flux .mp4 consécutifs, comme si la vidéo était scindée en centaines de petits éléments. Il ne semble pas y avoir de liste de lecture unique comme un f4m ou m3u8.
Pour moi, la seule solution réussie a été d'utiliser https://fbdown.net/index.php , et pour les vidéos privées, je devais utiliser leur assistant de téléchargement de vidéos (un logiciel gratuit chrome extension). En théorie, ils disposent d'une page Web distincte pour le téléchargement de vidéos privées, qui consiste à copier-coller le code source de la page dans une zone de texte. Mais cela n'a pas fonctionné pour moi. Le plugin Chrome le fait cependant. URL du plug-in: https://chrome.google.com/webstore/detail/fbdown-video-downloader/fhplmmllnpjjlncfjpbbpjadoeijkogc
Si vous ne trouvez PAS le fichier .m3u8
, vous devrez procéder différemment.
1) Allez sur l’onglet réseau et triez par Media
2) Vous verrez quelque chose ici et sélectionnez le premier élément. Dans mon exemple, il s’agit d’un fichier mpd
. puis copiez l'URL de la demande.
3) Ensuite, téléchargez le fichier à l'aide de votre outil de ligne de commande préféré à l'aide de l'URL de l'étape 2.
youtube-dl -f bestvideo+bestaudio https://url.com/destination/stream.mpd
4) En fonction de l'encodage, vous devrez peut-être joindre les fichiers audio et vidéo ensemble, mais cela dépendra d'une vidéo à la fois.
Si le blob est instancié avec des données d'un manifeste F4M (consultez l'onglet Réseau des outils de développement de Chrome), vous pouvez télécharger le fichier vidéo à l'aide du script php posté ici: https://n1njahacks.wordpress.com/2015/01/29/comment-enregistrer-hds-flash-flux-de-toute-page-web /
En mettant:
if ($manifest == '')
$manifest = $_GET['manifest'];
avant:
if ($manifest)
vous pouvez même l'exécuter sur un serveur Web, en utilisant des requêtes avec la chaîne de requête: ?manifest=[manifest url]
.
Notez que vous voudrez probablement utiliser un client FTP pour récupérer le fichier vidéo téléchargé et le nettoyer après le script (il conserve toutes les parties vidéo téléchargées).