Comment créer des plages d'octets m3u8 liste de lecture pour HLS?
Apple donne un exemple de soutien pour le byte-range segments en m3u8 fichiers pour HLS
#EXTM3U
#EXT-X-TARGETDURATION:11
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-VERSION:4
#EXTINF:10.0,
#EXT-X-BYTERANGE:75232@0
media.ts
#EXTINF:10.0,
#EXT-X-BYTERANGE:82112@752321
media.ts
#EXTINF:10.0,
#EXT-X-BYTERANGE:69864
media.ts
Mais je ne peux pas comprendre comment créer une liste de lecture donné .fichier ts.
Existe-il des outils pour cela?
OriginalL'auteur biomancer | 2014-05-06
Vous devez vous connecter pour publier un commentaire.
Il est
-hls_flags
comme ffmpeg option. (https://www.ffmpeg.org/ffmpeg-formats.html)Commande suivante génère seul fichier ts qui est segmenté par octet fonction plage(pris en charge à partir de HLS version 4) en m3u8 fichier d'index.
OriginalL'auteur sangwonl
Ressemble
donne assez d'informations sur les cadres pour construire une telle liste de lecture, bien que certains scripts seront requis pour la construction.
Je vais mettre à jour cette réponse avec un script si je réussis avec cette approche.
Mise à jour:
Voici quelques liens utiles que j'ai trouvé:
Scripts Bash pour générer des listes de lecture iframe - besoin d'un peu d'optimisation, comme elle les appelle ffprobe plusieurs fois
iframe-playlist-générateur - projet sur python qui peuvent être utilisés pour générer de l'iframe listes de lecture à partir d'habitude ceux
Il n'est pas exactement ce que j'ai cherché au début, mais je-Cadre des listes de lecture sont similaires à octet de-gamme et de l'ajustement pour ma tâche encore mieux, je vais donc utiliser ces deux projets de référence et de point de départ pour créer quelque chose d'un peu plus adapté pour moi.
Les projets réellement utiliser différentes méthodes pour trouver la taille de l'Image I - le script bash utilise seulement ce ffprobe montre dans pkt_size, et le projet de python ajoute un peu de vaudou par le calcul de la taille de la différence des positions de paquets et l'ajout de 188 pour correspondre à l'exemple des listes de lecture à partir d'apple. 188 octets est la taille de mpeg-ts paquet, probablement que c'est lié d'une certaine manière, je n'ai pas réussi à comprendre comment, cependant. Cette différence dans le calcul de la taille de causes différentes listes de lecture, probablement l'un d'entre eux est incorrecte, d'une certaine façon, mais en fait VLC joue à la fois sans aucun problème, alors je vais m'en tenir à la méthode la plus simple jusqu'à ce qu'il sera prouvé incorrect.
Mise à jour 2:
J'ai créé un module ruby qui permet d'extraire I-Cadre de l'information, de la donnée .fichier ts avec
ffprobe
et construire à la fois I-Frame et d'habitude byterange m3u8 liste de lecture (comme il était demandé dans la question) en fonction de cette information.J'ai trouvé la simple méthode de création d'une I-Frame liste de lecture je l'ai mentionné avant d'être incorrect, j'ai donc utilisé la méthode de l'iframe-playlist-générateur. La sortie est à peu près semblable à l'I-Frame playlist générée par
mediafilesegmenter -output-single-file -file-base output-dir/input.ts
, mentionné par Duvrai, mais il y a parfois quelques 188 octets taille de la rate pour les images aléatoires, je ne pouvais pas comprendre le modèle, de sorte qu'il est actuellement ignoré.Comment puis-je créer .m3u8 si j'ai créé TS segments par une tierce application avant de, et tous sont dans un dossier?
OriginalL'auteur biomancer
Vous pouvez utiliser un standard de segmenter comme Apple
mediafilesegmenter
, vérifier les longueurs des fichiers, puis concaténer (avec lecat
programme) dans un seul fichier. À partir de la taille des fichiers que vous avez toutes les informations nécessaires pour définir les plages d'octet dans un fichier de liste de lecture.Pas aussi beau que juste de télécharger un outil sur le net, mais ce n'est pas très compliqué algorithme.
mediafilesegmenter -output-single-file -file-base output-dir/ input.ts
. Il produit de un nouveau MPEG-TS fichier plus uniframe_index.m3u8
et unprog_index.m3u8
. Notez également que Apple HTTP Live Streaming Outils sont Disponibles à l'adresse developer.apple.com/downloads/..., mais seulement pour 99$/an Développeur iOS comptes.OriginalL'auteur vipw
Unifiée Streaming propose également un outil qui peut faire cela pour vous:
Cela fait partie de leurs commerciaux streaming paquet (ils offrent un essai gratuit sur demande). Ils fournissent également un Amazon AWS exemple avec la rémunération horaire.
OriginalL'auteur Duvrai