Paramètres de streaming segmenté

Cette rubrique contient des détails sur les paramètres d'encodage liés à la diffusion segmentée.

Aperçu

Zencoder prend en charge diverses formes de streaming adaptatif et segmenté.

Chaque format de diffusion utilise un sous-ensemble différent des options d'API répertoriées ci-dessous. Reportez-vous aux guides de chaque type de diffusion pour plus d'informations.

NOTES

  • Une tâche doit comporter au moins une sortie standard ou segmentée ; la création de tâches avec uniquement des sorties de liste de lecture ne fonctionnera pas.
  • Les sorties de la liste de lecture ignorent la plupart des options de sortie, à l'exception de l'url base_url, filename, streams, public, et type.
  • Si une sortie segmentée est téléchargée vers le stockage temporaire, elle sera téléchargée en tant que Archive ZIP.

streaming_delivery_format

streaming_delivery_format:String

Versions de l'API : V2

Parent : outputs

Valeurs valides : tiret

Types de tâches compatibles : VOD

Exemple : tiret

Description :

Définit le format / protocole pour une sortie qui sera fournie à l'aide d'une configuration de diffusion en continu spécifique, y compris les manifestes nécessaires, les structures de répertoires ou d'autres packages.

Pour les sorties «tiret», cela changera également le segment_seconds par défaut en 2, imposera des intervalles d'images clés fixes, inclura un manifeste MPD et créera une structure de répertoire avec des fichiers d'initialisation et de segment.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "streaming_delivery_format": "dash"
    }
  ]
}

Voir aussi : streaming_delivery_profile

streaming_delivery_profile

streaming_delivery_profile:String

Versions de l'API : V2

Parent : outputs

Par défaut : live

Valeurs valides : live, hbbtv_1.5, on_demand

Types de tâches compatibles : VOD

Exemple : live

Description :

Définit le profil du format de diffusion en continu, garantissant que les options sont sélectionnées pour la compatibilité avec le profil. Les options valides dépendent de la sélection streaming_delivery_format.

Pour les dash sorties, les profils actuellement pris en charge sont les suivants :

  • live - Définit le DASH profil sur « urn:mpeg:dash:profile:isoff-live:2011 » et utilisera un seul SegmentTemplate pour chaque AdaptationSet. Pour DRM, il utilisera un IV de 8 octets, et pour PlayReady utiliser la version 1.1, y compris un atome PSSH dans le support.
  • hbbtv_1.5 - Définit le DASH profil sur « urn:hbbtv:dash:profile:isofflive:2012 » et inclut les attributs requis pour les représentations audio et vidéo. Pour DRM, il utilisera un IV de 16 octets, et pour PlayReady utiliser la version 1.0, à l'exclusion des atomes PSSH.
  • on_demand - Définit le DASH profil sur « urn:mpeg:dash:profile:isoff-on-demand:2011" et encodera les médias comme des fichiers fragmentés uniques pour chaque flux plutôt que de les segmenter. Sinon, le même que le profil en direct.
{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "streaming_delivery_format": "dash",
      "streaming_delivery_profile": "hbbtv_1.5"
    }
  ]
}

Voir aussi : streaming_delivery_format

playlist_format

playlist_format:String

Versions de l'API : V2

Parent : outputs

Valeurs valides : dash, mpd, hls, m3u, m3u8, ism, mss, highwinds

Types de tâches compatibles : VOD

Exemple : tiret

Description :

Définit le format de la sortie d'une playlist (manifeste de rendu).


  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "playlist",
      "playlist_format": "dash"
    }
  ]
}

segment_seconds

segment_seconds:Float

Versions de l'API : V2

Parent : outputs

Par défaut : dix

Valeurs valides : Les nombres compris entre 1,0 et 3600,0 ; les valeurs inférieures à 2,0 ne sont autorisées que lorsque cette option byte_range_segmenting est activée. Étant donné que des segments très courts se sont avérés causer des problèmes de lecture, le segment final peut être plus long que la valeur spécifiée.

Types de tâches compatibles : VOD

Exemple : 8

Description :

Définit la durée maximale de chaque segment d'une sortie segmentée.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "segment_seconds": 8
    }
  ]
}

alternate_audio

alternate_audio:Hash

Versions de l'API : V2

Parent : outputs

Valeurs valides : Hash d'autres groupes audio, dont chacun est un tableau de hachages de rendu de flux audio

Types de tâches compatibles : VOD

Description :

Fournit un ensemble de flux audio alternatifs pour HLS listes de lecture. A besoin max_hls_protocol_version être 4 ou plus.

Cette option insérera EXT-X-MEDIA balises dans la playlist. Si name n'est pas défini, alors un nom sera généré en fonction du language.

Options valides pour les autres rendus audio

  • language: Le code ISO 639 pour la langue de la piste audio, comme "en", "es" ou "zh".
  • name(facultatif) : Le nom du groupe audio alternatif. Si le nom n'est pas défini, ce sera par défaut le nom de la langue.
  • path(facultatif) : Un chemin facultatif vers la liste de lecture M3U8 pour ce rendu audio. Si le chemin n'est pas défini, ce flux audio alternatif décrit l'audio contenu dans le flux source.
  • source(facultatif) : L'étiquette sur une sortie multimédia du même travail. Cela peut être utilisé pour définir le codec pour les rendus qui utilisent ce flux audio.
{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "playlist",
      "alternate_audio": {
        "custom_audio_group": [
          {
            "source": "english-audio",
            "path": "alternate-audio-en.m3u8",
            "language": "en"
          },
          {
            "source": "french-audio",
            "path": "alternate-audio-fr.m3u8",
            "language": "fr"
          }
        ],
        "secondary_audio_group": {
          "path": "path/to/secondary-audio-group.m3u8",
          "language": "en",
          "name": "Secondary English Audio Track",
          "source": "secondary-english-audio"
        }
      }
    }
  ]
}

streams

streams:Array

Versions de l'API : V2

Parent : outputs

Valeurs valides : Tableau de hachages contenant des informations sur le flux de la playlist

Types de tâches compatibles : VOD

Description :

Fournit une liste d'informations sur le flux à reformater en tant que liste de lecture.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "playlist",
      "streams": [
        {
          "path": "low/index.m3u8",
          "source": "low-hls-rendition"
        },
        {
          "path": "high/index.m3u8",
          "source": "high-hls-rendition"
        }
      ]
    }
  ]
}

path

path:String

Versions de l'API : V2

Parent outputs:/ flux

Valeurs valides : Chaîne contenant un chemin absolu ou relatif vers un fichier manifeste

Types de tâches compatibles : VOD

Description :

Spécifie le chemin d'accès à un fichier manifeste de flux.

Remarque : Requis pour chaque flux pour HLS , Microsoft Smooth Streaming , et Highwinds SMIL listes de lecture.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "playlist",
      "streams": [
        {
          "path": "low/index.m3u8",
          "source": "low-hls-rendition"
        },
        {
          "path": "http://example.com/video/high/index.m3u8",
          "source": "high-hls-rendition"
        }
      ]
    }
  ]
}

bandwidth

bandwidth:Integer

Versions de l'API : V2

Parent outputs:/ flux

Valeurs valides : Valeurs entières positives en Kbps

Types de tâches compatibles : VOD

Exemple : 500

Description :

Spécifie la bande passante d'un flux de playlist. Remplace la bande passante déterminée à partir d'un la source.

Remarque : Requis pour chaque flux pour HLS et Highwinds SMIL listes de lecture, sauf si un la source est fourni.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "playlist",
      "streams": [
        {
          "path": "low/index.m3u8",
          "bandwidth": 240
        },
        {
          "path": "high/index.m3u8",
          "bandwidth": 640
        }
      ]
    }
  ]
}

resolution

resolution:String

Versions de l'API : V2

Parent outputs:/ flux

Valeurs valides : Chaîne contenant la largeur et la hauteur comme suit : 800x600

Types de tâches compatibles : VOD

Description :

Spécifie la résolution d'un flux de playlist. Remplace la résolution déterminée à partir d'un source.


  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "playlist",
      "streams": [
        {
          "path": "low/index.m3u8",
          "bandwidth": 240,
          "resolution": "320x180"
        },
        {
          "path": "high/index.m3u8",
          "bandwidth": 640,
          "resolution": "640x360"
        }
      ]
    }
  ]
}

codecs

codecs:String

Versions de l'API : V2

Parent outputs:/ flux

Valeurs valides : Chaîne contenant des codecs au format HTML5, tels que : mp4a.40.2

Types de tâches compatibles : VOD

Description :

Spécifie les codecs utilisés dans un flux de playlist. Remplace les codecs déterminés à partir d'un source.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "playlist",
      "streams": [
        {
          "path": "low/index.m3u8",
          "bandwidth": 240,
          "codecs": "avc1.42001e, mp4a.40.2"
        },
        {
          "path": "audio/index.m3u8",
          "bandwidth": 64,
          "codecs": "mp4a.40.2"
        }
      ]
    }
  ]
}

audio

audio:String

Versions de l'API : V2

Parent outputs:/ flux

Valeurs valides : Chaîne contenant le nom du GROUP-ID audio à utiliser. Cette valeur doit avoir été définie comme un alternatif_audio regroupement. Les codecs doit refléter tous les codecs du groupe audio alternatif.

Types de tâches compatibles : VOD

Description :

Spécifie une piste audio alternative pour la liste de lecture.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "playlist",
      "alternate_audio": {
        "ac3_audio": {
          "path": "path/to/ac3-audio.m3u8",
          "language": "en",
          "default": true,
          "source": "ac3-audio-rendition"
        },
        "source_audio": {
          "language": "en",
          "default": true
        }
      },
      "streams": [
        {
          "path": "low/index.m3u8",
          "source": "low-hls-rendition",
          "audio": "ac3_audio"
        },
        {
          "path": "low/index.m3u8",
          "source": "low-hls-rendition",
          "audio": "source_audio"
        }
      ]
    }
  ]
}

segment_image_url

segment_image_url:String (URL)

Versions de l'API : V2

Parent : outputs

Types de tâches compatibles : VOD

Description :

Lors de la création de segments audio uniquement, utilisez le fichier image spécifié comme miniature pour chaque segment.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "segment_image_url": "http://example.com/thumb.png"
    }
  ]
}

segment_video_snapshots

segment_video_snapshots:Boolean

Versions de l'API : V2

Parent : outputs

Valeur par défaut : false

Valeurs valides : vrai ou faux

Types de tâches compatibles : VOD

Exemple : vrai

Description :

Lorsque vous segmentez un fichier vidéo en segments audio uniquement, prenez des instantanés de la vidéo sous forme de vignettes pour chaque segment.

Cette option n'a aucun effet si segment_image_file est défini.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "segment_video_snapshots": true
    }
  ]
}

Voir aussi : segment_image_url

source

source:String

Versions de l'API : V2

Parent outputs:/ flux

Types de tâches compatibles : VOD

Description :

Référence une étiquette sur une sortie multimédia du même travail, pour remplir les données correspondantes dans la liste de lecture.

Pour HLS , les bande passante , codecs , et résolution les valeurs sont déduites de la source par défaut. Tout bande passante , codecs , ou résolution les valeurs spécifiées pour le même flux remplaceront les valeurs déduites.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "playlist",
      "streams": [
        {
          "path": "low/index.m3u8",
          "source": "low-hls-rendition"
        },
        {
          "path": "high/index.m3u8",
          "source": "high-hls-rendition"
        }
      ]
    }
  ]
}

max_hls_protocol_version

max_hls_protocol_version:Integer

Versions de l'API : V2

Parent outputs:/ flux

Par défaut : 5 pour un exemple de chiffrement AES ; sinon, 2.

Valeurs valides : 2-5

Types de tâches compatibles : VOD

Exemple : 4

Description :

Définit le maximum HLS version du protocole à utiliser. Les fonctionnalités spéciales seront utilisées selon leur disponibilité.

Cette option doit être supérieure ou égale à hls_protocol_version lorsqu'il est fourni.

Remarque : S'applique uniquement à Diffusion HTTP en direct les sorties.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "path": "file-240k.m3u8",
      "bandwidth": 240,
      "max_hls_protocol_version": 4
    },
    {
      "type": "segmented",
      "path": "file-64k.m3u8",
      "bandwidth": 64,
      "max_hls_protocol_version": 4
    },
    {
         "filename":"playlist.m3u8",
         "public":1,
         "max_hls_protocol_version":4,
         "streams":[
            {
               "path":"file-240k.m3u8"
            },
            {
               "path":"file-64k.m3u8"
            }
         ],
         "type":"playlist"
    }
  ]
}

Voir aussi : hls_protocol_version

hls_protocol_version

hls_protocol_version:Integer

Versions de l'API : V2

Parent outputs:/ flux

Par défaut : Automatique selon max_hls_protocol_version réglage

Valeurs valides : 2-5

Types de tâches compatibles : VOD

Exemple : 3

Description :

Définit la version du protocole HLS à utiliser. Les fonctionnalités spéciales seront utilisées selon leur disponibilité.

Remarque : S'applique uniquement à Diffusion HTTP en direct les sorties.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "hls_protocol_version": 3
    }
  ]
}

Voir aussi : max_hls_protocol_version

hls_optimized_ts

hls_optimized_ts:Boolean

Versions de l'API : V2

Parent outputs:/ flux

Par défaut : true

Valeurs valides : true ou false

Types de tâches compatibles : VOD

Description :

Optimise les fichiers de segment TS pour HTTP Live Streaming sur les appareils iOS.

Remarque : S'applique uniquement à HTTP Live Streaming les sorties.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "hls_optimized_ts": false
    }
  ]
}

prepare_for_segmenting

prepare_for_segmenting:String or Array

Versions de l'API : V2

Parent : outputs

Valeurs valides : hls, mss, dash

Types de tâches compatibles : VOD

Exemple : hls,dash

Description :

Si vous envisagez de transmettre une sortie vers HLS, MSS et/ou DASH après l'avoir codée avec des sous-titres en MP4, définissez cette option sur true pour inclure les sous-titres et synchronisation des images-clés pour la segmentation. Cela permet aux versions segmentées d'inclure des sous-titres compatibles HLS malgré le transmuxage et permet une segmentation à des intervalles de temps cohérents.

Spécifiez le type de sortie (s) segmentée (s) que cette sortie sera transmux plus tard pour créer, afin que Zencoder puisse préparer les légendes et les images clés si nécessaire.

Remarque : Les sous-titres ne peuvent actuellement pas être ajoutés à HLS sorties lors du transmuxage.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "prepare_for_segmenting": "hls,dash"
    }
  ]
}

Voir aussi : caption_url et skip_captions

smil-base-url

smil_base_url:String

Versions de l'API : V2

Parent : outputs

Types de tâches compatibles : VOD

Exemple : rtmp : //127.0.0.1/base/path/

Description :

Cela ajoutera la balise <meta base = "smil_base_url_value" /> à la section <head> d'une playlist SMIL.

Cet exemple affiche une liste de lecture qui ressemble à ceci :

  <smil>
    <head>
      <meta base = "rtmp: //123.456.123.123/path/to/videos/" />
    </head>
    <body>
      <interrupteur>
        <video src = "mp4: test.mp4" system-bitrate = "500000" />
      </switch>
    </body>
  </smil>

Remarque : fonctionne uniquement sur une sortie de type playlist, avec un format de Highwinds.

{
  "input": "s3://zencodertesting/test.mov",
  "output": [
    {
      "filename": "test.mp4",
      "video_bitrate": 400,
      "audio_bitrate": 96
    },
    {
      "type": "playlist",
      "format": "highwinds",
      "smil_base_url": "rtmp://123.456.123.123/path/to/videos/",
      "url": "ftp://my.server/playlist.smil",
      "streams": [
        {
          "path": "test.mp4",
          "bandwidth": 500
        }
      ]
    }
  ]
}

byte_range_segmenting

byte_range_segmenting:Boolean

Versions de l'API : V2

Parent : outputs

Par défaut : false

Valeurs valides : true ou false

Types de tâches compatibles : VOD

Exemple : vrai

Description :

Configure HLS segmentation pour produire un seul fichier de sortie plutôt qu'un fichier par segment.

A besoin max_hls_protocol_version ou hls_protocol_version réglé sur 4 ou plus.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "format": "ts",
      "byte_range_segmenting": true
    }
  ]
}

Voir aussi : max_hls_protocol_version

generate_keyframe_manifest

generate_keyframe_manifest:Boolean

Versions de l'API : V2

Parent : outputs

Par défaut : false

Valeurs valides : true ou false

Types de tâches compatibles : VOD

Exemple : true

Description :

Génère un HLS manifeste d'image clé (image I) requis pour la lecture en avance et en arrière rapides.

Le nom de fichier du manifeste d'image clé par défaut est le même que le nom de fichier de la playlist, mais avec '-iframe-index' ajouté (donc pour une playlist 'master.m3u8', le manifeste d'image clé serait 'master-iframe-index.m3u8'). Le nom du fichier manifeste de l'image clé peut être remplacé par keyframe_manifest_filename.

Activé par défaut si max_hls_protocol_version ou hls_protocol_version est défini sur 4 ou plus.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "format": "ts",
      "generate_keyframe_manifest": true,
      "keyframe_manifest_filename": "my_iframe_index.m3u8"
    }
  ]
}

Voir aussi : keyframe_manifest_filename

keyframe_manifest_filename

keyframe_manifest_filename:String

Versions de l'API : V2

Parent : outputs

Par défaut : iframe_index.m3u8

Types de tâches compatibles : VOD

Exemple : my_iframe_index.m3u8

Description :

Sauf indication contraire, le nom de fichier utilisé pour le manifeste d'image clé est le même que le nom de fichier de la playlist, mais avec '-iframe-index' ajouté. Par exemple, pour la liste de lecture « master.m3u8 », le manifeste d'image-clé est « master-iframe-index.m3u8 ».

Cette option nécessite que generate_keyframe_manifest est vrai, ou hls_protocol_version est égal ou supérieur à 4.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "format": "ts",
      "generate_keyframe_manifest": true,
      "keyframe_manifest_filename": "my_iframe_index.m3u8"
    }
  ]
}

Voir aussi : generate_keyframe_manifest

allow_skipped_sources

allow_skipped_sources:Boolean

Versions de l'API : V2

Parent : outputs

Par défaut : false

Valeurs valides : true ou false

Types de tâches compatibles : VOD

Exemple : true

Description :

Lors de la génération de la liste de lecture, au lieu d'échouer la sortie si l'un des flux référencés a été ignoré (dans le cadre du sorties conditionnelles fonctionnalité), laissez-les simplement hors de la liste de lecture.

Pour ignorer correctement les sources ignorées, les flux de la playlist doivent avoir un source défini.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "playlist",
      "allow_skipped_sources": true,
      "streams": [
        {
          "path": "low/index.m3u8",
          "source": "low-hls-rendition"
        },
        {
          "path": "high/index.m3u8",
          "source": "high-hls-rendition"
        }
      ]
    }
  ]
}

Voir aussi : source