Sustitución de protocolos
[La característica asociada a esta página, WINDOWS Media Format 11 SDK, es una característica heredada. Se ha reemplazado por lector de origen y escritor receptor. Lector de origen y escritor receptor se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use lector fuente y escritor receptor en lugar del SDK de Windows Media Format 11, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.
La sustitución de protocolos es un proceso por el que el objeto lector detecta el mejor protocolo de streaming disponible desde un servidor. El lector usa la sustitución de protocolos cada vez que abre una dirección URL que contiene un esquema "mms".
El lector admite varios protocolos:
- Protocolo de streaming en tiempo real (RTSP)
- Protocolo de transferencia de hipertexto (HTTP)
- Microsoft Media Server (MMS)
Los protocolos RTSP y MMS vienen en dos tipos, uno con UDP como protocolo de entrega subyacente y el otro con TCP.
El objeto lector siempre usa TCP para los comandos de control de reproducción, pero puede usar TCP o UDP para la entrega del contenido transmitido. Se prefiere UDP para la entrega de contenido, ya que impone menos sobrecarga de ancho de banda que TCP. El protocolo TCP garantiza un transporte confiable a través del uso de "circuitos virtuales", pero el costo de hacerlo significa que TCP no es tan adecuado para flujos multimedia digitales, donde el uso eficaz del ancho de banda es más importante que los paquetes perdidos ocasionalmente.
Cuando una dirección URL especifica "mms://", el lector intenta usar los siguientes protocolos para la entrega de datos, en el orden siguiente:
- RTSPU (RTSP mediante UDP)
- RTSPT (RTSP mediante TCP)
- MMSU (MMS mediante UDP)
- MMST (MMS mediante TCP)
- HTTP
HTTP es un protocolo unidireccional basado en TCP y es el protocolo que usan los servidores web. El streaming con HTTP es menos eficaz que el uso de RTSP. Sin embargo, la mayoría de los firewalls están configurados para aceptar solicitudes HTTP, mientras que normalmente rechazan otros protocolos de streaming.
La serie Windows Media Services 9 de Microsoft Windows Server 2003 rechazará las solicitudes MMSU o MMST de un lector del SDK de Windows Media Format, ya que RTSP es el protocolo de streaming preferido. Windows Media Services versión 4.1 y anteriores no admiten RTSP. En este caso, el objeto lector vuelve a MMSU o HTTP.
La sustitución de protocolos no se aplica si el esquema de dirección URL proporciona un protocolo específico, como "rtspu://" para RTSPU o "https://" para HTTP. Si el esquema de dirección URL es "rtsp://", el lector intenta RTSPU y RTSPT, pero no otros.
Después de que el lector abra un archivo, puede consultar qué protocolo usa llamando al método IWMReaderAdvanced2::GetProtocolName en el lector. Mientras se transmite o se descarga el contenido, este método devuelve el nombre en cuanto el contenido está completamente almacenado en caché, el método GetProtocolName devuelve la cadena "Cache".
Para obtener los nombres de todos los protocolos de servidor de Windows Media que admite el lector, llame al método IWMReaderNetworkConfig::GetSupportedProtocolName en el lector. Puede deshabilitar uno o varios de los protocolos en la lista de sustitución de protocolos del lector mediante la interfaz IWMReaderNetworkConfig . Por ejemplo, el método IWMReaderNetworkConfig::SetEnableTCP habilita o deshabilita los protocolos basados en TCP y IWMReaderNetworkConfig::SetEnableUDP habilita o deshabilita los protocolos basados en UDP. Estos métodos solo se aplican a la sustitución de protocolos; Los protocolos siguen estando disponibles si el esquema de dirección URL contiene un protocolo específico. Normalmente no hay ninguna razón para deshabilitar ninguno de los protocolos utilizados en la sustitución de protocolos; hacerlo puede degradar el rendimiento. Sin embargo, puede resultar útil para las pruebas.