Vous avez besoin du segment d'initialisation. Il est souvent nommé "00" ou "init" ou n'a pas de numéro de séquence comme les autres fichiers, et se termine souvent par ".mp4" plutôt que ".m4s". Ensuite, il vous suffit de concaténer les fichiers ensemble. Vous pouvez commencer n'importe où dans la séquence tant que vous commencez par le segment d'initialisation.
Par exemple
cat init.mp4 *.m4s > output.mp4
Ensuite, vous avez un fichier mp4 lisible avec du contenu, en supposant qu'aucun cryptage (DRM) ne lui soit appliqué.
vous pouvez y jouer en utilisant le lecteur GPAC, en l'installant avec tous les codecs tiers également -http://gpac.wp.mines-telecom.fr/player/
certaines personnes prétendent pouvoir utiliser vlc, je ne l'ai pas testé.
Le format de fichier .m4s est le fichier multimédia de base ISO. c'est-à-dire MPEG-4 Part 14. lisez les spécifications pour plus d'informations, vous pouvez obtenir le lecteur m4s pour Windows. Autant que je sache sur la plate-forme Linux GPAC aidera. Vous pouvez créer votre propre MPD à partir de n'importe quelle source multimédia à l'aide de MP4Box, un outil GPAC.
Vous pouvez utiliser MP4Client pour lire vos médias DASH à partir de MPD. En fait, le segment séparé de .m4s ne peut pas être lu par son propre lecteur bcoz doit connaître le codec et le type mime pour lire n'importe quel média et m4s n'est pris en charge par aucun lecteur, c'est-à-dire qu'il a son propre en-tête et ses propres données (moof &mdat).
Pour lire un MPD contenant de nombreux segments m4 (vous pouvez créer votre propre MPD ou télécharger chaque segment audio et vidéo séparément de n'importe quel MPD et le placer dans un même dossier) :
- installer GPAC.
$MP4Client MYWorld.mpd
ouvrira le lecteur Osmo4 et vous pourrez voir que votre vidéo est en cours de lecture. Profitez..
Pour votre information, le serveur de streaming local peut également lire cette vidéo :
$MP4Client http://localhost/MYWorld.mpd
si cela ne fonctionne pas, changez l'indicateur segmentAlignment, c'est-à-dire <AdaptationSet segmentAlignment="true" subsegmentAlignment="true">
.