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
, ettype
. - 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 seulSegmentTemplate
pour chaqueAdaptationSet
. Pour DRM, il utilisera un IV de 8 octets, et pourPlayReady
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 pourPlayReady
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
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
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
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
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
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
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
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
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
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