Conservar la fidelidad de audio en una red: audio chromecast


0

Actualmente estoy transmitiendo a un dispositivo de audio Chromecast usando stream2chromecast en una mini pc lubuntu 16.04. El problema que tengo es que no puedo conservar la fidelidad del audio mientras transmito una salida alsa a través de un audaz reproductor multimedia. Lo que escucho está lejos de lo que se está reproduciendo, y no he podido averiguar por qué. A continuación se muestra la configuración de ALSA que estoy usando para transmitir al dispositivo Chromecast.

pcm.!default { 
    type plug 
    slave.pcm writeFile 
}

pcm.writeFile {
    type file
    slave.pcm "hw:0,0"
    format "wav"
    file "| ffmpeg -f wav -i pipe: -af aresample=resampler=soxr -acodec pcm_s24le -hide_banner -f wav pipe: | stream2chromecast.py -"

}

El sonido que estoy experimentando es como algo ahogado. La gama media es débil, las voces suenan algo irreales, como si la señal no estuviera llena.

También intenté transmitir un solo archivo utilizando la herramienta solo, es decir, sin involucrar alsa o una tarjeta de sonido, y jugué con diferentes tamaños de búfer (1024, 8192, 16384 y 262144) y no mejoró. Solo hubo una mejora sutil con el tamaño del búfer 262144.

Algunos pensamientos sobre por qué ..

El lado del remitente es enviar los datos de audio demasiado rápido para que la red esté "abrumada" y no pueda mantenerse al día con la transferencia de datos confiable, por lo tanto, algunos paquetes se eliminan. Sin embargo, ffmpeg ayuda a mantener una tasa de bits constante y una velocidad de datos de 576kB o 768kB (32 bits) no debería ser un problema para mi rendimiento de 10 / 100Mbps. Además, tanto el dispositivo chromecast como mi computadora portátil están cableados y no con Wi-Fi.

Cualquier aportación o ayuda experta sobre cómo resolver este problema será muy apreciada. ¡Gracias por adelantado!

Nota: stream2chromecast se ha modificado para que funcione con stdin, ya que actualmente no lo admite.


Adivina: Es el formato de remuestreo y / o de baja fidelidad de entrada y / o transferencia (no especificó el primero en el ~/.asoundrc ). ¿Tiene que ser ALSA y stream2chromecast? Google muestra que pulseaudio-dlna También funciona para chromecast. Si esto le da el mismo sonido "ahogado", tendrá que mirar más de cerca los formatos involucrados, etc. pulseaudio-dlna También ayudará a diagnosticar esto.
dirkt

1
Gracias @dirkt. La causa fue el bajo rendimiento del sistema y el intercambio frecuente. Ahora he eliminado el intercambio completamente y también he reemplazado stream2chromecast con el servidor netcat. Además, bloqueé el acceso a Internet para otros programas de fondo. La mejora es enorme.
mdlfdbck

¿Quizás convierta eso en una respuesta y describa con más detalle lo que ha hecho para la siguiente persona con un problema similar?
dirkt
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.