2015-09-01 3 views
0

J'ai essayé de comprendre comment fonctionne DASH, principalement le MPD et comment un client distant démarre pour lire un flux. De nombreux paramètres dans le MPD, la plage d'initialisation et SegmentBase indexRange semble être d'un grand intérêt. Si je comprends bien, ces valeurs donnent l'URL de base et les mappages aux images-clés qui doivent être récupérées si le client recherche/rembobine une vidéo.Lire le contenu de la plage Initialization et SegmentBase indexRange dans un flux DASH

Ma question est si ces valeurs peuvent être vus avant que je joue réellement une vidéo. Par exemple, puis-je utiliser un outil comme youtube-dl pour télécharger ces gammes d'octets et les décoder d'une manière lisible par l'homme?

Très apprécié. -Jamie

Répondre

2

Je commence également à regarder dans DASH alors prenez ma réponse avec un grain de sel.

Le SegmentBase est utilisé lorsque vous avez un seul segment dans une représentation. Pour plusieurs segments, il y a SegmentList et SegmentTemplate. Vous pouvez trouver plus dans ce MPEG-DASH overview.

Pour MPEG-DASH, l'attribut SegmentBaseindexRange pointe vers l'emplacement de la boîte sidx (Segment Index Box). La boîte contient des informations sur les sous-segments et les points d'accès aléatoires pour la recherche, etc. Il y a plus d'informations dans ce Quick Tutorial on MPEG-DASH.

Dans le cas de WebM-DASH, l'index de segment correspond au Cues element.

L'attribut Initializationrange pointe vers le segment d'initialisation.

Si le serveur le prend en charge, vous pouvez émettre des demandes de plage HTTP pour obtenir les données, mais vous devrez l'analyser.

Il existe un analyseur ISO BMFF Node.js ici: iso-bmff-parser-stream et l'implémentation du client de référence DASH-IF en JavaScript peut être trouvée à: dash.js.

Pour WebM, le Cues peut être lu en utilisant mkvinfo, tel que rapporté par @jamie.

+0

Merci pour l'information aergistal. Je vais vérifier ces détails plus en détail. – jamie

+0

Salut à nouveau, j'ai essayé d'utiliser l'analyseur ISO BMFF et il semble fonctionner très bien pour les deux fichiers qui vient avec le paquet. Cependant, il ne semble pas fonctionner avec mes fichiers .mp4. Il déclenche une erreur FATAL ERROR: CALL_AND_RETRY_0 Allocation failed - processus out of memory'. La même recommandation s'applique également à un fichier .webm. Idéalement, j'aimerais voir la boîte 'sidx' pour les fichiers mp4 et webm. Des idées à ce sujet? – jamie

+0

Peut être un bug dans l'analyseur, ne l'ai pas encore essayé. Pour 'WebM', l'index de segment correspond à l'élément' Cues'. Voir: http://wiki.webmproject.org/adaptive-streaming/webm-dash-specification – aergistal