es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Codificar video y audio juntos es mucho más lento que codificarlos por separado.

Codificar el audio y el video por separado con Media Foundation y luego multiplexarlos con ffmpeg es mucho más rápido que codificar ambos juntos y multiplexarlos en Media Foundation. Me gustaría saber por qué.

Estoy codificando audio AAC y video H264; la entrada de video al codificador tiene una velocidad de cuadro variable (bastante baja). La velocidad que estoy obteniendo es probablemente lo que esperaría si la entrada de video tuviera una velocidad de cuadro constante (igual que la de la salida).

Es importante destacar que si escribo primero la transmisión de audio (video) y luego la transmisión de video (audio), todo el tiempo de codificación se dedica a escribir la primera transmisión, y la segunda transmisión se escribe casi instantáneamente.

¿Alguien puede decirme qué está pasando?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en codificación y codificación de video, puedo explicar por qué la codificación por separado del audio y el video con Media Foundation y luego la multiplexación con ffmpeg es más rápida que la codificación conjunta del audio y el video y la multiplexación en Media Foundation.

    La razón de esto es que cuando codificas tanto el audio como el video juntos, Media Foundation tiene que esperar a que ambos flujos se codifiquen antes de comenzar a multiplexarlos. Este paso adicional de esperar a que ambos flujos terminen de codificarse puede causar un retraso en el proceso general.

    Por otro lado, cuando codificas los flujos de audio y video por separado, puedes codificarlos de forma concurrente, lo que te permite reducir significativamente el tiempo de codificación en general. Una vez que se codifican los flujos separados, pueden ser multiplexados juntos utilizando ffmpeg.

    Además, la codificación por separado del audio y el video también te permite aplicar diferentes ajustes de codificación a cada flujo, mejorando aún más la calidad de la salida.

    En tu caso específico, el hecho de que la entrada de video tenga una velocidad de fotogramas variable puede estar contribuyendo al retraso en la codificación de ambos flujos juntos, ya que Media Foundation tendría que ajustar su proceso de codificación para tener en cuenta el cambio de velocidad de fotogramas.

    En resumen, la codificación por separado del audio y el video con Media Foundation y luego la multiplexación con ffmpeg puede proporcionar una codificación más rápida y eficiente, con la ventaja adicional de poder aplicar diferentes ajustes de codificación a cada flujo.

Comments are closed.