Français

Vidéo et sous-titres · Téléchargeur multimédia direct

Liens directs vs manifestes de streaming : pourquoi un .m3u8 ou .mpd n'est pas un fichier

· Contexte

téléchargements diffusion en continu formats de fichiers

Un fichier multimédia téléchargeable contrasté avec une liste de lecture divisée en segments
Illustration vectorielle originale de ToolAcre

Un lien direct pointe vers un fichier ; un manifeste de streaming est une liste de lecture de segments. Cet article explique HLS et DASH, comment fonctionne le streaming adaptatif et pourquoi un manifeste n'est pas quelque chose qu'un téléchargeur par lien direct peut enregistrer sous forme de vidéo.

Deux liens, un sauve et un pas - la différence qui fait trébucher presque tout le monde

Un lien .mp4 peut renvoyer un fichier vidéo qu'un navigateur peut enregistrer. Un lien .m3u8 peut renvoyer seulement quelques kilo-octets de texte même si le lecteur diffuse un programme entier à partir de celui-ci. Un producteur vidéo qui enregistre cette dernière n'a pas téléchargé la production : il a stocké sa playlist. L'extension et la réponse Content-Type sont des indices utiles, mais inspectez la réponse réelle plutôt que de traiter chaque URL se terminant par « vidéo » comme un fichier complet.

Ce qu'offre une URL de fichier directe : une ressource, peut-être un en-tête de taille

Une URL directe adresse une ressource telle qu'un MP3, un MP4 ou une image. Fetch peut lire ses octets de réponse et créer un Blob local lorsque le serveur autorise l'accès multi-origine. Content-Length peut vous indiquer sa taille, mais un serveur peut diffuser sans la fournir, donc « un fichier » ne garantit pas une longueur d'en-tête. Direct Media Downloader récupère délibérément l'hôte que vous avez fourni à partir de votre navigateur ; ce n'est pas un proxy ou un robot d'exploration pour les liens intégrés dans une page Web.

Que sont HLS et DASH : des listes de lecture (.m3u8, .mpd) qui pointent vers de nombreux segments courts à plusieurs niveaux de qualité

HTTP Live Streaming (HLS) utilise des listes de lecture de texte se terminant généralement par .m3u8 ; une liste de lecture principale peut proposer plusieurs débits binaires, chacun menant à une autre liste de courts segments multimédias. MPEG-DASH utilise une description MPD des périodes, des adaptations et des URL de segments. Un joueur sélectionne et demande des pièces selon ses besoins, changeant parfois de qualité lorsque la bande passante change. L’enregistrement du manifeste seul enregistre une carte de ces adresses, et non un fichier audiovisuel fusionné. La RFC 8216 décrit le comportement des listes de lecture et des segments HLS ; DASH a sa propre norme et ses propres outils.

Pourquoi le streaming adaptatif a été inventé : mise en mémoire tampon, connexions variables et abandon du téléchargement progressif

Le streaming adaptatif répond aux limites du téléchargement progressif : un réseau changeant peut ne pas maintenir le choix de qualité initial, un téléspectateur peut rechercher une partie ultérieure et un événement en direct n'a pas encore de longueur de fichier finale connue. Les médias segmentés permettent aux joueurs de demander un morceau approprié plutôt que d'attendre une vidéo entière. Le compromis est un ensemble de requêtes coordonnées et d’états de lecture, qu’une action de sauvegarde d’un seul fichier ne reproduit pas.

Segments, clés et DRM : pourquoi les pièces sont souvent inutiles sans licence et pourquoi les réassembler est hors de portée

Certains segments ont des clés de cryptage distinctes et certaines lectures utilisent un système DRM lié à une licence. Même lorsqu'un manifeste est lisible publiquement, ses segments peuvent être protégés, de courte durée ou autorisés uniquement pour la lecture. L'assemblage de fichiers, la récupération de clés ou le contournement des restrictions du fournisseur ne sont pas prévus par Direct Media Downloader et peuvent violer les droits ou les contrôles d'accès. Un simple lien direct vers un fichier fourni par un éditeur autorisé est une proposition différente de la reconstruction d'un flux protégé.

Exemple concret : inspecter un manifeste dans un éditeur de texte – lire la liste des segments et comprendre ce qu'elle contient et ce qu'elle ne contient pas

Considérons un manifeste texte de jouet contenant #EXTM3U, une ligne #EXTINF:6.0 et un chemin segment0001.ts, suivi d'une autre durée et segment0002.ts. L'ouvrir dans un éditeur de texte affiche les directives et les noms de fichiers relatifs, pas les images vidéo décodées. Un lecteur HLS résout et demande ces chemins en fonction de la liste de lecture et de la connexion actuelle. Le téléchargement du fichier texte avec un navigateur enregistre le manifeste ; il ne combine pas segment0001.ts et segment0002.ts dans un programme jouable. Il s’agit d’une esquisse illustrative et non d’une affirmation concernant un service particulier.

À retenir : un manifeste est une carte, pas un territoire – comment Direct Media Downloader gère les fichiers directs et indique clairement que les manifestes ne relèvent pas de son travail

Un manifeste est une carte, pas la vidéo qu'il mappe. Direct Media Downloader de ToolAcre est intentionnellement limité aux liens de fichiers directs et autorisés et explique CORS et les flux non pris en charge plutôt que de cacher un relais derrière l'interface. Lorsque vous rencontrez un .m3u8 ou .mpd, recherchez la fonction de téléchargement légitime du fournisseur ou demandez un fichier original à l'éditeur au lieu de vous attendre à ce qu'un outil de lien direct devienne un extracteur de streaming.