Estoy trabajando en un servidor de transmisión que será capaz de transmitir anuncios dirigidos. Básicamente, los oyentes escuchan la misma música, pero cada, digamos, 30 minutos viene un bloque de anuncios y cada oyente tiene su propio bloque. La implementación de dicho servidor de transmisión plantea varios problemas y esta pregunta es sobre uno de ellos.¿Cómo puedo concatenar perfectamente las transmisiones de MP3?
El servidor funcionará de manera similar a Icecast, es decir, leerá la transmisión a través de la red de algún generador de flujo y lo retransmitirá a cada oyente. Cuando llega el momento de transmitir anuncios, el servidor deja de buscar el flujo del generador, lee los anuncios de los archivos y los inserta en el búfer de cada oyente, los transmite y reanuda al retransmitir el flujo desde el generador.
Cuando el servidor cambia de retransmisión de transmisión a anuncios de difusión, tiene que concatenar dos transmisiones de MP3 (transmitimos en MP3). Mi preocupación es que simplemente agregar una pieza de datos tras otra puede producir algunos artefactos audibles. ¿Se puede hacer sin problemas?
Ya he resuelto esto: - Puedo hacer que el servidor tenga en cuenta los marcos MP3 para evitar errores de sincronización. - Estoy pensando en anexar cuadros de MP3 desde el archivo de anuncios después de los cuadros de MP3 de la transmisión. - Como el anuncio se carga desde un archivo MP3 codificado correctamente, evito el problema del depósito de bytes, porque el primer fotograma del archivo no puede usarlo.
Pero mi preocupación es la forma en que funciona la MDCT. Los oyentes no tienen idea de lo que hará mi servidor, por lo que sus decodificadores MP3 pueden producir algunos artefactos porque los datos MDCT incorrectos se colocarán uno tras otro en la secuencia que descargan. ¿Compensará el relleno cero al comienzo del archivo con el anuncio?
¿Conoces alguna biblioteca/herramienta (de ser posible de código abierto) que pueda unir sin problemas dos archivos MP3 sin descomprimirlos?
¿Puedes indicar algún buen recurso que describa el formato MP3? Busqué mucho en Internet, encontré mucha información, pero todavía echo de menos la imagen general.
¿Quizás sabes que esto sería más fácil si utilizo otro códec como OGG/Vorbis, AAC?
PS. Esta pregunta no es un duplicado de What is the best way to merge mp3 files?. mp3wrap y herramientas por igual no son una opción para mí.
Tal API podría ser demasiado costosa desde el punto de vista informático. La estación de radio en la que trabajo ya tiene 5k usuarios/tráfico pico de servidor. Incluso si es solo un segundo de música que tengo que procesar para cada oyente, es más de una hora de música para descomprimir/comprimir en muy poco tiempo ... – Jasiu
No estoy seguro de que sea necesariamente ... realmente deberías hacerlo un poco más investigando sobre esto, ya que DirectShow es * el * camino a seguir para material de medios en Windows. – Noldorin