MMS-Stream als Shoutcast weiterleiten

  • Hallo,


    ich bin auf der Suche nach einer Lösung für folgendes Problem:


    ich habe ein Pinnacle Showcenter, welches ja Shoutcast-Kanäle wiedergeben kann.


    Ich möchte auf diesem auch Internetradios hören, welche als MMS-Stream daher kommen.


    Im VDR kann ich diese Kanäle mit dem MPlayer-Plugin ohne Probleme hören.


    Nun ist die Frage: wie kann ich den einkommenden mms-Stream im VDR so umbauen, dass ich ihn als Shoutcast-Kanal weiterreichen kann?


    Folgende Idee ist mir gekommen:
    Mplayer->Umwandeln on the fly in Mp3->Icecast-Server nimmt dieses Mp3-File dann entgegen und stellt ihn als Kanal zur Verfügung.


    Kann mir jemand Tipps geben, wie ich das verwirklichen kann? Oder hat vielleicht jemand anders eine Idee?


    Danke
    Brennivin

    vdr: 800Mhz PentiumIII, 128MB, DVB-S FF1.3 Technotrend, DVB-T-Karte, NEC-DVD-Brenner, AGP-Grafikkarte, alles im schicken Ikea-Hol ;)


    Mahlzeit-ISO 3.2, linvdrupdater.sh im cron

  • Hi,


    Unter Linux lassen sich auch mehrere Programme kaskadieren und Ausgaben weiterreichen. Jedes Program für seine Aufgabe.



    * Per Mplayer den Stream holen, und als wav an eine Pipe ausgeben.
    * per ffmpeg den Stream encodieren
    * per ffserver den Stream im Netz bereitstellen.
    ( Bindeglied ist eine Pipe als Fifo mit namen temp.wav, vielleicht geht die Koppelung auch direkt über stdout )


    Code
    export URL="mms://a873.l1248539963.c12485.e.lm.akamaistream.net/D/873/12485/v0001/reflector:39963"
    mkfifo temp.wav
    mplayer -quiet -nolirc -noautosub -noconsolecontrols -novideo -nojoystick -vo null -vc dummy -ao pcm:file="temp.wav"  "$URL" 1>/dev/null &
    ffserver -f stream.conf &
    ffmpeg -i "temp.wav" http://localhost:8090/feed1.ffm


    Ein Beispiel einer stream.conf hatte ich in einem ähnlichen Thread gepostet.


    Andreas

  • Danke sehr, werde das mal ausprobieren!

    vdr: 800Mhz PentiumIII, 128MB, DVB-S FF1.3 Technotrend, DVB-T-Karte, NEC-DVD-Brenner, AGP-Grafikkarte, alles im schicken Ikea-Hol ;)


    Mahlzeit-ISO 3.2, linvdrupdater.sh im cron

  • Hallo habe das jetzt mal ausprobiert.


    Folgende Url ist Gegenstand der Betrachtung:
    mms://apollo.vortex.is/KissFM/


    Im Verzeichnis, wo ich das Skript aufrufe, wird eine temp.wav angelegt, mit immer 0KB. Daneben existiert noch eine audiodump.wav, in die anscheinend der ganze Stream reingeschrieben wird, die Größe ändert sich dynamisch. Wenn man diese Datei aufruft, hört man den Inhalt, so wie er sein sollte.


    Wenn ich dann aber die radio.mp3 zum Beispiel im VLC aufrufe, passiert nichts.


    Wo und wie kann ich denn debuggen?


    Code
    export URL="mms://apollo.vortex.is/KissFM/"
    mkfifo temp.wav
    mplayer -quiet -nolirc -noautosub -noconsolecontrols -novideo -nojoystick -vo null -vc dummy -ao pcm:file="temp.wav"  "$URL" 1>/dev/null &
    ffserver -f stream.conf &
    ffmpeg -debug -i "temp.wav" http://localhost:8090/feed1.ffm


    vdr: 800Mhz PentiumIII, 128MB, DVB-S FF1.3 Technotrend, DVB-T-Karte, NEC-DVD-Brenner, AGP-Grafikkarte, alles im schicken Ikea-Hol ;)


    Mahlzeit-ISO 3.2, linvdrupdater.sh im cron

  • Dann scheint dein mplayer wohl etwas älterer Bauart zusein. Sprich er übernimmt nicht den Parameter :file="temp.wav" sondern gibt immer nach audiodump.wav aus.


    Zitat

    export URL="rtsp://stream1.rbb-online.de/broadcast/radioeins-live.ra"
    mkfifo audiodump.wav
    mplayer -quiet -nolirc -noautosub -noconsolecontrols -novideo -nojoystick -vo null -vc dummy -ao pcm "$URL" 1>/dev/null &
    ffserver -f stream.conf &
    ffmpeg -i "audiodump.wav" http://localhost:8090/feed1.ffm


    Allerding bekomme ich hier kein Connect zu deinem Beispiel, da ist wohl der Server down.
    Failed to open mms://apollo.vortex.is/KissFM/.
    Deshalb habe ich zum Testen mal den Realstream von radio-eins verwendet.



    Die per mkfifo angelegt Fifodatei wird immer mit 0kb angezeigt, da sie eine Spezialdatei ist, in die sich wie eine Pipeline bzw. Heizungsrohr mit Ausdehnungsbehälter verhält. Programm A pumpt Daten ins Rohr hinein, und Programm B sieht später dann am anderen Ende Röhre die Daten in gleicher Reihenfolge, nur dass das Dateisystem damit einen Datenpuffer bereitstellt.


    Andreas

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!