Estoy desarrollando el cliente para el servidor icecast (www.icecast.org). ¿Alguien me puede decir cuál es el formato que están utilizando para transmitir el contenido?Desarrollo del cliente para el servidor icecast
Estaba buscando en sus páginas, pero no hay información sobre el formato de la secuencia en absoluto.
He verificado la traza de Wireshark y, debido a que entiendo el formato de los datos de audio que estoy recibiendo dentro de la respuesta 200 OK a la solicitud GET, es simplemente un archivo de audio binario sin ningún metadato incluido, por lo que comparo el SHOUTcast o HTTP Live Streaming (HLS) es un enfoque relativamente simple.
¿Es correcto? Alguna experiencia con eso?
Wireshark traza fragmento:
GET /bonton-128.mp3 HTTP/1.1
Host: icecast3.play.cz
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4
Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en-US
Accept-Encoding: gzip, deflate
Connection: keep-alive
HTTP/1.0 200 OK
Content-Type: audio/mpeg
icy-br:128
ice-audio-info: ice-samplerate=44100;ice-bitrate=128;ice-channels=2
icy-br:128
icy-description:Radio Bonton
icy-genre:Pop/Rock
icy-name:Radio Bonton
icy-pub:0
icy-url:http://www.radiobonton.cz
Server: Icecast 2.3.2
Cache-Control: no-cache
Here are then aac or MPEG data
Gracias y saludos,
Sten
¡Hola, lo probé con curl con el encabezado que sugirió y tiene razón! ahí están los metadatos. La única diferencia es que he recibido ** HTTP 200 OK **, no ** ICY 200 OK ** 'GET /bonton-128.mp3 HTTP/1.1 User-Agent: curl/7.19.5 Host: icecast3. jugar.cz aceptar: */* helado en metadatos: 1 HTTP/1.0 200 OK Content-Type: audio/mpeg helada-BR: 128 hielo-audio-Info: hielo de muestreo = 44100; hielo tasa de bits = 128; hielo canales = 2 helada-BR: 128 helada-Descripción: Radio Bonton helada-género: Pop/rock helada-name: Radio Bonton helada-pub: 0 helada-url: http://www.radiobonton.cz Servidor: Icecast 2.3.2 Cache-Control: no-cache icy-metaint: 16000' – STeN
Sí, eso depende del servidor. Icecast devuelve HTTP y SHOUTcast devuelve ICY. De cualquier manera, no importa, todo lo demás es idéntico. ¡Feliz de ver que lo tienes funcionando! – Brad