Share via


Uso del sistema de escritura de receptores

Información general

Tipos de contenedor de archivos

El sistema de escritura receptor tiene compatibilidad integrada con varios tipos de contenedor de archivos. Para obtener una lista completa, consulte MF_TRANSCODE_CONTAINERTYPE. Puede admitir tipos de contenedor adicionales escribiendo un receptor de medios personalizado. El contenedor de archivos se especifica al crear una nueva instancia del escritor receptor.

Formatos de secuencia

Para cada secuencia, la aplicación debe especificar lo siguiente.

  • El formato de entrada es el formato que la aplicación envía al escritor receptor.
  • El formato de salida es el formato que se escribirá en el archivo.

Los formatos de entrada y salida se pueden comprimir o descomprimir. El escritor receptor admite las siguientes combinaciones:

  • Entrada sin comprimir con salida comprimida. Este es el caso típico y se usa para escenarios de codificación o transcodificación. Un codificador de Microsoft Media Foundation debe estar disponible que acepte el tipo de entrada y codifique al tipo de salida.
  • Entrada comprimida con salida idéntica. Use esta combinación para reasignar un archivo sin transcodificación.
  • Entrada sin comprimir con salida idéntica. Use esta combinación para escribir audio o vídeo sin comprimir en un contenedor de archivos.

El escritor receptor no admite el cambio de tamaño de vídeo, la conversión de velocidad de fotogramas ni el muestreo de audio, a menos que el codificador proporcione estas funciones. De lo contrario, la aplicación puede usar procesadores de señal digitales para convertir los datos de entrada antes de enviar los datos a .

Creación del sistema de escritura de receptores

Hay dos funciones que crean el sistema de escritura del receptor:

Si usa uno de los receptores de medios integrados, es preferible la función MFCreateSinkWriterFromURL , ya que el autor de la llamada no necesita configurar el receptor de medios.

El método MFCreateSinkWriterFromURL proporciona varias opciones para especificar el tipo de contenedor de archivos. En el caso más sencillo, la función usa la extensión de nombre de archivo en la dirección URL para seleccionar el contenedor de archivos. Para más información, consulte la página de referencia de la función.

Por ejemplo, el código siguiente especifica el nombre de archivo "output.wmv" para la dirección URL. En función de la extensión de nombre de archivo, el sistema de escritura receptor cargará el receptor multimedia de ASF para crear un archivo de formato de sistemas avanzados (ASF).

    HRESULT hr = MFCreateSinkWriterFromURL(L"output.wmv", NULL, NULL, &pSinkWriter);

En el caso de MFCreateSinkWriterFromMediaSink, el tipo de archivo viene determinado por el receptor multimedia.

Receptor de escritura