Ejemplos de Media Services v3

Logotipo de Media Services v3


¿Busca la documentación de Media Services, versión 2?

Este artículo contiene una lista de todos los ejemplos disponibles para Media Services organizados por método y SDK. Entre los ejemplos se incluyen .NET, Node.js (TypeScript), Python, Java y también REST con Postman.

Ejemplos por SDK

Encontrará la descripción y los vínculos a los ejemplos que puede encontrar en cada una de las pestañas.

Muestra Descripción
Account/CreateAccount En el ejemplo, se muestra cómo crear una cuenta de Media Services y establecer la cuenta de almacenamiento principal, además de opciones de configuración avanzadas, como la lista de direcciones IP permitidas para la entrega de claves, la identidad administrada, la autenticación del almacenamiento y la incorporación de su propia clave de cifrado.
VideoEncoding/Encoding_PredefinedPreset En el ejemplo, se muestra cómo enviar un trabajo mediante un valor preestablecido integrado y una entrada de dirección URL HTTP, publicar un recurso de salida para el streaming y descargar los resultados para su comprobación.
VideoEncoding/Encoding_H264_ContentAware Muestra el uso más básico de la codificación con reconocimiento de contenido H.264 sin restricciones
VideoEncoding/Encoding_H264_ContentAware_Constrained Muestra cómo usar la clase PresetConfigurations para restringir el comportamiento de salida del valor preestablecido
VideoEncoding/Encoding_H264 En el ejemplo, se muestra cómo enviar un trabajo mediante un valor preestablecido de codificación H.264 personalizado y una entrada de dirección URL HTTP, publicar un recurso de salida para la transmisión y descargar los resultados para su comprobación.
VideoEncoding/Encoding_HEVC_ContentAware Muestra el uso básico del códec HEVC con codificación con reconocimiento de contenido y sin restricciones. La clase PresetConfigurations también es compatible con HEVC y se puede agregar a este ejemplo.
VideoEncoding/Encoding_HEVC En el ejemplo, se muestra cómo enviar un trabajo mediante un valor preestablecido de codificación HEVC personalizado y una entrada de dirección URL HTTP, publicar un recurso de salida para la transmisión y descargar los resultados para su comprobación.
VideoEncoding/Encoding_StitchTwoAssets En el ejemplo, se muestra cómo enviar un trabajo mediante JobInputSequence para unir 2 o más recursos que se puedan recortar por hora de inicio o de finalización. El archivo codificado resultante es un vídeo único con todos los recursos unidos. El ejemplo también publicará el recurso de salida para la transmisión y descargará los resultados para su comprobación.
VideoEncoding/Encoding_SpriteThumbnail En el ejemplo, se muestra cómo enviar un trabajo mediante un valor preestablecido personalizado con un sprite de miniaturas y una entrada de dirección URL HTTP, publicar un recurso de salida para la transmisión y descargar los resultados para su comprobación.
Live/LiveEventWithDVR En primer lugar, en este ejemplo se muestra cómo crear un objeto LiveEvent con un archivo completo de hasta 25 horas y un filtro en el recurso con una ventana de DVR de 5 minutos y, a continuación, se muestra cómo usar el filtro para crear un localizador para streaming.
VideoAnalytics/VideoAnalyzer En este ejemplo, se muestra cómo crear una transformación del analizador de vídeo, cargar un archivo de vídeo en un recurso de entrada, enviar un trabajo con la transformación y descargar los resultados para su comprobación.
AudioAnalytics/AudioAnalyzer En este ejemplo, se muestra cómo crear una transformación del analizador de audio, cargar un archivo multimedia en un recurso de entrada, enviar un trabajo con la transformación y descargar los resultados para su comprobación.
ContentProtection/BasicAESClearKey En este ejemplo, se muestra cómo crear una transformación con un valor preestablecido de AdaptiveStreaming integrado, enviar un trabajo, crear un elemento ContentKeyPolicy con una clave secreta, asociar el elemento ContentKeyPolicy con un objeto StreamingLocator, obtener un token e imprimir una dirección URL para la reproducción en Azure Media Player. Cuando un reproductor solicita una secuencia, Media Services usa la clave especificada para cifrar de forma dinámica el contenido con AES-128 y Azure Media Player utiliza el token para descifrarlo.
ContentProtection/BasicWidevine En este ejemplo, se muestra cómo crear una transformación con un valor preestablecido de AdaptiveStreaming integrado, enviar un trabajo, crear un elemento ContentKeyPolicy con la configuración de Widevine con una clave secreta, asociar el elemento ContentKeyPolicy con un objeto StreamingLocator, obtener un token e imprimir una dirección URL para la reproducción en Widevine Player. Cuando un usuario solicita contenido protegido por Widevine, la aplicación del reproductor solicita una licencia al servicio de licencias de Media Services. Si la aplicación del reproductor está autorizada, el servicio de licencias de Media Services otorga una licencia al reproductor. Una licencia de Widevine contiene la clave de descifrado que puede usar el reproductor cliente para descifrar y transmitir el contenido.
ContentProtection/BasicPlayReady En este ejemplo, se muestra cómo crear una transformación con un valor preestablecido de AdaptiveStreaming integrado, enviar un trabajo, crear un elemento ContentKeyPolicy con la configuración de PlayReady con una clave secreta, asociar el elemento ContentKeyPolicy con un objeto StreamingLocator, obtener un token e imprimir una dirección URL para la reproducción en Azure Media Player. Cuando un usuario solicita contenido protegido por PlayReady, la aplicación del reproductor solicita una licencia al servicio de licencias de Media Services. Si la aplicación del reproductor está autorizada, el servicio de licencias de Media Services otorga una licencia al reproductor. Una licencia de PlayReady contiene la clave de descifrado que se puede usar por el reproductor del cliente para descifrar y hacer streaming del contenido.
ContentProtection/OfflinePlayReadyAndWidevine En este ejemplo, se muestra cómo cifrar dinámicamente el contenido con DRM de PlayReady y Widevine y reproducir el contenido sin solicitar una licencia al servicio de licencias. Cómo crear una transformación con un valor preestablecido de AdaptiveStreaming integrado, enviar un trabajo, crear un elemento ContentKeyPolicy con restricciones abiertas y la configuración persistente de PlayReady y Widevine, asociar el elemento ContentKeyPolicy con un objeto StreamingLocator e imprimir una dirección URL para la reproducción.
Streaming/AssetFilters En este ejemplo, se muestra cómo crear una transformación con valores preestablecidos de AdaptiveStreaming integrados, enviar un trabajo, crear un filtro de recursos y un filtro de cuentas, asociar los filtros a los localizadores de streaming e imprimir direcciones URL para la reproducción.
Streaming/StreamHLSAndDASH En este ejemplo, se muestra cómo crear una transformación con un valor preestablecido de AdaptiveStreaming integrado, enviar un trabajo y publicar un recurso de salida para la transmisión HLS y DASH.
HighAvailabilityEncodingStreaming En este ejemplo, se proporcionan instrucciones y procedimientos recomendados para un sistema de producción con codificación o análisis a petición. Los lectores deben comenzar por el artículo complementario Alta disponibilidad con Media Services y Vídeo bajo demanda (VOD). Se proporciona un archivo de solución independiente para el ejemplo HighAvailabilityEncodingStreaming.
Azure Functions para Media Services Este proyecto contiene ejemplos de Azure Functions que se conectan a Azure Media Services v3 para el procesamiento de vídeo. Puede usar Visual Studio 2019 o Visual Studio Code para desarrollar y ejecutar las funciones. Se proporciona una plantilla de Azure Resource Manager y un flujo de trabajo de Acciones de GitHub para la implementación de los recursos de Functions y para habilitar la implementación continua.

Colección de Postman para REST

Los ejemplos de Postman para REST incluyen un entorno y una colección de Postman para que los importe en el cliente de Postman. Los ejemplos de la colección de Postman se recomiendan para familiarizarse con la estructura de la API y cómo funciona con Azure Resource Manager (ARM), así como la estructura de las llamadas desde los SDK de cliente.

Advertencia

No se recomienda intentar encapsular la API REST de Media Services directamente en su propio código de biblioteca, ya que hacerlo correctamente con fines de producción requeriría la implementación de la lógica de reintentos de Azure Resource Manager completa y comprender cómo administrar operaciones de larga duración en las API de Azure Resource Manager. Esto se controla automáticamente mediante los SDK de cliente de varios lenguajes (.NET, Java, TypeScript, Python, Ruby, etc.) y reduce las posibilidades de que tenga problemas con la lógica de reintentos o las llamadas API con errores. Los SDK de cliente lo controlan todo automáticamente. La colección de Postman se proporciona más como una herramienta de enseñanza y para mostrar lo que los SDK de cliente hacen realmente en la conexión durante el desarrollo con los distintos SDK de cliente.