Comment fonctionne le téléchargement de vidéos en streaming?

Réponses:

5

Il existe au moins deux façons d'y parvenir:

  1. Le logiciel intercepte les flux de téléchargement et enregistre toutes les vidéos qu'il détecte (c'est le scénario le plus probable)

  2. Le logiciel le copie simplement hors du cache du navigateur Web (bien que ce ne soit pas impossible, cela est beaucoup moins probable pour deux raisons: 1., nécessite une connaissance spécifique de tous les navigateurs Web pris en charge et éventuellement également de certains lecteurs vidéo; et 2., pas toutes les vidéos sont stockés sur disque dans leur intégralité car cela dépend du lecteur vidéo)

    Edit: Ajout des troisième et quatrième possibilités ...

  3. Le logiciel demande la vidéo en créant la même demande de téléchargement que le plug-in de visionneuse, puis enregistre les données au fur et à mesure qu'elles sont reçues (c'est différent de la première possibilité que j'ai énumérée ci-dessus, et cela peut nécessiter une certaine ingénierie inverse de la lecteurs de films écrits en Flash ou reniflage de paquets pour déterminer comment l'URI a été réellement construit)

  4. Le logiciel remplace le gestionnaire par défaut pour les lecteurs vidéo (ou il peut remplacer le gestionnaire Flash Player et agir en tant que gestionnaire intérimaire sur les sites Web qu'il reconnaît tels que YouTube.com, Video.Google.com, etc., mais pour les sites Web et Flash Le contenu d'animation qu'il ne reconnaît pas spécifiquement passe simplement le travail au plug-in Flash Player précédent pour créer un effet plus "transparent" pour l'utilisateur)

Randolf Richardson
la source
Oui, je le sais, mais je voulais des informations plus détaillées sur la première façon. c'est-à-dire comment exactement le logiciel identifie-t-il un flux vidéo, comment intercepte-t-il le flux, etc.
Ankit Soni
Je ne sais pas comment vous intercepteriez un flux vidéo comme celui-ci sans utiliser de proxy, ce que je ne pense pas que ces téléchargeurs fassent. Une autre façon de le faire serait d'utiliser les informations de la page pour localiser les fichiers vidéo réels et les télécharger directement. Voir raw.github.com/rg3/youtube-dl/2011.08.04/youtube-dl pour en savoir plus.
user55325
@ user55325: De la même manière que le logiciel de reniflage de paquets le ferait.
Randolf Richardson
N'est-ce pas généralement nécessaire de se connecter directement à vos pilotes réseau? Ce n'est certainement pas comme youtube-dl le fait; il semble que ce serait exagéré d'une manière ou d'une autre.
user55325
@ user55325: Eh bien, j'ai décrit " au moins deux façons " - je ne suis pas particulièrement sûr de savoir comment "youtube-dl" (qui je suppose est le nom de l'une de ces applications de "capture vidéo") obtient la vidéo, mais à au moins vous connaissez maintenant deux méthodes possibles. Il n'est probablement pas nécessaire de se connecter aux pilotes réseau, car Windows fournit probablement une API de niveau supérieur qui est plus générique et ne nécessite pas de crochets spécifiques à la carte réseau.
Randolf Richardson
2

YouTube a une URL unique pour chaque vidéo. Certains sites proposent un script en ligne qui convertit les vidéos YouTube en MP4 ou une extension de fichier vidéo similaire. Ce script télécharge généralement la vidéo sur leur serveur FFMPEG, puis la convertit en MP4 ou tout autre format pris en charge et vous permet de télécharger cette vidéo en streaming.

Ryu
la source
en ce qui concerne la conversion, faites-vous référence au logiciel gratuit ffmpeg lorsque vous dites serveur ffmpeg? Je ne sais pas s'il a une option de serveur
barlop
La vidéo est normalement stockée sous forme de fichier au format .FLV qui peut être lu nativement par l'excellent lecteur VLC gratuit et open source: videolan.org
Randolf Richardson
@barlop, le serveur utilise un script pour la conversion. Il existe de nombreux scripts gratuits et payants qui effectuent ce type de conversion. La plupart de ces scripts ont commencé comme un script de clonage alternatif pour YouTube.
Ryu
@ Ryu, je ne l'ai jamais essayé en lisant un peu maintenant, mais je pense que vous voulez dire des choses qui ont commencé comme un clone du site Web youtube, / des scripts de site Web de partage de vidéos, des solutions d'hébergement et de partage de vidéos, un convertisseur flv côté serveur, comme celui-ci package youtube-clone.com Intéressant. Je vois que ffmpeg inclut le streaming, donc peut-être, il y a une chose comme un serveur ffmpeg, comme vous le dites, alors voyez ce que vous voulez. Je ne l'avais jamais rencontré auparavant.
barlop
Le pilote WinCAP est utilisé sur les serveurs Windows et le bureau pour la capture de flux. Vous pouvez google "URL snooper" pour savoir comment les flux peuvent être capturés avec ce pilote sur le bureau Windows. De même, il existe des serveurs FFMPEG qui sont prêts à gérer le contenu multimédia comme les fichiers flv, java et les fichiers multimédias.
Ryu
0

Il existe un outil appelé youtube-dl qui le fait en extrayant toutes les informations nécessaires sur le fichier vidéo et son emplacement, puis en le téléchargeant (soit via RTMPDump ou directement) selon les spécifications de l'utilisateur (de nombreuses vidéos YouTube sont disponibles en plusieurs formats ).

La source Python est disponible et devrait fonctionner sous Linux, Windows et Mac OS X (à condition que l'interpréteur Python soit installé).

Je pense que c'est ainsi que fonctionnent la plupart des téléchargeurs.

user55325
la source