1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Streamchecker...

Dieses Thema im Forum "Internetradio- und Heimstudio-Software" wurde erstellt von DjBenny, 17. Juni 2004.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. DjBenny

    DjBenny Benutzer

    Kennt jemand eine Software bzw ein plugin mit dem ich überprüfen kann, ob auf einem Stream ein signal anliegt?

    Entweder für Unix als Script bzw als Icecast / Shoutcast plugin.
    Kann auch Windows sein.

    Es sollte, sobald das Signal länger als n Minuten weg ist einen Befehl (Unix) ausführen bzw einen http (remote) Request ausführen können.

    Benny
     
  2. DjBenny

    DjBenny Benutzer

    AW: Streamchecker...

    Nach dem keiner Antwortet, nochmal die Frage in die Runde...
     
  3. Snoib

    Snoib Benutzer

    AW: Streamchecker...

    es gibt in der XML ausgabe des shoutcast und des icecast, das nennt sich <STREAMSTATUS>X</STREAMSTATUS>

    1 = sender aktiv, stream liegt an
    0 = kein stream, sender inaktiv
     
  4. DjBenny

    DjBenny Benutzer

    AW: Streamchecker...

    Nunja mir geht s nicht nur darum ob der Stream conected ist sondern ob auch ein Signal übertragen wird... Sprich fällt im Sender das Pult aus streamt der Client zwar Daten, aber der Hörer hört nichts...
     
  5. c.rothe

    c.rothe Benutzer

    AW: Streamchecker...

    Mhmmm... habe jetzt kein Script parat, aber so in etwa müsste es gehen:

    Mit mpg123 -w Dateiname.wav http://mein.stream.de:8080

    in Dateiname.wav den Stream mitschneiden. Nach 10 Sekunden in einem zweiten Prozess den mpg123 killen.

    Die WAV-Datei mit sox auf die durchschnittliche Lautstärke untersuchen (Effekt "stat") und dadurch auswerten, ob noch Signal da ist.

    Gruss,

    Christoph
     
  6. DjBenny

    DjBenny Benutzer

    AW: Streamchecker...

    Vielen Dank:

    sox Dateiname.wav -e stat
    Samples read: 0
    Length (seconds): 0.000000
    Scaled by: 2147483647.0
    Maximum amplitude: 0.000000
    Minimum amplitude: 0.000000
    Midline amplitude: 0.000000
    Mean norm: nan
    Mean amplitude: nan
    RMS amplitude: nan
    Maximum delta: 0.000000
    Minimum delta: 0.000000
    Mean delta: -0.000000
    RMS delta: -0.000000
    Rough frequency: -2147483648

    Probably text, not sound
     
  7. c.rothe

    c.rothe Benutzer

    AW: Streamchecker...

    Der Meldung nach war das zwar nicht ganz erfolgreich (Dateiname.wav war wohl leer), aber prinzipiell scheint es ja zu funktionieren :)

    Christoph
     
  8. DjBenny

    DjBenny Benutzer

    AW: Streamchecker...

    kann des am mpg123 liegen????weil wenn ich eine andere datei scannen lasse kommen ergebnisse raus
     
  9. c.rothe

    c.rothe Benutzer

    AW: Streamchecker...

    Vielleicht kann der mpg123 auf Deinen Stream nicht zugreifen ?

    Versuch es doch mal mit mpg123 -v http://DeineStreamAdresse.de und schau mal was er anzeigt...

    Du darfst da keine Playlist angeben sondern direkt den MP3-Stream, wie er in der Playlist stehen wuerde...

    Kann der mpg123 denn mit mpg123 -w Dateiname.wav Dateiname.mp3

    die Datei "Dateiname.mp3" abspielen/konvertieren ? (bei Bedarf wieder -v verwenden)

    Gruss,

    Christoph
     
  10. DjBenny

    DjBenny Benutzer

    AW: Streamchecker...

    Can't open /dev/dsp!
    beim stream... aber er zeigt den user 127.0.0.1 aufm icecast an!
     
  11. Matiz

    Matiz Benutzer

    AW: Streamchecker...

    127.0.0.1 bist du selber. Ist dir das bewusst oder bist du schizophren? :D
     
  12. DjBenny

    DjBenny Benutzer

    AW: Streamchecker...

    Natürlich, das Script läuft direkt auf dem Streamserver.
    Ich wollte nur damit sagen, dass mpg123 auf dem Icecast connected...

    Dumm bin ich nicht..., dass 127.0.0.1 die IP des Lookback Interfaces ist (lo) ist mir durchaus seit über einem Jahrzehnt bekannt :)
     
  13. c.rothe

    c.rothe Benutzer

    AW: Streamchecker...

    Can't open /dev/dsp heisst nur, dass der Rechner keine Soundkarte hat und mpg123 dehalb keinen Soundabspielen kann. Dann musst Du diesem Befehl auch ein -w Dateiname.wav hinzufügen, damit nicht auf die Soundkarte, sondern die Datei geschrieben wird.

    Christoph
     
  14. DjBenny

    DjBenny Benutzer

    AW: Streamchecker...

    kann es sein, dass wenn ich ihn kill er die wav nicht zuende schreibt und deswegen ein fehler auftritt
     
  15. c.rothe

    c.rothe Benutzer

    AW: Streamchecker...

    Ich habe das gerade mal auf meinem Rechner gecheckt und konnte die WAV auslesen, nachdem ich den mpg123 gekillt hatte...

    Gib mir mal bitte Deine Streamadresse (von aussen erreichbar), dann probiere ich mal, ob ich da was hinbekomme.

    Christoph
     
  16. c.rothe

    c.rothe Benutzer

    AW: Streamchecker...

    So,

    habe mal ein wenig gebastelt und das ist rausgekommen:

    Code:
     #!/bin/sh
    
    URL=http://www.meinradio.de:8080
    TESTLENGTH=10
    THRESHOLD=1000
    
    mpg123 -s -q -r 44100 $URL >/tmp/streamcheck.raw &
    sleep $TESTLENGTH
    killall mpg123
    MAXVOL=`sox -c 2 -s -r 44100 -w -t raw /tmp/streamcheck.raw -t wav /dev/null stat 2>&1|grep "Maximum amplitude:"|cut -f 2 -d ":"`
    PART1=`echo $MAXVOL|cut -f 1 -d "."`
    PART2=`echo $MAXVOL|cut -f 2 -d "."`
    MAXVOL=$PART1$PART2
    if test $THRESHOLD -gt $MAXVOL ; then
            echo "Stream seems to have died."
    fi
    
    Die Parameter sind fast selbsterklärend: URL bestimmt, welcher Stream gecheckt wird, TESTLENGTH bestimmt, wie lange der Stream mitgeschnitten wird bevor die Auswertung stattfindet, THRESHOLD bestimmt, ab welchem von SOX gelieferten Wert Stille ist. Der THRESHOLD muss in 1/100000-Prozent angegeben werden, man stelle sich also die Ausgabe von Sox ohne den "." als Trennzeichen vor. Grund: Die Bash kann nur mit Integer rechnen.

    Und: Die Ausgabe von mpg123 als WAV funktioniert tatsächlich nicht, ich schreibe jetzt RAW-Data.

    Wichtig: Das Script killt ALLE mpg123 auf dem Rechner, d.h. entweder (=Dirty) unter einem unprivilegierten User laufen lassen... sollte man eh tun, oder (=sauberer) das Killen des Prozesses über die PID erledigen. Habe ich auf die Schnelle jetzt mal nicht geschrieben.

    Der Code steht hiermit unter der GPL, Weiterentwicklungen bitte per Mail an mich oder hier posten. Danke!

    Gruss,

    Christoph
     
  17. DjBenny

    DjBenny Benutzer

    AW: Streamchecker...

    Funktioniert perfekt.

    Aber wenn der Mountpoint nicht online ist:

    HTTP request failed: 404 File Not Found
    mpg123: no process killed
    Stream seems to have died.

    Aber ansonsten sehr gelungen!
     
  18. DjBenny

    DjBenny Benutzer

    AW: Streamchecker...

    sh test
    Warning, flexible rate not heavily tested!
    test: line 9: 15163 Terminated mpg123 -s -q -r 44100 $URL >/tmp/streamcheck.raw


    Ich habe versucht einen mp3pro stream damit zu untersuchen.
     

Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen