Pour tirer parti de MSS, votre vidéo et votre audio doivent être encodés dans un format segmenté spécial, et des manifestes client et serveur doivent être générés contenant des informations sur les fichiers. Zencoder peut générer tous les fichiers nécessaires pour le Smooth Streaming à un et plusieurs débits.
Créer une vidéo Smooth Streaming est facile à faire avec Zencoder. Seules quelques options doivent être définies pour créer les fichiers nécessaires pour un encodage à un seul débit.
{
"api_key": "asdf1234",
"input": "s3://my-input-bucket/input-file.mp4",
"outputs": [
{
"audio_bitrate": 56,
"audio_sample_rate": 22050,
"url": "s3://my-bucket/medium/file.ism",
"decoder_bitrate_cap": 900,
"decoder_buffer_size": 2400,
"max_frame_rate": 30,
"segment_seconds": 2,
"type": "segmented",
"video_bitrate": 600,
"width": 400,
"format": "ism"
}
]
}
Les parties pertinentes de la demande d'API ci-dessus sont les options "type", "format" et "url".
Dans le langage de Smooth Streaming, un fichier "ism" est un manifeste de serveur Smooth Streaming. Cependant, ce n'est pas le seul fichier qui sera généré. Dans le même répertoire que le fichier "ism", nous créerons également un fichier "ismc", autrement connu sous le nom de manifeste client Smooth Streaming, et un fichier "ismv", qui est la vidéo encodée.
La création d'un travail Smooth Streaming multi-débit avec Zencoder ne nécessite pas beaucoup plus dans votre demande d'API, juste des sorties pour les différentes vitesses de transfert plus une liste de lecture qui les référence.
{
"api_key": "asdf1234",
"input": "s3://my-input-bucket/input-file.mp4",
"outputs": [
{
"type": "playlist",
"format": "ism",
"url": "s3://my-output-bucket/file.ism",
"streams": [
{
"source": "low-output",
"path": "low/file.ismv"
},
{
"source": "medium-output",
"path": "medium/file.ismv"
},
{
"source": "high-output",
"path": "high/file.ismv"
}
]
},
{
"label": "low-output",
"audio_bitrate": 56,
"audio_sample_rate": 22050,
"url": "s3://my-bucket/low/file.ism",
"decoder_bitrate_cap": 165,
"decoder_buffer_size": 440,
"max_frame_rate": 30,
"segment_seconds": 2,
"public": 1,
"type": "segmented",
"video_bitrate": 110,
"width": 320,
"format": "ism"
},
{
"label": "medium-output",
"audio_bitrate": 56,
"audio_sample_rate": 22050,
"url": "s3://my-bucket/medium/file.ism",
"decoder_bitrate_cap": 600,
"decoder_buffer_size": 1600,
"max_frame_rate": 30,
"segment_seconds": 2,
"public": 1,
"type": "segmented",
"video_bitrate": 400,
"width": 400,
"format": "ism"
},
{
"label": "high-output",
"audio_bitrate": 56,
"audio_sample_rate": 22050,
"url": "s3://my-bucket/high/file.ism",
"decoder_bitrate_cap": 900,
"decoder_buffer_size": 2400,
"max_frame_rate": 30,
"segment_seconds": 2,
"public": 1,
"type": "segmented",
"video_bitrate": 600,
"width": 400,
"format": "ism"
}
]
}
Les sorties Smooth Streaming individuelles à débit unique (étiquetées « faible sortie », « sortie moyenne » et « haute sortie ») sont similaires à la sortie de l'exemple précédent, et peuvent être jouées seules si nécessaire. La différence importante est la première sortie, qui crée la playlist qui fait référence aux vidéos. L'appareil lisant la vidéo utilisera cette liste de lecture pour déterminer le fichier approprié à charger en fonction de la bande passante disponible.
Les parties pertinentes à noter pour la liste de lecture sont les suivantes :
type
devrait être "playlist"format
devrait être "ism"url
devrait avoir une extension de "ism"streams
doit être un tableau d'objets JSON qui ont chacun les clés « source » et « chemin »
source
devrait être l'étiquette de la sortie à utiliser pour le flux donnépath
doit être le chemin relatif vers le fichier "ismv" ou "isma" de la sortie "source" car il sera servi par votre serveurLes listes de lecture pour Smooth Streaming multi-débit et leurs vidéos doivent être créées dans un seul travail Zencoder, elles ne peuvent pas être créées dans des travaux séparés ou après que les vidéos ont été créées dans d'autres travaux. Certaines informations des vidéos et de leurs manifestes sont nécessaires pour générer les manifestes Smooth Streaming à plusieurs débits. Cela inclut les manifestes du client à partir des sorties Smooth Streaming à débit unique ainsi que le chemin relatif vers les fichiers vidéo ou audio à débit unique lorsqu'ils seront servis à partir de leur destination finale. Une fois que les sorties segmentées ont terminé le transcodage, leurs manifestes client sont utilisés pour générer les manifestes Smooth Streaming à plusieurs débits et les placer à l'emplacement spécifié par "url".
Un serveur IIS Smooth Streaming est nécessaire pour fournir des fichiers Smooth Streaming aux joueurs. Ce guide sur Premiers pas avec IIS Smooth Streaming est un bon endroit pour commencer à configurer un serveur IIS Smooth Streaming.