[php] bitrate bij het streamen naar shoutcast

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik stream dmv van een php scriptje naar een shoutcast server.

Ook geef ik aan shoutcast door wat de bitrate moet zijn vd stream, maar daar gaat het fout.

PHP:
1
2
3
4
5
6
7
8
9
10
11
$sock = fsockopen("127.0.0.1",8001);
fputs($sock,"<password>\r\n");

fputs($sock,"icy-name:Your Innovatix Test - $file\r\n");
fputs($sock,"icy-genre:test\n");
fputs($sock,"icy-url:<url>/\r\n");
fputs($sock,"icy-irc:#shoutcast\r\n");
fputs($sock,"icy-icq:0\r\n");
fputs($sock,"icy-aim:N/A\r\n");
fputs($sock,"icy-pub:0\r\n");
fputs($sock,"icy-br:96\r\n");

In het bovenstaande stukje code geef ik dus de bitrate door.

PHP:
1
2
3
4
5
6
7
8
9
10
$stream = fopen($file,"r");
$pos = 0;
while(!feof($stream))
{
    fseek($stream,$pos);
    fputs($sock,fread($stream, 20000));
    $pos +=  20000;
    sleep(1);
}
fclose($stream);

Met de bovenstaande code stuur ik de file naar de shoutcast server, zonder enige aanpassingen te doen aan de data.

Als ik met de server connect zie ik in winamp niet de gedefineerde bitrate van 96 kbs staan, maar 160 (die van de gedraaide mp3).
Maar als ik naar de info page van de shoutcast server kijk zie ik daar wel staan dattie op 96 streamt. (hier te zien)
Doordat shoutcast 96 aangeeft lijkt het mijn dat de door mij gewenste bitrate wel correct overkomt, maar het lijkt er dus op dat shoutcast er verder niks mee doet.

Wat is nu het probleem? Moet ik de mp3 eerst omzetten naar 96 of gaat er wat fout bij shoutcast? Of moet ik nog iets extra's toevoegen aan mijn code?

Alvast bedankt voor de hulp :)

Acties:
  • 0 Henk 'm!

  • Kees
  • Registratie: Juni 1999
  • Laatst online: 18-09 16:43

Kees

Serveradmin / BOFH / DoC
je zult de mp3 moeten omzetten, je kan aangeven wat je wilt, maar als je vervolgens een 160kbit mp3'tje stuurt gaat het niet goed, shoutcast geeft ook alleen maar door en converteert niet.

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Kees schreef op 17 February 2003 @ 23:37:
je zult de mp3 moeten omzetten, je kan aangeven wat je wilt, maar als je vervolgens een 160kbit mp3'tje stuurt gaat het niet goed, shoutcast geeft ook alleen maar door en converteert niet.
oke, dat verklaart de zaak :)
Maar kan ik de mp3 met php alleen voor het streamen omzetten of moet ik al mijn mp3's per stuk omzetten en is dat dan blijvend?
Winamp kan het namelijk gewoon voor het streamen omzetten en hoeft de mp3 verder niet aan te passen, want het zou een beetje zonde zijn om mp3's, met een hoge bitrate, ook voor normaal gebruik om te moeten zetten omdat ze misschien wel een keer gestreamt kunnen worden...

Acties:
  • 0 Henk 'm!

  • Postman
  • Registratie: Februari 2000
  • Laatst online: 19:05
Je zult misschien wel met PHP je mp3's op een andere bitrate kunnen streamen, maar dat zal je veel tijd kosten om dat te maken (of iemand moet het al gedaan hebben). Kun je eventueel niet via PHP Winamp aanspreken, die streamt immers wel op de gekozen bitrate.
Anders optie is om al je mp3's permanent te veranderen van bitrate, maar dat wil je niet imo.

[edit]
Dit is misschien wel iets: Zina. Is een onder GNU uitgegeven mp3 streamer.

[ Voor 19% gewijzigd door Postman op 18-02-2003 00:10 ]


Acties:
  • 0 Henk 'm!

  • jwbagger
  • Registratie: Februari 2001
  • Laatst online: 21-07 21:03

jwbagger

,.-~'`'~-.,

FlamerX schreef op 18 February 2003 @ 00:07:

[edit]
Dit is misschien wel iets: Zina. Is een onder GNU uitgegeven mp3 streamer.
WOW!
Features:

[....]
• Can downsample mp3s on the fly (with external encoder like LAME)
[....]
dus gewoon "eventjes" dat stuk code uit de source halen, en daarmee verder werken :)

* jwbagger gaat ook aan 't klooien ermee.... :P

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 01:47
Realiseer je wel dat real-time resamplen van MP3's een vrij moeilijk karweitje is (onmerkbaar op de achtergrond draaien is er niet meer bij) en dat daarbij vrijwel altijd kwaliteitsverlies plaatsvind, zelfs als de nieuwe bitrate hetzelfde als of hoger dan de orginele bitrate is.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Soultaker schreef op 18 February 2003 @ 12:11:
Realiseer je wel dat real-time resamplen van MP3's een vrij moeilijk karweitje is (onmerkbaar op de achtergrond draaien is er niet meer bij) en dat daarbij vrijwel altijd kwaliteitsverlies plaatsvind, zelfs als de nieuwe bitrate hetzelfde als of hoger dan de orginele bitrate is.
hoe doet winamp dat dan zo simpel?

Acties:
  • 0 Henk 'm!

  • Postman
  • Registratie: Februari 2000
  • Laatst online: 19:05
Verwijderd schreef op 18 February 2003 @ 19:17:
[...]


hoe doet winamp dat dan zo simpel?
Dat vraag ik me ook af.

[edit]
SHOUTcast is dus helemaal niet realtime. Ik d8 zelf al zoiets te menen (heb ook een tijdje een server gehad waar je ongeveer 1 minuut delay in had).
Hoe Winamp het dus converteerd is de vraag. Misschien doet SHOUTcast het uiteindelijk wel, maar moet je een speciale aanroep gebruiken. Vandaar dus ook die vertraging van minstens 30 sec.

[ Voor 51% gewijzigd door Postman op 18-02-2003 19:50 ]


Acties:
  • 0 Henk 'm!

  • WouZz
  • Registratie: Mei 2000
  • Niet online

WouZz

Elvis is alive!

Voor zover ik weet converteert de SHOUTcast server niets. Die "geeft aleen maar door". De SHOUTcast DSP Plug-in voor Winamp doet dat echter wel. En die stuurt vervolgens één of meerdere geconverteerde streams naar de server.

On track


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Uiteindelijk is het met gelukt.
Methode:
Lame installeren.
Vanuit PHP lame aansturen alles om te zetten en weg te schrijven naar een temp file.
Vervolgens die temp file streamen.


Thanx 2 FlamerX, door hem kwam ik op het id lame te gebruiken :)
Pagina: 1