Comment télécharger une vidéo d'URL blob [fermé]

220

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 qui peut être utilisé pour télécharger la vidéo en cours de lecture?

SidD
la source
@cdlvcdlv Merci, mec! Après avoir testé beaucoup d'outils, c'est celui qui a fonctionné pour mon cas spécifique!
felipeptcho
@felipeptcho Vous êtes les bienvenus. Heureux de voir que la réponse peut aider quelqu'un d'autre.
cdlvcdlv
2
Voir l' extension HDS / HLS Video Downloader pour les navigateurs basés sur Chromium.
georgeawg
13
Pourquoi chaque réponse à cette question suppose-t-elle que l'extension de fichier est .m3u8? Cela n'a jamais été précisé dans la question.
numbermaniac
Bonjour @SidD, avez-vous pu résoudre ce problème? Si oui, pourriez-vous s'il vous plaît me faire savoir quelle solution a fonctionné pour vous?
hagrawal

Réponses:

230

Je viens de proposer une solution générale, qui devrait fonctionner sur la plupart des sites Web. J'ai essayé cela sur Chrome uniquement, mais cette méthode devrait fonctionner avec n'importe quel autre navigateur, car les outils de développement sont à peu près les mêmes.

Pas:

  1. Ouvrez les outils de développement du navigateur (généralement F12 , ou Ctrl-Maj-I , ou faites un clic droit puis Inspectez dans le menu contextuel) sur la page avec la vidéo qui vous intéresse.
  2. Accédez à l' onglet Réseau , puis rechargez la page. L'onglet sera rempli avec une liste de demandes (peut être jusqu'à une centaine ou même plus).
  3. Recherchez les noms des demandes et trouvez la demande avec .m3u8 extension. 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.
  4. Ouvrez la demande et sous la sous - section En- têtes, vous verrez l'URL complète de la demande dans demande champ URL de la demande . Copiez-le. entrez la description de l'image ici
  5. Extrayez la vidéo de m3u8. Il y a plusieurs façons de le faire, je vais vous donner celles que j'ai essayées, mais vous pouvez google plus en "téléchargeant la vidéo de m3u8".
    • Option 1. Si vous avez installé le lecteur VLC, indiquez l'URL à VLC à l'aide de l' option de menu " Open Network Stream ... ". Je ne vais pas entrer dans les détails de cette partie ici, il y a un certain nombre de guides complets dans de nombreux endroits, par exemple ici . Si la page ne fonctionne pas, vous pouvez toujours en rechercher une autre sur Google en "téléchargeant la vidéo en ligne vlc".
    • Option 2. Si vous êtes plus en ligne de commande, utilisez FFMPEG ou votre propre script, comme indiqué dans cette question SuperUser .
Vlad Nikiforov
la source
49
L'option 3 est: utilisez l'URL de la playlist directement avec youtube-dl, c'est très simple!
Arnaud Tournier
4
youtube-dl fonctionne également pour les fichiers mpd.
Gibado
2
@patricK Vous pouvez essayer d'ajouter un référent, par exemple:youtube-dl --add-header Referer: https://www.google.com/referer-page https://google.com/video.m3u8
Searene
1
l'esprit si je demande, comment avez-vous ouvert la barre de recherche dans le module réseau et recherché les mots clés "m3u8".
Zhou XF du
1
Et l'option 4: utilisez JDownloader 2 pour télécharger l'URL de la playlist, à mon avis, c'est la manière la plus simple.
Robin Hartmann
51

Utilisez l' extension HLS Downloader Google Chrome pour obtenir le lien vers la liste de lecture M3U. Son icône dans la barre du navigateur affichera le nombre de listes de lecture trouvées sur la page Web actuelle. En cliquant sur l'icône, vous pouvez alors voir une liste du lien de la liste de lecture, puis utiliser le bouton de copie à côté d'un lien pour le copier.

Utilisez ensuite 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 "file-name-to-save-as.mp4" = Nom du fichier sous lequel enregistrer la vidéo.

  • " https: // link-from-Google_Chrome-HLS_Downloader_extension " = Il s'agit du lien vers la liste de lecture que vous avez copiée à partir de l'extension HLS Downloader.

Si vous utilisez tout le temps les mêmes options de configuration pour youtube-dl, vous voudrez peut-être consulter les 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 qu'elle peut être trouvée sur sa page de projet sur Github .

frederickjh
la source
Cela fonctionne vraiment bien sauf que dans mon cas, le MP4 n'avait pas de son? y a-il un moyen de résoudre cela?
Christopher D. Emerson
2
Je ne l'ai pas fait arriver. Il doit s'agir du fichier que vous téléchargez. Je crois que la norme mp4 prend en charge plusieurs pistes audio. Vérifiez qu'il n'y a pas d'autre piste audio et que la première est silence.
frederickjh
1
Grande extension! tellement plus facile que de faire toute la course avec des fichiers m3u8 et juste des fichiers blob de détroit. Cependant, je n'avais pas besoin de quoi que ce soit sur YouTube. HLS Downloader me donne directement les fichiers vidéo.
Justin Emlay
essayez d'ajouter -x dans les options
Sir Von Berker
Dans mon cas, j'ai essayé HLS Downloader avec Twitter, et cela a fonctionné comme @Justin l'a dit: il a donné le fichier vidéo directement. Mais j'ai également essayé les suggestions proposées par @Vlad sur l'autre réponse - essentiellement en faisant toutes les étapes manuellement - avec les mêmes résultats (c'est-à-dire obtenir un .MP4fichier de travail ).
Gwyneth Llewelyn
27

Le processus peut différer selon l'endroit et la façon dont la vidéo est hébergée. Savoir cela peut aider à répondre plus en détail à la question.

Par exemple; c'est ainsi que vous pouvez télécharger des vidéos avec des liens blob sur Vimeo.

  1. Afficher le code source du lecteur vidéo iframe
  2. Recherche mp4
  3. Copier le lien avec la requête de jeton
  4. Télécharger avant l'expiration du jeton

Source et instructions étape par étape ici.

entrez la description de l'image ici

chiappa
la source
2
Cette méthode fonctionne bien même si le type de fichier dans le urln'est pas .mp4 , vérifiez simplement l'en-tête du fichier et renommez-le.
eapo
25

Voici comment je parviens à le "télécharger":

  1. Utilisez inspect-element pour identifier l'URL du fichier de liste de lecture M3U
  2. Téléchargez le fichier M3U
  3. Utilisez VLC pour lire le fichier M3U, diffuser et convertir la vidéo en MP4

Dans Firefox, le fichier M3U est apparu sous le type application / vnd.apple.mpegurl

entrez la description de l'image ici

Le contenu du fichier M3U ressemblerait à:

Ouvrez le lecteur médial VLC et utilisez l'option Media => Convert. Utilisez votre fichier M3U (enregistré) comme source:

entrez la description de l'image ici

Ioannis Drositis
la source
3
Bon conseil! Il semble qu'il ne soit pas nécessaire de télécharger le m3u8fichier - vous pouvez simplement coller l'URL externe comme source.
sur l'onglet réseau, il y a un onglet secondaire pour "Media". il est plus facile d'obtenir le fichier m3u8 à partir de quelques éléments seulement.
pcarvalho
19

Il existe plusieurs façons d'obtenir l'URL .m3u8en affichant la source d'une page, en consultant l'onglet Réseau dans les outils de développement de Chrome ou en utilisant un plugin tel que HDL / HLS Video Downloader .

Avec l'URL .m3u8 en main, vous pouvez ensuite utiliser ffmpegpour télécharger la vidéo dans un fichier comme ceci:

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

Si vous ne trouvez PAS le .m3u8fichier, vous devrez effectuer deux étapes différentes.

1) Accédez à l'onglet réseau et triez par Media

Trier par média

2) Vous verrez quelque chose ici et sélectionnez le premier élément. Dans mon exemple, c'est un mpdfichier. puis copiez l'URL de demande.

3) Ensuite, téléchargez le fichier à l'aide de votre outil de ligne de commande préféré en utilisant l'URL de l'étape 2.

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

4) Selon l'encodage, vous devrez peut-être joindre les fichiers audio et vidéo, mais cela dépendra d'un cas vidéo par vidéo.

Meule
la source
10

J'ai déjà posté cela sur d'autres sites Web et pourquoi ne pas le partager avec des gars / filles sur stackoverflow.

  1. Installez l'extension Video DownloadHelper sur le navigateur Firefox.
  2. Lorsque DownloadHelper est activé, accédez à la page Web contenant la vidéo que vous souhaitez télécharger.
  3. Une fois la vidéo diffusée, cliquez sur l'icône DownloadHelper. Il vous donnera une liste de tous les formats de fichiers disponibles sur la vidéo actuelle.
  4. Faites défiler jusqu'au format de fichier que vous souhaitez télécharger
  5. Sur le côté droit, vous verrez une flèche
  6. Cliquez sur cette flèche pour obtenir plus d'informations sur la vidéo actuelle et le format sélectionné
  7. Dans la fenêtre affichée à la fin de cette flèche, faites défiler vers le bas et sélectionnez "Détails"
  8. Vous avez maintenant tous les détails concernant la vidéo en cours et le format sélectionné. C'est quelque chose comme ça.

Détails de hit⊗ _needsAggregate _needsCoapp actions bitrate chunked descrPrefix durationFloat extension frameId fromCache group hls
id isPrivate length masterManifest mediaManifest originalId referrer size status title title topUrl url urlFilename

  1. Maintenant, regardez les spécificités du référent dans ce Hit Details. C'est l'URL que vous voulez. Copiez-le et collez-le sur votre téléchargeur préféré.
Johny Flodder
la source
9
  1. Trouvez la liste de lecture / manifeste avec l'onglet réseau des outils de développement. Il y en a toujours un, car c'est comme ça que ça marche. Il peut avoir une extension m3u8 que vous pouvez taper dans le filtre.
  2. Donnez-le à l'outil youtube-dl. Il peut télécharger bien plus que YouTube. Il va télécharger automatiquement chaque segment, puis tout combiner avec FFmpeg puis éliminer les pièces. Il y a de fortes chances qu'il supporte le site à partir duquel vous souhaitez télécharger nativement, et vous n'avez même pas besoin de faire l'étape # 1.
  3. Si vous trouvez un site têtu et que vous rencontrez 403 erreurs ... Telerik Fiddler à la rescousse. Il peut capturer et enregistrer tout ce qui est transmis (comme le fichier vidéo) car il agit comme un proxy local. Tout ce que vous voyez / entendez peut être téléchargé, sauf s'il s'agit de contenu DRM comme Spotify.
Firsh - LetsWP.io
la source
2
Comment utiliseriez-vous youtube-dl pour le faire? juste youtube-dl https://....m3u8"?
Aziz Javed
Cela fonctionne-t-il également pour les vidéos privées?
Aziz Javed
@AzizJaved aye, exactement comme ça. Je ne l'ai pas testé sur des vidéos privées, mais si vous pouvez voir la page où elles se trouvent, alors elles fonctionnent exactement comme sur une vidéo publique. Ce qui compte, c'est ce que vous voyez sur le navigateur: si vous pouvez le voir, vous pouvez le copier. Facile! 😉
Gwyneth Llewelyn
Voulez-vous un article de moi sur le téléchargement de vidéos HLS cryptées? Il s'agit essentiellement de l'étape 3 mais avec ffmpeg pour décrypter et combiner ts segments.
Firsh - LetsWP.io
0

Si le blob est instancié avec des données d'un manifeste F4M (vérifiez l'onglet Réseau dans les outils de développement de Chrome), vous pouvez télécharger le fichier vidéo en utilisant le script php publié ici: https://n1njahacks.wordpress.com/2015/01/29 / comment-sauvegarder-hds-flash-streams-from-any-web-page /

En mettant:

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

avant:

  if ($manifest)

vous pouvez même exécuter sur un serveur web, 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 nettoyer après le script (il laisse toutes les parties vidéo téléchargées).

Protecteur un
la source
-27

Vous pouvez simplement cliquer avec le bouton droit et enregistrer le blob en tant que mp4.

Lorsque je jouais avec un enregistrement vidéo / audio sur navigateur, le blob de sortie était disponible en téléchargement direct.

pseudozach
la source
Je ne pense pas que ce soit possible. Pouvez-vous partager le navigateur que vous téléchargez?
Pirate X
J'ai utilisé le chrome mais je faisais référence à un enregistrement vidéo webrtc effectué sur la machine locale. Pour les blobs Web, la procédure peut être différente.
pseudozach
1
cela fonctionne pour les vidéos régulières mais pas pour les blobs.
TankorSmash