Compartir a través de


Cómo crear una topología para Two-Pass codificación de Windows Media

Los modos de codificación de dos pasos son compatibles con determinados codificadores de Windows Media y Media Foundation en la capa de canalización. La aplicación debe configurar y configurar la topología de codificación similar a la de la codificación de un solo paso, pero en el modo de codificación de 2 pasos, la aplicación debe ejecutar la sesión de codificación dos veces. En el primer paso, el codificador recopila información sobre el contenido de la secuencia. En el segundo paso, mediante la información recopilada en el primer paso, se genera el archivo de salida final. Al procesar las muestras de la secuencia dos veces, la codificación de dos pasos optimiza el proceso de codificación y genera archivos codificados de mayor calidad. Los modos de codificación de dos pasos no se pueden usar en secuencias en vivo.

Media Foundation admite los siguientes modos de codificación de dos pasos:

La creación de una topología de codificación para la codificación de dos pasos es similar a los modos de paso único. En la lista siguiente se muestran las diferencias clave.

  • La configuración del codificador debe incluir la propiedad MFPKEY_PASSESUSED establecida en 2 y la propiedad MFPKEY_VBRENABLED en VARIANT_TRUE. Esto filtra las funcionalidades del codificador a los modos de dos pasos. Si usa objetos de activación, pase estas propiedades a MFCreateWMAEncoderActivate o MFCreateWMVEncoderActivate.
  • Para el primer paso, use un receptor de medios ficticios en el nodo de salida porque los ejemplos que se generan en este paso no se agregan al archivo final.
  • Para el segundo paso, consulte el codificador para conocer las propiedades de codificación posteriores necesarias y reemplace el nodo receptor de medios ficticios por el receptor de medios ASF por estas propiedades establecidas.

Para obtener más información sobre cómo configurar una topología de codificación, vea Tutorial: Codificación de Windows Media de paso único.

En el procedimiento siguiente se resumen los pasos para codificar contenido de Windows Media en un contenedor ASF mediante un modo de codificación de dos pasos.

  1. Cree un origen multimedia para el especificado mediante el solucionador de origen.

  2. Enumere las secuencias en el origen multimedia.

  3. Cree el receptor de medios ASF y agregue receptores de flujos en función de las secuencias del origen multimedia que deban codificarse.

  4. Cree el receptor de medios.

  5. Cree los codificadores de Windows Media para las secuencias del archivo de salida.

  6. Configure los codificadores con las propiedades de codificación de 2 pasos.

  7. Compile una topología de codificación parcial mediante la conexión del origen, los codificadores y el receptor multimedia.

  8. Cree una instancia de la sesión multimedia y establezca la topología en la sesión multimedia.

  9. Ejecute el primer paso de codificación controlando la sesión multimedia y obteniendo todos los eventos pertinentes de la sesión multimedia.

  10. Cierre y cierre la sesión de codificación.

  11. Consulte el codificador para ver las siguientes propiedades en función del tipo de codificación:

    Tipo de codificación Nombre de propiedad
    Codificación de velocidad de bits variable sin restricciones MFPKEY_PASSESUSED
    MFPKEY_VBRENABLED
    MFPKEY_BAVG
    MFPKEY_RAVG
    Codificación de velocidad de bits variable restringida máxima MFPKEY_PASSESUSED
    MFPKEY_VBRENABLED
    MFPKEY_BAVG
    MFPKEY_RAVG
    MFPKEY_BMAX
    MFPKEY_RMAX

     

  12. Cree el receptor de archivos ASF y agregue los receptores de secuencia necesarios en función de las secuencias que quiera incluir en el archivo de salida final.

  13. Establezca las propiedades del codificador recuperadas en el paso 11 en el receptor de archivos.

  14. Reemplace el receptor de medios en el nodo de salida por el receptor de archivos recién creado.

  15. Cree una instancia de la sesión multimedia y establezca la topología actualizada en la sesión multimedia.

  16. Ejecute el segundo paso de codificación controlando la sesión multimedia y obteniendo todos los eventos pertinentes de la sesión multimedia.

  17. Espere al evento MEEndOfPresentation desde la sesión multimedia y, en el controlador de eventos, obtenga los valores de propiedad de codificación del codificador y establézcalos en el receptor de archivos. Para obtener más información, vea "Actualizar propiedades de codificación en el receptor de archivos" en Tutorial: Codificación de Windows Media de paso único.

  18. Cierre y cierre la sesión de codificación.

Componentes de ASF de la capa de canalización