2010-03-03 13 views
5

Qué códec de audio debería elegir para mi proyecto de desarrollo de software C# donde el audio prima para transcodificar/transportado/utilizado se basa en lo siguiente:¿Qué códec de audio debería usar?

  1. Para la codificación de voz única
  2. audio puede ser mono o estéreo
  3. capaz de soportar la transmisión en vivo
  4. buena solución de compromiso entre el tamaño del archivo y la calidad
  5. para ser transportados a través de TCP/IP en su forma codificada
  6. puede ser p Retrasada por un reproductor gratuito fácilmente disponible sin procesamiento adicional

Tenga en cuenta que no es necesario tener en cuenta si existe una biblioteca de códec gratuita disponible para realizar la transcodificación.

Respuesta

5

Speex es un códec de fuente abierta gratuito, diseñado para la codificación de voz en soluciones en tiempo real que necesitan baja latencia. Los esquemas de compresión de propósito general como WMA o MP3 pueden causar más demoras y también pueden no ser capaces de funcionar bien a tasas de bits muy bajas. http://www.speex.org/

0

Puede usar LAME para la codificación de MP3 con los preajustes de "voz". Yo recomendaría probar otros diferentes, because of issues like this.

MP3 es lo que KPFA.org (y ahora KQED, creo) ambos usan para transmisiones en vivo. Funciona genial. Sin embargo, no sé qué servidor sw se usa.

0

Dada la opción de idioma, si es seguro asumir que está utilizando Windows, en realidad recomendaría WMA, el formato de Windows. Todas las bibliotecas estarán integradas, y, considerando todo, es un códec muy sólido. Admite todos sus requisitos y más.

Sin embargo, si va a presionar un punto final de flash, use .fla, Flash Audio. Flash definitivamente se optimiza para consumir esto y, si bien no es tan fácil de usar con C#, definitivamente apreciarás la facilidad de consumo en el otro extremo.

0

Si solo está orientado a Windows, el códec GSM es probablemente una buena opción para aplicaciones con poco ancho de banda. En general, se considera de menor calidad que Speex, pero también utiliza una cantidad bastante menor de ancho de banda.

Windows Media Player puede reproducir GSM y el codificador es parte de la Fundación de Medios en Vista y por encima (y probablemente algún API Win32 en XP y por debajo?)

2

Como usted ha mencionado C# para la plataforma de destino tengo que añadir algo al accepted answer. Hay un puerto del códec Speex en la plataforma .Net en C# puro llamado NSpeex.

7

Una alternativa más reciente y mejor sería el Opus Codec.

Compruebe el comparison con otros códecs para ver qué tan bien funciona.

+0

Sí, Speex ahora está obsoleto con la llegada de Opus! –