Entradas, secuencias y salidas
[La característica asociada a esta página, SDK de Windows Media Format 11, es una característica heredada. Se ha reemplazado por lector de origen y escritor receptor. El lector de origen y el sistema de escritura receptor se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use lector de origen 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.
Una "entrada" de esta documentación es cualquier flujo de datos multimedia digital (como audio o vídeo) que la aplicación entrega al objeto de escritura desde un origen mediante las API adecuadas. Las entradas deben entregarse en un formato compatible. Se admiten varios formatos RGB y YUV estándar como entrada y los códecs de audio admiten PCM. Si el códec no admite un formato de entrada especificado de forma nativa, el objeto writer creará una instancia de un objeto auxiliar de audio o vídeo capaz de convertir una amplia variedad de formatos en formatos que el códec puede aceptar. En el caso de las entradas de audio, el objeto auxiliar ajustará la profundidad de bits, la frecuencia de muestreo y el número de canales según sea necesario. En el caso de las entradas de vídeo, el objeto auxiliar de vídeo realizará conversiones de espacio de color y ajustes de tamaño de rectángulo. En algunos casos, los datos comprimidos de audio y vídeo se pueden pasar en un flujo de entrada. Una entrada puede ser de algún otro tipo multimedia además de audio y vídeo, como texto, comandos de script, imágenes fijas o datos arbitrarios de archivo.
Una "salida" de esta documentación hace referencia a los datos que el objeto lector pasa a una aplicación para su representación. Una salida equivale a una única secuencia en el momento de la reproducción. Si usa exclusión mutua, todas las secuencias mutuamente excluyentes comparten una única salida. Normalmente, los datos de salida están en forma de datos de audio o vídeo sin comprimir, aunque puede contener cualquier tipo de datos. Los formatos de salida de vídeo admitidos se enumeran en otra parte de esta documentación.
El término "stream" de esta documentación hace referencia a los datos de un archivo ASF, en lugar de (1) los datos de origen de entrada antes de que el objeto writer los procese y (2) los datos de salida después de que el objeto lector lo descomprima. Un flujo de ASF contiene datos que proceden de una sola entrada en el objeto writer, aunque se puede crear más de una secuencia a partir de la misma entrada. Una secuencia tiene la misma configuración de formato y compresión de principio a fin. Un archivo ASF simple tiene dos secuencias, una para audio y otra para vídeo. Un archivo más complejo puede tener dos secuencias de audio y varias secuencias de vídeo. Las secuencias de audio pueden tener la misma configuración de compresión, pero contener contenido diferente, como una narración en distintos idiomas. Las secuencias de vídeo pueden contener el mismo contenido, pero tienen una configuración de compresión diferente. La configuración de formato multimedia y compresión que el objeto writer aplicará a cada secuencia se especifica en el perfil.
La relación entre entradas, secuencias y salidas puede ser de tres tipos básicos. En los tres diagramas siguientes se muestran las relaciones.
En la relación más básica, que es un perfil sin ninguna exclusión mutua, el escritor procesa cada entrada e inserta en el archivo ASF como una sola secuencia. En la reproducción, el lector lee la secuencia y entrega ejemplos sin comprimir como una única salida, como se muestra en el diagrama siguiente.
Se produce una relación más compleja cuando se usa una exclusión mutua de velocidad de bits múltiple. En este caso, el escritor procesa una sola entrada y se codifica a varias velocidades de bits. Cada codificación de los datos se inserta en el archivo ASF como una secuencia independiente. En la reproducción, el lector determina qué flujo se va a descomprimir en función del ancho de banda disponible. A continuación, el lector lee la secuencia seleccionada y entrega ejemplos sin comprimir como una única salida, como se muestra en el diagrama siguiente.
El tercer tipo de relación puede producirse cuando se usa una exclusión mutua personalizada o basada en lenguaje. En esta relación, el lector procesa varias entradas y cada una se inserta en el archivo ASF como una secuencia individual. En la reproducción, la aplicación selecciona manualmente qué secuencia se va a descomprimir en función de la lógica que proporcione. A continuación, el lector lee la secuencia seleccionada y entrega ejemplos sin comprimir como una única salida. Este proceso se puede usar para incluir bandas sonoras en varios idiomas. En el siguiente diagrama se muestra este proceso.
Hay alguna variación en las relaciones descritas anteriormente. Por ejemplo, un archivo puede contener las tres relaciones, o una o dos de ellas. También es posible que algunas entradas se comprima, en cuyo caso el escritor no realiza ninguna compresión adicional. El lector, además, puede entregar muestras comprimidas. Pero cuando lo hace, debe acceder a ellos por número de secuencia, no por número de salida.
Nota
Los objetos del SDK de Windows Media Format asignan todos los números, vapores y salidas. Los flujos tienen un número de secuencia, que se basa en 1, que se define en el perfil. A cada secuencia también se le asigna un índice de flujo para su uso en la enumeración de flujos de un perfil. No se garantiza que ninguno de estos números sea coherente entre sí. Es decir, es posible que el número de entrada 1 no se corresponda con el número de secuencia 1, el número de secuencia 1 puede no corresponder con el índice de flujo 1, etc.
Temas relacionados