Resumen
Zencoder admite varias formas de transmisión adaptativa y segmentada.
- Listas de reproducción y streaming en directo (segmentado) HTTP
- Transmisión fluida de Microsoft
- Viento alto SMIL
Cada formato de transmisión utiliza un subconjunto diferente de las opciones de API que se enumeran a continuación. Consulte las guías de cada tipo de transmisión para obtener más información.
NOTAS
- Un trabajo debe tener al menos una salida estándar o segmentada; la creación de trabajos con solo salidas de listas de reproducción no funcionará.
- Las salidas de listas de reproducción ignorarán la mayoría de las opciones de salida, excepto url
base_url
,filename
,streams
,public
, ytype
. - Si una salida segmentada se carga en un almacenamiento temporal, se cargará como Archivo ZIP.
streaming_delivery_format
streaming_delivery_format:String
Versiones de API: V2
Padre: outputs
Valores válidos: pizca
Tipos de trabajo compatibles: VOD
Ejemplo: pizca
Descripción:
Establece el formato / protocolo para una salida que se entregará mediante una configuración de transmisión específica, incluidos los manifiestos necesarios, las estructuras de directorio u otros paquetes.
Para las salidas de 'guión', esto también cambiará el segmento_segundos predeterminado a 2, aplicará intervalos de fotogramas clave fijos, incluirá un manifiesto MPD y creará una estructura de directorio con archivos de inicialización y segmento.
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "segmented",
"streaming_delivery_format": "dash"
}
]
}
Ver también: streaming_delivery_profile
streaming_delivery_profile
streaming_delivery_profile:String
Versiones de API: V2
Padre: outputs
Defecto: En Vivo
Valores válidos: en vivo, hbbtv_1.5, on_demand
Tipos de trabajo compatibles: VOD
Ejemplo: En Vivo
Descripción:
Establece el perfil del formato de transmisión de transmisión, asegurando que las opciones se seleccionen para que sean compatibles con el perfil. Las opciones válidas dependen del seleccionado streaming_delivery_format
.
Para dash
salidas, los perfiles admitidos actualmente son:
- en vivo - Establecerá el
DASH
profile a "urn: mpeg: dash: profile: isoff-live: 2011" y use una solaSegmentTemplate
para cadaAdaptationSet
. Para DRM, utilizará un IV de 8 bytes y paraPlayReady
utilizará la versión 1.1, incluido un átomo PSSH en los medios. - hbbtv_1.5: establecerá el
DASH
profile a "urn: hbbtv: dash: profile: isoff-live: 2012" e incluya los atributos requeridos para las representaciones de audio y video. Para DRM, utilizará un IV de 16 bytes y paraPlayReady
utilizará la versión 1.0, excluidos los átomos PSSH. - on_demand: establecerá el
DASH
profile a "urn: mpeg: dash: profile: isoff-on-demand: 2011" y codifique los medios como archivos fragmentados individuales para cada flujo en lugar de segmentarlos. De lo contrario, lo mismo que el perfil en vivo.
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "segmented",
"streaming_delivery_format": "dash",
"streaming_delivery_profile": "hbbtv_1.5"
}
]
}
Ver también: streaming_delivery_format
playlist_format
playlist_format:String
Versiones de API: V2
Padre: outputs
Valores válidos: dash
, mpd
, hls
, m3u
, m3u8
, ism
, mss
, highwinds
Tipos de trabajo compatibles: VOD
Ejemplo: pizca
Descripción:
Establece el formato para la salida de una lista de reproducción (manifiesto de interpretación).
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "playlist",
"playlist_format": "dash"
}
]
}
segment_seconds
segment_seconds:Float
Versiones de API: V2
Padre: outputs
Defecto: 10
Valores válidos: Números entre 1,0 y 3600,0; los valores inferiores a 2,0 solo se permiten cuando byte_range_segmenting
está habilitado. Debido a que se ha descubierto que los segmentos muy cortos causan problemas de reproducción, el segmento final puede ser más largo que el valor especificado.
Tipos de trabajo compatibles: VOD
Ejemplo: 8
Descripción:
Establece la duración máxima de cada segmento en una salida segmentada.
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "segmented",
"segment_seconds": 8
}
]
}
alternate_audio
alternate_audio:Hash
Versiones de API: V2
Padre: outputs
Valores válidos: Hash de grupos de audio alternativos, cada uno de los cuales es una matriz de hashes de reproducción de transmisión de audio
Tipos de trabajo compatibles: VOD
Descripción:
Proporciona un conjunto de transmisiones de audio alternativas para HLS
listas de reproducción. Requiere max_hls_protocol_version
tener 4 o más.
Esta opción insertará EXT-X-MEDIA
etiquetas en la lista de reproducción. Si name
no está configurado, entonces se generará un nombre basado en el dado language
.
Opciones válidas para interpretaciones de audio alternativas
language
: El código ISO 639 para el idioma de la pista de audio, como "en", "es" o "zh".name
(Opcional): El nombre del grupo de audio alternativo. Si no se establece el nombre, se utilizará de forma predeterminada el nombre del idioma.path
(Opcional): Una ruta opcional a la lista de reproducción M3U8 para esta reproducción de audio. Si no se establece la ruta, este flujo de audio alternativo describe el audio contenido en el flujo de origen.source
(Opcional): La etiqueta en una salida de soporte del mismo trabajo. Esto se puede usar para configurar el códec para las representaciones que usan este flujo de 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
Versiones de API: V2
Padre: outputs
Valores válidos: Matriz de hashes que contienen información de transmisión de la lista de reproducción
Tipos de trabajo compatibles: VOD
Descripción:
Proporciona una lista de información de la transmisión para reformatearla como una lista de reproducción.
{
"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
Versiones de API: V2
Valores válidos: Cadena que contiene una ruta absoluta o relativa a un archivo de manifiesto
Tipos de trabajo compatibles: VOD
Descripción:
Especifica la ruta a un archivo de manifiesto de flujo.
Nota: Requerido para cada transmisión para HLS
, Transmisión fluida de Microsoft , y Highwinds SMIL listas de reproducción.
{
"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
Versiones de API: V2
Valores válidos: Valores enteros positivos en Kbps
Tipos de trabajo compatibles: VOD
Ejemplo: 500
Descripción:
Especifica el ancho de banda de la transmisión de una lista de reproducción. Anula el ancho de banda determinado a partir de un fuente.
Nota: Requerido para cada transmisión para HLS
y Highwinds SMIL listas de reproducción, a menos que una fuente está provisto.
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "playlist",
"streams": [
{
"path": "low/index.m3u8",
"bandwidth": 240
},
{
"path": "high/index.m3u8",
"bandwidth": 640
}
]
}
]
}
resolution
resolution:String
Versiones de API: V2
Valores válidos: Cadena que contiene ancho y alto como: 800 x 600
Tipos de trabajo compatibles: VOD
Descripción:
Especifica la resolución de una secuencia de lista de reproducción. Anula la resolución determinada a partir de 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
Versiones de API: V2
Valores válidos: Cadena que contiene códecs en formato HTML5, como: mp4a.40.2
Tipos de trabajo compatibles: VOD
Descripción:
Especifica los códecs utilizados en una secuencia de lista de reproducción. Anula los códecs determinados a partir de 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
Versiones de API: V2
Valores válidos: Cadena que contiene el nombre del ID de GRUPO de audio que se utilizará. Este valor debe haber sido definido como un audio_alternativo agrupamiento. La códecs La configuración debe reflejar todos los códecs del grupo de audio alternativo.
Tipos de trabajo compatibles: VOD
Descripción:
Especifica una pista de audio alternativa para la lista de reproducción.
{
"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)
Versiones de API: V2
Padre: outputs
Tipos de trabajo compatibles: VOD
Descripción:
Al crear segmentos de solo audio, utilice el archivo de imagen especificado como miniatura para cada segmento.
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "segmented",
"segment_image_url": "http://example.com/thumb.png"
}
]
}
segment_video_snapshots
segment_video_snapshots:Boolean
Versiones de API: V2
Padre: outputs
Defecto: falso
Valores válidos: verdadero o falso
Tipos de trabajo compatibles: VOD
Ejemplo: cierto
Descripción:
Al segmentar un archivo de video en segmentos de solo audio, tome instantáneas del video como miniaturas para cada segmento.
Esta opción no tiene ningún efecto si se establece segmento_imagen_file.
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"segment_video_snapshots": true
}
]
}
Ver también: segmento_url_imagen
source
source:String
Versiones de API: V2
Tipos de trabajo compatibles: VOD
Descripción:
Hace referencia a una etiqueta en una salida multimedia del mismo trabajo, para completar los datos correspondientes en la lista de reproducción.
Para HLS
, los banda ancha , códecs , y resolución los valores se infieren de la fuente de forma predeterminada. Alguna banda ancha , códecs , o resolución los valores especificados para la misma secuencia anularán los valores inferidos.
{
"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
Versiones de API: V2
Defecto: 5 para cifrado AES de muestra; de lo contrario, 2.
Valores válidos: 2-5
Tipos de trabajo compatibles: VOD
Ejemplo: 4
Descripción:
Establece el máximo HLS
versión de protocolo a utilizar. Las funciones especiales se utilizarán según estén disponibles.
Esta opción debe ser mayor o igual a hls_protocol_version
cuando se proporciona.
Nota: Solo se aplica a Transmisión en directo HTTP salidas.
{
"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"
}
]
}
Ver también: hls_protocol_version
hls_protocol_version
hls_protocol_version:Integer
Versiones de API: V2
Defecto: Automático según max_hls_protocol_version
configuración
Valores válidos: 2-5
Tipos de trabajo compatibles: VOD
Ejemplo: 3
Descripción:
Establece la versión del protocolo HLS que se utilizará. Las funciones especiales se utilizarán según estén disponibles.
Nota: Solo se aplica a Transmisión en directo HTTP salidas.
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "segmented",
"hls_protocol_version": 3
}
]
}
Ver también: max_hls_protocol_version
hls_optimized_ts
hls_optimized_ts:Boolean
Versiones de API: V2
Defecto: true
Valores válidos: true
o false
Tipos de trabajo compatibles: VOD
Descripción:
Optimiza los archivos de segmento TS para HTTP Live Streaming
en dispositivos iOS.
Nota: Solo se aplica a HTTP Live Streaming
salidas.
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "segmented",
"hls_optimized_ts": false
}
]
}
prepare_for_segmenting
prepare_for_segmenting:String or Array
Versiones de API: V2
Padre: outputs
Valores válidos: hls
, mss
, dash
Tipos de trabajo compatibles: VOD
Ejemplo: hls,dash
Descripción:
Si planea transmitir una salida a HLS
, MSS y / o DASH
después de codificarlo con subtítulos en MP4, establezca esta opción en verdadero para incluir subtítulos y tiempo de fotogramas clave para la segmentación. Esto permite que las versiones segmentadas incluyan subtítulos compatibles con HLS a pesar de la transmutación y permite la segmentación a intervalos de tiempo consistentes.
Especifique el tipo de salida (s) segmentada que esta salida se transmuxará más tarde para crear, de modo que Zencoder pueda preparar los subtítulos y los fotogramas clave según sea necesario.
Nota: Actualmente, no se pueden agregar subtítulos a HLS
salidas al transmutar.
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"prepare_for_segmenting": "hls,dash"
}
]
}
Ver también: caption_url y skip_captions
smil-base-url
smil_base_url:String
Versiones de API: V2
Padre: outputs
Tipos de trabajo compatibles: VOD
Ejemplo: rtmp: //127.0.0.1/base/path/
Descripción:
Esto agregará la etiqueta <meta base = "smil_base_url_value" /> a la sección <head> de una lista de reproducción SMIL.
Este ejemplo generará una lista de reproducción que se ve así:
<smil> <head> <meta base = "rtmp: //123.456.123.123/path/to/videos/" /> </head> <body> <switch> <video src = "mp4: test.mp4" system-bitrate = "500000" /> </switch> </body> </smil>
Nota: solo funciona en una lista de reproducción de salida de tipo, con un formato de viento fuerte.
{
"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
Versiones de API: V2
Padre: outputs
Defecto: false
Valores válidos: true
o false
Tipos de trabajo compatibles: VOD
Ejemplo: cierto
Descripción:
Configura HLS
segmentar para producir un solo archivo de salida en lugar de un archivo por segmento.
Requiere max_hls_protocol_version
o hls_protocol_version
establecido en 4 o superior.
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "segmented",
"format": "ts",
"byte_range_segmenting": true
}
]
}
Ver también: max_hls_protocol_version
generate_keyframe_manifest
generate_keyframe_manifest:Boolean
Versiones de API: V2
Padre: outputs
Defecto: false
Valores válidos: true
o false
Tipos de trabajo compatibles: VOD
Ejemplo: true
Descripción:
Genera un HLS
manifiesto de fotograma clave (I-frame) que es necesario para la reproducción de avance rápido y retroceso.
El nombre de archivo de manifiesto de fotogramas clave predeterminado es el mismo que el nombre de archivo de la lista de reproducción, pero con '-iframe-index' agregado (por lo que para una lista de reproducción 'master.m3u8', el manifiesto de fotogramas clave sería 'master-iframe-index.m3u8'). El nombre del archivo de manifiesto de fotogramas clave se puede anular con keyframe_manifest_filename
.
Habilitado por defecto si max_hls_protocol_version
o hls_protocol_version
se establece en 4 o más.
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "segmented",
"format": "ts",
"generate_keyframe_manifest": true,
"keyframe_manifest_filename": "my_iframe_index.m3u8"
}
]
}
Ver también: keyframe_manifest_filename
keyframe_manifest_filename
keyframe_manifest_filename:String
Versiones de API: V2
Padre: outputs
Defecto: iframe_index.m3u8
Tipos de trabajo compatibles: VOD
Ejemplo: my_iframe_index.m3u8
Descripción:
A menos que se especifique, el nombre de archivo utilizado para el manifiesto de fotogramas clave es el mismo que el nombre de archivo de la lista de reproducción, pero con '-iframe-index' agregado. Por ejemplo, para la lista de reproducción 'master.m3u8', el manifiesto del fotograma clave sería 'master-iframe-index.m3u8'.
Esta opción requiere que generate_keyframe_manifest es cierto, o hls_protocol_version
es 4 o mayor.
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "segmented",
"format": "ts",
"generate_keyframe_manifest": true,
"keyframe_manifest_filename": "my_iframe_index.m3u8"
}
]
}
Ver también: generate_keyframe_manifest
allow_skipped_sources
allow_skipped_sources:Boolean
Versiones de API: V2
Padre: outputs
Defecto: false
Valores válidos: true
o false
Tipos de trabajo compatibles: VOD
Ejemplo: true
Descripción:
Al generar la lista de reproducción, en lugar de fallar la salida si se omitió alguna de las transmisiones a las que se hace referencia (como parte de la salidas condicionales funcionalidad), simplemente déjelos fuera de la lista de reproducción.
Para ignorar correctamente las fuentes omitidas, las transmisiones de la lista de reproducción deben tener un source
definido.
{
"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"
}
]
}
]
}
Ver también: source