Compartir a través de


Cadenas de tipos de medios admitidas para consultar la compatibilidad de características multimedia

En este artículo se enumeran las cadenas de tipo MIME admitidas para las API de Windows que consultan los tipos de reproducción multimedia admitidos. Los términos "tipo de contenido" y "tipo" se conocen históricamente como tipo MIME. Las cadenas base son coherentes con las usadas en el método HTML5 HTMLMediaElement.canPlayType. Estas cadenas permiten a los desarrolladores consultar si se admiten contenido multimedia, códecs y características especificados.

Las cadenas de tipo de contenido se definen en las especificaciones siguientes.

  • RFC 2045 Esta especificación define cadenas de tipo de contenido que se usan para especificar identificadores de tipo multimedia y subtipo.
  • RFC 6381 Esta especificación define los identificadores de códecs que se usan para especificar códecs.
  • RFC 2045 Esta especificación permite parámetros personalizados adicionales como modificadores en forma de ";<parameter>=<name>[=<value>] [,<name>[=<value>]". Los analizadores compatibles con RFC 2045 deben omitir estos parámetros si no se reconocen. Para las consultas de características, <parameter> se denomina característica.
  • RFC 4281 Esta especificación permite a las extensiones consultar características adicionales.

La implementación de Windows requiere los identificadores de tipo de medio y subtipo RFC 2045, por ejemplo, "video/mp4", y el parámetro de códec RFC 6381 codec="<video codec>[,<audio codec>]" estar siempre presente para proporcionar resultados de consulta válidos. Algunas API de Windows admiten un elemento adicional de feature=<features>. En las tablas siguientes se enumeran las cadenas admitidas que admiten las API de Windows para cada elemento de la cadena de tipo.

Las SIGUIENTES API usan el formato de cadena de tipo de contenido descrito en este artículo.

API de WinRT

API de Microsoft Media Foundation

Muchas de estas API devuelven valores de enumeración que expresan el resultado como "NotSupported", "Maybe" o "Probablemente". Para las API de WinRT están las enumeraciones ProtectionCapabilityResult y MediaCanPlayResponse. Para Media Foundation hay la enumeración MF_MEDIA_ENGINE_CANPLAY. Algunas API de Media Foundation simplemente devuelven un valor booleano que indica un resultado binario admitido o no admitido.

Tipo de medio y subtipo

Las API de Windows solo admiten cadenas de tipo de contenido con el tipo de medio "video" y el subtipo o contenedor de "mp4".

Valor Descripción Observaciones
"video/mp4" Tipo de medio de vídeo y subtipo/contenedor MPEG-4.

Códecs de vídeo

Valor Descripción Observaciones
"avc1" H.264
"hvc1" HEVC
"hev1" HEVC
"vp9" VP9
"vp09" VP9
"avc3" H.264
"av1" AOMedia Video 1
"av01" AOMedia Video 1

Funciones

Elemento Subsistema Nombre de la característica Valor de la característica Descripción Obligatorio para este subsistema Observaciones
1a Descodificación de vídeo decode-res-x Número no negativo en píxeles ¿El descodificador de vídeo admite esta resolución máxima en el eje X? S
1b Descodificación de vídeo decode-res-y Número no negativo en píxeles ¿El descodificador de vídeo admite esta resolución máxima en el eje Y? S
1c Descodificación de vídeo decode-bitrate Número positivo en kilobits por segundo (Kbps) ¿El descodificador de vídeo admite esta velocidad de bits máxima? S
1d Descodificación de vídeo decode-fps 24, 25, 29.97, 30, 50, 59.94 o 60 ¿Admite el vídeo descodificado este valor máximo de fotogramas por segundo (FPS)? S
1e Descodificación de vídeo decode-bpc (decode-bpp está en desuso) 0, 8, 10 o 12 ¿El descodificador de vídeo puede consumir esta profundidad de color por píxel? S
1f Descodificación de vídeo decoder-hardware-acceleration 1 o sin valor como verdadero ¿Está disponible la aceleración de hardware DXVA independientemente de que esté presente un descodificador del sistema operativo? N Compatibilidad introducida en Windows 10, versión 1709
1g Descodificación de vídeo decoder-software-acceleration 1 o ningún valor es verdadero ¿Existe un descodificador del sistema operativo capaz de descodificar la secuencia? N Compatibilidad introducida en Windows 10, versión 1709
1 h Descodificación de vídeo decoder-software-requires-hardware 1 o sin valor como verdadero ¿La funcionalidad del descodificador del sistema operativo requiere que la aceleración de hardware DXVA esté presente? N Compatibilidad introducida en Windows 10, versión 1709
2a Pantalla de vídeo 1 display-res-x Número no negativo en píxeles ¿Admite al menos una pantalla de intersección esta resolución en el eje X? Consulte Algoritmo de intersección para resolución. S
2b Pantalla de vídeo 1 display-res-y Número no negativo en píxeles ¿Admite al menos una pantalla de intersección esta resolución en el eje Y? S Consulte Algoritmo de intersección para resolución.
2c Pantalla de vídeo 1 frecuencia de actualización de la pantalla 24, 25, 29.97, 30, 50, 59.94 o 60 ¿La pantalla está configurada (según lo entiende Windows) para al menos la frecuencia de actualización solicitada? N
2d Pantalla de vídeo 1 display-bpc (display-bpp está en desuso) 8 o 10 ¿Todas las pantallas que se cruzan con una resolución ≥ necesaria tienen al menos esta profundidad de color? N
3 Pantalla de vídeo 2* HDR 1 (soportado) ¿El destino admite la representación de rango dinámico alto (HDR)? S
4 Protección de salida de vídeo hdcp 0 (desactivado), 1 (activado sin restricción HDCP 2.2 Tipo 1), 2 (activado con restricción de tipo 1 de HDCP 2.2 ¿Todas las pantallas con intersecciones habilitadas admiten al menos el nivel de protección de solicitud? S
5 Vídeo general: Eficiencia efficiency-setting 0 (apagado = sin restricción), 1 (encendido = limitar la resolución cuando está con batería) ¿El usuario prefiere la duración de la batería, la sobrecarga de streaming o la velocidad de descarga en lugar de la resolución más alta? S Compatibilidad introducida en Windows 10, versión 1709. Consulte Resolución con la configuración de eficiencia habilitada.
6a Descifrado de vídeo tipo de cifrado “cenc” o “cbcs” ¿Este tipo de cifrado es compatible con el descifrado con el códec o el sistema de claves especificados? Si el valor no está especificado, se usa el valor predeterminado de "cenc". N
6b Descifrado de vídeo encryption-iv-size 8 o 16 ¿Se admite este tamaño de vector de inicialización (IV) (en bytes) para el descifrado con el códec o el sistema de claves especificados? Si el valor no está especificado, se usa el valor predeterminado de 8. N
7 Representación de audio audio-endpoint-codec Cadena de códec de audio. Consulte [Códecs de punto de conexión de audio admitidos] (#supported-audio-endpoint-codecs) ¿Este códec de audio es compatible de forma nativa con el punto de conexión de audio? N Compatibilidad introducida en Windows 10, compilación 1803.. Solo se admite para las API de Microsoft Media Foundation. No se admite para las API de WinRT.

Algoritmo de intersección para resolución

El algoritmo de intersección es:

  1. Busque todas las pantallas en las que la región cliente de vídeo de la interfaz de usuario de la aplicación tenga píxeles.
  2. Busque todos los adaptadores de gráficos que impulsan las pantallas del paso 1. Para una consulta DRM de hardware, este conjunto de adaptadores se filtra para incluir únicamente los adaptadores que son compatibles con DRM de hardware.
  3. Busque todas las pantallas conectadas a los adaptadores de gráficos del paso 2.

Resolución con la configuración de eficiencia habilitada

Depende del proveedor de contenido elegir el límite de resolución que se usará cuando esta directiva esté activada. Se recomienda un límite de 1080p, pero se puede usar 720p. Tenga en cuenta que la entrada para esta directiva proviene de la página de Configuración de vídeo agregada en Windows 10, versión 1709.

Códecs de audio

Valor Descripción Observaciones
"mp4a" Audio MPEG-4
"ac-3" Dolby Digital
"ec-3" Dolby Digital Plus
"ac-4" Dolby AC-4
"flac" FLAC
"mp3" MP3

Códecs de punto de conexión de audio admitidos

Algunas características de codificación de audio requieren que el punto de conexión de audio admita la característica de forma nativa. La extensión del códec de audio de punto final es útil para aplicaciones y servicios de streaming, permitiéndoles averiguar dinámicamente si deben enviar audio estéreo o 5.1 (porque el dispositivo admite 5.1) y, por lo tanto, controlar el ancho de banda usado al tiempo que se maximiza la calidad del audio.

La consulta audio-endpoint-codec difiere de la consulta de codecs porque determina si el dispositivo de punto de conexión de audio conectado al equipo admite el formato especificado. Por ejemplo, si un PC tiene el descodificador de software para el códec AC3, la consulta de codecs=ac-3 se realizará correctamente. Si el equipo usa auriculares básicos como punto de conexión de audio, se producirá un error en la consulta de audio-endpoint-codec=ac-3. Pero si el PC está conectado a un receptor de audio/vídeo que puede descodificar el formato AC3, la consulta audio-endpoint-codec=ac-3 se aprobará.

La compatibilidad con el códec de punto de conexión de audio se introdujo en Windows 10, compilación 1803.

A continuación se muestra una cadena de tipo de contenido de ejemplo utilizando códec de punto final de audio.

'video/mp4; codecs="avc1,mp4a"; features="audio-endpoint-codec=DD"'

A continuación se muestra una cadena de tipo de contenido de ejemplo para audio PCM sin comprimir.

'video/mp4; features="audio-endpoint-codec=PCM2.0"'

Tenga en cuenta que si el punto de conexión admite más o el mismo número de canales especificados, la comprobación se realizará correctamente. Por lo tanto, si el sistema está configurado para audio 5.1, las comprobaciones de "PCM2.0" y "PCM5.1" pasarán, pero una comprobación de "PCM7.1" fallará.

Cadena de códec Descripción Observaciones
DD Dolby Digital
DD+ Dolby Digital Plus
DD+JOC Audio espacial comprimido Dolby Digital + JOC
DTS Audio comprimido de DTS
DTSHD Audio comprimido DTS-HD
PCM2.0 Audio de dos canales sin comprimir
PCM5.1 Audio de canal 5.1 sin comprimir
PCM7.1 Audio de canal 7.1 sin comprimir
AC3 Dolby Digital