Pregunta

Quiero decodificar una corriente WMA a 16 bits PCM. Ahora tengo una pregunta relativa a FFMpeg- lo que es el formato de salida del ..

len = avcodec_decode_audio2(c, (int16_t *)outbuf, &outbuf_used, inbuf_ptr, size);

Es esta la función correcta para esta tarea?

Gracias

¿Fue útil?

Solución

Una observación: tratar de hacer esta pregunta en la lista de usuarios ffmpeg. Seguro que encontrará gurús ffmpeg allí.

I uso principalmente ffmpeg para codificar / decodificación de video. Para decodificar, el "avcodec_decode_ *" son las cosas que hay que utilizar para ... decodificación. Lo que se obtiene es ... 16 bits de PCM.

Lo que quiero decir es que la decodificación de un flujo multimedia puede ser complicado y ffmpeg es bastante bajo nivel lib. Es difícil ser más preciso con sólo la línea de código que da (al menos debería ser más precisos acerca de sus parámetros).

Lo que usted debe tener cuidado es que cuando la lectura de transmisión de datos multimedia, que tiene que demultiplexar permite transmitir en primer lugar (a veces incluso si sólo hay una secuencia en su contenedor) y después de decodificarlo con el códec correcto. Si ha demuxed correctamente su flujo, inicializado correctamente su contexto / codec codec entonces se puede llamar avcodec_decode y lo hará obras:)

Como se menciona C ++ en sus etiquetas, puede intentar una envoltura C ++ para ffmpeg: FOBS El uso es mucho más simple, pero por supuesto, se pierde el control preciso ...

espero que ayude.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top