Información general de streaming en vivo con Azure Media ServicesOverview of Live Streaming using Azure Media Services

Nota

A partir del 12 de mayo de 2018, los canales en directo ya no admitirán el protocolo de ingesta de secuencia de transporte RTP/MPEG-2.Starting May 12, 2018, live channels will no longer support the RTP/MPEG-2 transport stream ingest protocol. Migre de RTP/MPEG-2 a RTMP o protocolos de ingeesta de MP4 fragmentado (Smooth Streaming).Please migrate from RTP/MPEG-2 to RTMP or fragmented MP4 (Smooth Streaming) ingest protocols.

Información generalOverview

Cuando se proporcionan eventos de streaming en vivo con Azure Media Services normalmente participan los siguientes componentes:When delivering live streaming events with Azure Media Services the following components are commonly involved:

  • Una cámara que se usa para difundir un evento.A camera that is used to broadcast an event.
  • Un codificador de vídeo en directo que convierte las señales de la cámara en secuencias que se envían a un servicio de streaming en vivo.A live video encoder that converts signals from the camera to streams that are sent to a live streaming service.

    Opcionalmente, varios codificadores sincronizados en directo.Optionally, multiple live time synchronized encoders. Para determinados eventos en directo críticos que demandan una disponibilidad y una calidad de experiencia muy altas, se recomienda emplear codificadores redundantes activo-activo con sincronización de hora para lograr una conmutación por error perfecta sin pérdida de datos.For certain critical live events that demand very high availability and quality of experience, it is recommended to employ active-active redundant encoders with time synchronization to achieve seamless failover with no data loss.

  • Un servicio de streaming en vivo que permita hacer lo siguiente:A live streaming service that enables you to do the following:

    • Recopilar contenido en directo mediante varios protocolos de streaming en vivo (por ejemplo RTMP o Smooth Streaming).ingest live content using various live streaming protocols (for example RTMP or Smooth Streaming),
    • (Opcionalmente) Codificar la transmisión en una transmisión con velocidad de bits adaptable.(optionally) encode your stream into adaptive bitrate stream
    • Mostrar una vista previa de la secuencia en vivo.preview your live stream,
    • Registrar y almacenar el contenido recibido para transmitirlo posteriormente (vídeo bajo demanda).record and store the ingested content in order to be streamed later (Video-on-Demand)
    • Entregar el contenido mediante protocolos de streaming comunes (por ejemplo, MPEG DASH, Smooth o HLS) directamente a sus clientes o a una red de Content Delivery Network (CDN) para ampliar la distribución.deliver the content through common streaming protocols (for example, MPEG DASH, Smooth, HLS) directly to your customers, or to a Content Delivery Network (CDN) for further distribution.

Microsoft Azure Media Services (AMS) permite recopilar, codificar, mostrar una vista previa, almacenar y entregar el contenido de streaming en vivo.Microsoft Azure Media Services (AMS) provides the ability to ingest, encode, preview, store, and deliver your live streaming content.

Al entregar contenido a sus clientes, el objetivo es entregar un vídeo de alta calidad a diversos dispositivos en condiciones de red diferentes.When delivering your content to customers your goal is to deliver a high quality video to various devices under different network conditions. Para conseguir esto, use codificadores en directo para codificar la secuencia en una secuencia de vídeo de velocidad de bits múltiple (velocidad de bits adaptativa).To achieve this, use live encoders to encode your stream to a multi-bitrate (adaptive bitrate) video stream. Para abordar el streaming en diferentes dispositivos, use el empaquetado dinámico de Media Services para volver a empaquetar dinámicamente su secuencia para distintos protocolos.To take care of streaming on different devices, use Media Services dynamic packaging to dynamically re-package your stream to different protocols. Media Services admite la entrega de las siguientes tecnologías de streaming con velocidad de bits adaptable: HTTP Live Streaming (HLS), Smooth Streaming y MPEG DASH.Media Services supports delivery of the following adaptive bitrate streaming technologies: HTTP Live Streaming (HLS), Smooth Streaming, MPEG DASH.

En Azure Media Services, los canales, programas y extremos de streaming controlan todas las funcionalidades de streaming en vivo, incluidas la recopilación, el formato, DVR, la seguridad, la escalabilidad y la redundancia.In Azure Media Services, Channels, Programs, and StreamingEndpoints handle all the live streaming functionalities including ingest, formatting, DVR, security, scalability and redundancy.

Un canal representa una canalización para procesar contenido de streaming en vivo.A Channel represents a pipeline for processing live streaming content. Un canal puede recibir transmisiones de entrada en directo de la siguiente manera:A Channel can receive a live input streams in the following ways:

  • Un codificador local en directo envía contenido RTMP o Smooth Streaming (MP4 fragmentado) con velocidades de bits múltiples al canal que está configurado por la entrega de paso a través.An on-premises live encoder sends multi-bitrate RTMP or Smooth Streaming (fragmented MP4) to the Channel that is configured for pass-through delivery. La entrega de paso a través significa que las transmisiones ingeridas pasan a través de canales sin más procesamiento.The pass-through delivery is when the ingested streams pass through Channels without any further processing. Puede usar los siguientes codificadores en directo que generan Smooth Streaming con velocidad de bits múltiple: MediaExcel, Ateme, Imagine Communications, Envivio, Cisco y Elemental.You can use the following live encoders that output multi-bitrate Smooth Streaming: MediaExcel, Ateme, Imagine Communications, Envivio, Cisco and Elemental. Los siguientes codificadores en directo generan RTMP: Adobe Flash Media Live Encoder (FMLE), Telestream Wirecast, Haivision, Teradek y los transcodificadores Tricaster.The following live encoders output RTMP: Adobe Flash Media Live Encoder (FMLE), Telestream Wirecast, Haivision, Teradek and Tricaster transcoders. El codificador en directo también puede enviar una secuencia de una sola velocidad de bits a un canal que no está habilitado para la codificación en directo, pero esto no es recomendable.A live encoder can also send a single bitrate stream to a channel that is not enabled for live encoding, but that is not recommended. Cuando se solicita, Media Services entrega la secuencia a los clientes.When requested, Media Services delivers the stream to customers.

    Nota

    El uso de un método de paso a través es la forma más económica de streaming en vivo cuando está realizando varios eventos en un largo período y ya ha invertido en codificadores locales.Using a pass-through method is the most economical way to do live streaming when you are doing multiple events over a long period of time, and you have already invested in on-premises encoders. Consulte los detalles en Precios de Servicios multimedia .See pricing details.

  • Un codificador en directo local envía una secuencia de una sola velocidad de bits al canal que está habilitado para realizar codificación en directo con Media Services, con uno de los siguientes formatos: RTP o Smooth Streaming (MP4 fragmentado).An on-premises live encoder sends a single-bitrate stream to the Channel that is enabled to perform live encoding with Media Services in one of the following formats: RTMP or Smooth Streaming (fragmented MP4). También se admite RTP (MPEG-TS), siempre que disponga de una conexión dedicada al centro de datos de Azure.RTP (MPEG-TS) is also supported, provided you have a dedicated connection to the Azure data center. Se sabe que los siguientes codificadores en directo con salida RTMP funcionan con los canales de este tipo: Telestream Wirecast y FMLE.The following live encoders with RTMP output are known to work with channels of this type: Telestream Wirecast, FMLE. Después, el canal codifica en directo la secuencia entrante de una sola velocidad de bits en una secuencia de vídeo de varias velocidades de bits (adaptable).The Channel then performs live encoding of the incoming single bitrate stream to a multi-bitrate (adaptive) video stream. Cuando se solicita, Media Services entrega la secuencia a los clientes.When requested, Media Services delivers the stream to customers.

A partir de la versión 2.10 de Media Services, al crear un canal, puede especificar la forma en que desea que este reciba el flujo de entrada y si quiere que el canal realice la codificación en directo de la secuencia.Starting with the Media Services 2.10 release, when you create a Channel, you can specify in which way you want for your channel to receive the input stream and whether or not you want for the channel to perform live encoding of your stream. Tiene dos opciones:You have two options:

  • Ninguna (paso a través): especifique este valor si piensa usar un codificador en directo local que genere una secuencia de varias velocidades de bits (una transmisión de paso a través).None (pass-through) – Specify this value, if you plan to use an on-premises live encoder which will output multi-bitrate stream (a pass-through stream). En este caso, el flujo entrante pasa hasta la salida sin codificación alguna.In this case, the incoming stream passed through to the output without any encoding. Este es el comportamiento de un canal antes de la versión 2.10.This is the behavior of a Channel prior to 2.10 release.
  • Estándar: elija este valor si piensa usar Media Services para codificar transmisiones en directo con una sola velocidad de bits en transmisiones de varias velocidades de bits.Standard – Choose this value, if you plan to use Media Services to encode your single bitrate live stream to multi-bitrate stream. Este método es más económico para la escalación vertical rápida para eventos poco frecuentes.This method is more economical for scaling up quickly for infrequent events. Tenga en cuenta que hay un impacto en la facturación para la codificación en directo y debe recordar que salir de un canal de codificación en directo en el estado "En ejecución" supondrá un coste adicional de facturación.Be aware that there is a billing impact for live encoding and you should remember that leaving a live encoding channel in the "Running" state will incur billing charges. Se recomienda detener inmediatamente sus canales de ejecución después que se complete su evento de transmisión en directo para evitar cargos por hora adicionales.It is recommended that you immediately stop your running channels after your live streaming event is complete to avoid extra hourly charges.

Comparación de tipos de canalesComparison of Channel Types

La tabla siguiente proporciona a una guía para comparar los dos tipos de canal compatibles en Media ServicesFollowing table provides a guide to comparing the two Channel types supported in Media Services

CaracterísticaFeature Canal de paso a travésPass-through Channel Canal estándarStandard Channel
La entrada de velocidad de bits única se codifica en varias velocidades de bits en la nubeSingle bitrate input is encoded into multiple bitrates in the cloud Sin No Yes
Resolución máxima, número de capasMaximum resolution, number of layers 1080p, 8 capas, 60+fps1080p, 8 layers, 60+fps 720p, 6 capas, 30 fps720p, 6 layers, 30 fps
Protocolos de entradaInput protocols RTMP, Smooth StreamingRTMP, Smooth Streaming RTMP, Smooth Streaming y RTPRTMP, Smooth Streaming, and RTP
PrecioPrice Consulte la página de precios y haga clic en la pestaña "Vídeo en vivo"See the pricing page and click on "Live Video" tab Consulte la página de preciosSee the pricing page
Tiempo de ejecución máximoMaximum run time 24x724x7 8 horas8 hours
Compatibilidad con inserción de tabletas táctilesSupport for inserting slates Sin No Yes
Compatibilidad con señalización de anunciosSupport for ad signaling Sin No Yes
Títulos CEA 608/708 de paso a travésPass-through CEA 608/708 captions Yes Yes
Capacidad para la recuperación de breves pausas en la fuente de contribuciónAbility to recover from brief stalls in contribution feed Yes No (el canal comenzará a usar la tableta táctil transcurridos más de 6 segundos sin datos de entrada)No (Channel will begin slating after 6+ seconds w/o input data)
Compatibilidad con GOP de entrada no uniformesSupport for non-uniform input GOPs Yes No: la entrada debe ser GOP de 2 s fijosNo – input must be fixed 2sec GOPs
Compatibilidad con la entrada de la velocidad de fotogramas variableSupport for variable frame rate input Yes No: la entrada debe ser una velocidad de fotogramas fija.No – input must be fixed frame rate.
Se tolerarán pequeñas variaciones, por ejemplo, durante las escenas con grandes movimientos.Minor variations are tolerated, for example, during high motion scenes. Sin embargo, el codificador no puede tener una frecuencia inferior de 10 fotogramas/s.But encoder cannot drop to 10 frames/sec.
Apagado automático de canales cuando se pierde la fuente de entradaAuto-shutoff of Channels when input feed is lost Sin No Después de 12 horas, si no hay ningún programa en ejecuciónAfter 12 hours, if there is no Program running

Uso de canales que reciben streaming en vivo con velocidad de bits múltiple de codificadores locales (paso a través)Working with Channels that receive multi-bitrate live stream from on-premises encoders (pass-through)

En el diagrama siguiente se muestran las partes principales de la plataforma AMS que intervienen en el flujo de trabajo de paso a través .The following diagram shows the major parts of the AMS platform that are involved in the pass-through workflow.

Flujo de trabajo activo

Para más información, consulte Uso de canales que reciben streaming en vivo con velocidad de bits múltiple de codificadores locales.For more information, see Working with Channels that Receive Multi-bitrate Live Stream from On-premises Encoders.

Uso de canales habilitados para realizar la codificación en directo con Azure Media ServicesWorking with Channels that are enabled to perform live encoding with Azure Media Services

El diagrama siguiente muestra las partes principales de la plataforma AMS que intervienen en el flujo de trabajo de streaming en vivo, en la que se habilita un canal para Live Encoding con Media Services.The following diagram shows the major parts of the AMS platform that are involved in Live Streaming workflow where a Channel is enabled to perform live encoding with Media Services.

Flujo de trabajo activo

Para obtener más información, consulte Uso de canales habilitados para Live Encoding con Azure Media Services.For more information, see Working with Channels that are Enabled to Perform Live Encoding with Azure Media Services.

canalChannel

En Media Services, los canales son los responsables de procesar el contenido de streaming en vivo.In Media Services, Channels are responsible for processing live streaming content. Un canal proporciona un extremo de entrada (dirección URL de introducción) que luego se brinda a un transcodificador en vivo.A Channel provides an input endpoint (ingest URL) that you then provide to a live transcoder. El canal recibe flujos de entrada en vivo desde el transcodificador en vivo y las deja a disposición del streaming a través de uno o más StreamingEndpoints.The channel receives live input streams from the live transcoder and makes it available for streaming through one or more StreamingEndpoints. Los canales también proporcionan un extremo de vista previa (dirección URL de vista previa) que se puede utilizar para obtener una vista previa y validar el flujo antes de mayor procesamiento y entrega.Channels also provide a preview endpoint (preview URL) that you use to preview and validate your stream before further processing and delivery.

Puede obtener la dirección URL de introducción y la dirección URL de vista previa cuando crea el canal.You can get the ingest URL and the preview URL when you create the channel. Para obtener estas direcciones URL, el canal no puede encontrarse en el estado iniciado.To get these URLs, the channel does not have to be in the started state. Cuando está listo para comenzar a insertar datos desde un transcodificador en vivo al canal, este debe estar iniciado.When you are ready to start pushing data from a live transcoder into the channel, the channel must be started. Una vez que el transcodificar en vivo comienza a introducir datos, puede tener una vista previa de la transmisión.Once the live transcoder starts ingesting data, you can preview your stream.

Cada cuenta de Media Services puede contener varios canales, varios programas y varios StreamingEndpoints.Each Media Services account can contain multiple Channels, multiple Programs, and multiple StreamingEndpoints. Según las necesidades de ancho de banda y seguridad, los servicios de StreamingEndpoint pueden dedicarse a uno o más canales.Depending on the bandwidth and security needs, StreamingEndpoint services can be dedicated to one or more channels. Puede extraer cualquier StreamingEndpoint de cualquier canal.Any StreamingEndpoint can pull from any Channel.

ProgramaProgram

Un programa le permite controlar la publicación y almacenamiento de segmentos en una secuencia en directo.A Program enables you to control the publishing and storage of segments in a live stream. Los canales administran los programas.Channels manage Programs. La relación entre canales y programas es muy similar a los medios tradicionales, donde un canal tiene un flujo constante de contenido y un programa se enfoca algún evento programado en dicho canal.The Channel and Program relationship is very similar to traditional media where a channel has a constant stream of content and a program is scoped to some timed event on that channel. Puede especificar la cantidad de horas que desea conservar el contenido grabado del programa en la configuración de la propiedad ArchiveWindowLength .You can specify the number of hours you want to retain the recorded content for the program by setting the ArchiveWindowLength property. Este valor se puede establecer desde un mínimo de cinco minutos a un máximo de 25 horas.This value can be set from a minimum of 5 minutes to a maximum of 25 hours.

ArchiveWindowLength también indica el tiempo máximo que los clientes pueden buscar hacia atrás a partir de la posición en vivo actual.ArchiveWindowLength also dictates the maximum amount of time clients can seek back in time from the current live position. Los programas pueden transmitirse durante la cantidad de tiempo especificada, pero el contenido que escape de esa longitud de ventana se descartará continuamente.Programs can run over the specified amount of time, but content that falls behind the window length is continuously discarded. El valor de esta propiedad también determina durante cuánto tiempo los manifiestos de cliente pueden crecer.This value of this property also determines how long the client manifests can grow.

Cada programa está asociado a un recurso.Each program is associated with an Asset. Para publicar el programa, debe crear un localizador para el recurso asociado.To publish the program you must create a locator for the associated asset. Contar con este localizador le permitirá crear una dirección URL de streaming que puede proporcionar a sus clientes.Having this locator will enable you to build a streaming URL that you can provide to your clients.

Un canal es compatible con hasta tres programas en ejecución simultánea, por lo que puede crear varios archivos del mismo flujo entrante.A channel supports up to three concurrently running programs so you can create multiple archives of the same incoming stream. Esto le permite publicar y archivar distintas partes de un evento, según sea necesario.This allows you to publish and archive different parts of an event as needed. Por ejemplo, el requisito de su empresa es solo archivar seis horas de un programa, pero difundir solo los últimos diez minutos.For example, your business requirement is to archive 6 hours of a program, but to broadcast only last 10 minutes. Para lograrlo, necesita crear dos programas en ejecución simultánea.To accomplish this, you need to create two concurrently running programs. Un programa está definido para archivar seis horas del evento, pero no está publicado.One program is set to archive 6 hours of the event but the program is not published. El otro programa está definido para archivar durante diez minutos y este programa sí se publica.The other program is set to archive for 10 minutes and this program is published.

Implicaciones de facturaciónBilling Implications

Un canal comienza la facturación tan pronto como su estado realiza la transición a "En ejecución" a través de la API.A channel begins billing as soon as it's state transitions to "Running" via the API.

En la tabla siguiente se muestra cómo se asignan los estados del canal a los estados de facturación en la API y Azure Portal.The following table shows how Channel states map to billing states in the API and Azure portal. Tenga en cuenta que los estados son ligeramente diferentes entre la API y la experiencia de usuario del portal.Note that the states are slightly different between the API and Portal UX. En cuanto un canal se encuentre en el estado "En ejecución" a través de la API, o en el estado "Listo" o "Streaming" en Azure Portal, la facturación estará activa.As soon as a channel is in the "Running" state via the API, or in the "Ready" or "Streaming" state in the Azure portal, billing will be active.

Para hacer que el canal deje de facturarle, tendrá que detener el canal a través de la API o en Azure Portal.To stop the Channel from billing you further, you have to Stop the Channel via the API or in the Azure portal. Usted es responsable de detener sus canales cuando haya terminado con el canal.You are responsible for stopping your channels when you are done with the channel. Si el canal no se detiene, la facturación continuará.Failure to stop the channel will result in continued billing.

Nota

Al trabajar con canales estándar, AMS cerrará automáticamente todos los canales que estén en estado "En ejecución" 12 horas después de la fuente de entrada se pierda y no haya programas en ejecución.When working with Standard channels, AMS will auto shutoff any Channel that is still in “Running” state 12 hours after the input feed is lost, and there are no Programs running. Sin embargo, se le facturará por el tiempo que el canal ha estado en estado "En ejecución".However, you will still be billed for the time the Channel was in “Running” state.

Estados del canal y cómo se asignan al modo de facturaciónChannel states and how they map to the billing mode

El estado actual de un canal.The current state of a Channel. Los valores posibles son:Possible values include:

  • Detenido.Stopped. Este es el estado inicial del canal después de su creación (a menos que seleccionara el inicio automático en el portal.) No se produce ninguna facturación en este estado.This is the initial state of the Channel after its creation (unless autostart was selected in the portal.) No billing occurs in this state. En este estado, se pueden actualizar las propiedades del canal pero no se permite el streaming.In this state, the Channel properties can be updated but streaming is not allowed.
  • Iniciando.Starting. El canal se está iniciando.The Channel is being started. No se produce ninguna facturación en este estado.No billing occurs in this state. No se permiten actualizaciones ni streaming durante este estado.No updates or streaming is allowed during this state. Si se produce un error, el canal vuelve al estado Detenido.If an error occurs, the Channel returns to the Stopped state.
  • En ejecución.Running. El canal es capaz de procesar secuencias en directo.The Channel is capable of processing live streams. Está ahora el uso de facturación.It is now billing usage. Debe detener el canal para evitar más facturación.You must stop the channel to prevent further billing.
  • Deteniéndose.Stopping. El canal se está deteniendo.The Channel is being stopped. No se produce facturación en este estado transitorio.No billing occurs in this transient state. No se permiten actualizaciones ni streaming durante este estado.No updates or streaming is allowed during this state.
  • Eliminando.Deleting. El canal se está eliminando.The Channel is being deleted. No se produce facturación en este estado transitorio.No billing occurs in this transient state. No se permiten actualizaciones ni streaming durante este estado.No updates or streaming is allowed during this state.

En la tabla siguiente se muestra cómo se asignan los estados del canal al modo de facturación.The following table shows how Channel states map to the billing mode.

Estado del canalChannel state Indicadores IU del portalPortal UI Indicators ¿Es la facturación?Is it Billing?
IniciandoStarting IniciandoStarting No (estado transitorio)No (transient state)
En ejecuciónRunning Listo (no hay programas en ejecución)Ready (no running programs)
oor
Streaming (al menos un programa en ejecución)Streaming (at least one running program)
YES
DeteniéndoseStopping DeteniéndoseStopping No (estado transitorio)No (transient state)
DetenidoStopped StoppedStopped Sin No

Rutas de aprendizaje de Media ServicesMedia Services learning paths

Lea acerca de las formas de aprendizaje de Azure Media Services:

Envío de comentariosProvide feedback

Emplee el foro UserVoice para proporcionar comentarios y realizar sugerencias sobre cómo mejorar Azure Media Services.Use the User Voice forum to provide feedback and make suggestions on how to improve Azure Media Services. También puede ir directamente a una de las siguientes categorías:You also can go directly to one of the following categories:

Especificación de la introducción en directo de MP4 fragmentado de Azure Media ServicesAzure Media Services Fragmented MP4 Live Ingest Specification

Uso de canales habilitados para Live Encoding con Azure Media ServicesWorking with Channels that are Enabled to Perform Live Encoding with Azure Media Services

Uso de canales que reciben streaming en vivo con velocidad de bits múltiple de codificadores localesWorking with Channels that Receive Multi-bitrate Live Stream from On-premises Encoders

Cuotas y limitaciones.Quotas and limitations.

Conceptos de Media ServicesMedia Services Concepts