Question Comment dois-je encoder du contenu pour Google TV en utilisant HLS?


HLS est une fonctionnalité de Google TV 3.2, quel est le meilleur moyen d'encoder mon contenu pour qu'il soit affiché sur un téléviseur Google?


15
2018-04-19 14:38


origine


Réponses:


Comment implémenter HLS pour Google TV

Http Live Streaming alias HLS est un standard de diffusion de contenu multimédia (audio et vidéo) pris en charge par Google TV.

Il existe de nombreuses fonctionnalités intéressantes qui viennent avec HLS. Les principaux sont: 1) Streaming adaptatif - S'adapte automatiquement à l'encombrement ou à la disponibilité de la bande passante. 2) Résilience aux défaillances transitoires du réseau. 3) Aucune configuration spéciale pour votre serveur, vos routeurs ou vos pare-feu. C'est juste HTTP 1.1 4) Facilement supporté par les réseaux de diffusion de contenu 5) La diffusion en direct est prise en charge (plus dans un article plus long) 6) Prise en charge des balises vidéo HTML5 dans Google Chrome pour Google TV. 7) Cryptage AES optionnel (plus dans un article plus long).

Sur Google TV, HLS est un protocole standard, il vous suffit de placer votre URL dans n’importe quelle API de lecture multimédia telle que MediaPlayer, VideoView, etc.

Composants d'un fichier HLS

.m3u8 - Fichier de liste de diffusion ou de liste de lecture à base de texte (peut être mis à jour pour du contenu en direct) Type MIME: vnd.apple.mpegURL ou application / x-mpegURL

.ts - Flux de transport MPEG 2 - Données audio et vidéo de 5 à 10 secondes. Type MIME: video / MP2T

Créer du contenu pour HLS

La manière la plus simple de créer du contenu HLS est d'utiliser Les outils d'Apple, la dernière version de Sorenson Squeeze, l’épisode de Telestream et de nombreux fournisseurs d’encodage cloud. Vous commencez avec le contenu que vous encodez à de nombreux débits. Pour Google TV, la première ligne du fichier .m3u8 correspond à la vitesse de démarrage. Il vaut probablement mieux choisir le flux à 1,2 Mbps.

Google TV prend en charge la version 3 du protocole HLS à partir de la version 3.2 du micrologiciel de Google TV.

Vos URL de contenu doivent avoir les caractères ".m3u8" dans l'URL. Si l'URL ne se termine pas par ".m3u8", le système fera au moins 2 requêtes avant la lecture et le type MIME de la liste de lecture devra être "application / vnd.apple.mpegurl" ou "application / x-mpegurl". ".

Remarque - Google TV ne prend actuellement pas en charge le changement de codec: les segments d'annonce doivent donc utiliser le même encodage que le contenu principal. Bien sûr, les développeurs peuvent suspendre la lecture du HLS, lire un autre contenu, puis reprendre la lecture du HLS pour contourner ce problème.

Codage

Le contenu encodant est autant un art qu'une science. Les meilleurs choix dépendent beaucoup de votre contenu, de la vitesse à laquelle les objets évoluent en arrière-plan et de nombreux autres éléments trop nombreux pour simple post. Il dépend également des périphériques que vous ciblez. Les paramètres ci-dessous sont conçus pour être optimisés pour Google TV. Appareils plus anciens peut nécessiter des codages différents / supplémentaires. Sachez que certains types de codage à des fins commerciales peuvent nécessiter une licence et / ou le paiement de redevances.

L'encodage audio doit être cohérent sur tous les flux. HE-AACv1, HE-AACv2, AAC-LC jusqu'à 48 kHz, audio stéréo sont tous des choix acceptables.

16:9 Aspect Ratio**
             Total  Video
Dimensions Bitrate Bitrate Encoding
640x360        640     600 HiP, 4.1
640x360       1240    1200 HiP, 4.1
960x540       1840    1800 HiP, 4.1
1280x720      2540    2500 HiP, 4.1
1280x720      4540    4500 HiP, 4.1
1920x1080     6040    6000 HiP, 4.1
1920x1080     8196    8156 HiP, 4.1


4:3 Aspect Ratio
             Total  Video
Dimensions Bitrate Bitrate Encoding
640x480        640     600 HiP, 4.1
640x480       1240    1200 HiP, 4.1
960x720       1840    1800 HiP, 4.1
1280x960      2540    2500 HiP, 4.1
1280x960      4540    4500 HiP, 4.1

Image clé

L'implémentation actuelle de Google TV utilise uniquement l'image clé au début de chaque segment (pour un segment de 10 secondes à 30 images par seconde, ce serait toutes les 300 images). La suggestion d'Apple est d'avoir une image clé toutes les 90 images. (ou toutes les 3 secondes à 30fps) Note - Framerate est un sujet complexe

** Adapté de https://developer.apple.com/library/ios/#technotes/tn2224/_index.html


26
2018-04-19 14:58