Nächster Titel mplayer via Weboberfläche

  • Guten Abend @all,

    ist zwar ein komischer Threadname geworden, eigentlich aber ein simples Problem. Vielleicht könntet ihr mir kurz auf die Sprünge helfen.

    Ich habe auf einem pi2 (wheezy) einen kleinen Radio-Server laufen. Auf diesem läuft eine kleine PHP Oberfläche auf der unser Jungspund seine Lieblings-MP3´s per Klick starten und hören kann. Vom Prinzip schaut der Aufruf eines Album so aus:

    Bash
    #!/bin/bash
    playlist=/var/www/mp3/kids18/playlist_kids18.pls
    #erstellt eine Playlist:
    find /var/www/mp3/kids18 -iname '*.mp3' | sed 's/\.\///;' | sort > $playlist
    chown www-data:www-data $playlist
    sleep 3
    #Playlist wiedergeben:
    su pi -c "mplayer -playlist $playlist"
    exit 0

    Nun zur Frage aller Fragen. Gibt es eine Möglichkeit via Bash-Skript einen Titel vor- bzw. über einen zweites Skript einen Titel zurückzuspringen? Ich würde dann die Bash-Skripte wieder in meine php-WebSite einbinden, sodass der Nachwuchs sich die Titel selber suchen kann.

    Wenn der mplayer per Terminal gestartet wird, kann ich mit der "Enter"-Taste einen Titel vorspringen, aber wie bekomme ich diesen Command in ein ausführbares Bash-Skript? Jemand eine Idee?

    Grüße M.

  • Ich würde eher dazu tendieren einen Player zu wählen den man via Python steuern kann wie zum Beispiel MPD (python module mpd2) und das WebInterface dann halt ebenfalls über Python zu realisieren: FAQ => Nützliche Links / Linksammlung => [Python] Webserver, Websocket und ein bisschen AJAX

    Dieses "webplayer" was dunklesToast gepostet hat macht nämlich auch nichts anderes als den Konsolen Prozess von mplayer zu killen und wieder über exec(); auszuführen - nochdazu benötigt es MySQL für die Playlist usw

  • Mhmm,

    das Ganze klingt dann doch deutlich komplizierter als gedacht... der pi beinhaltet mittlerweile etliche MP3-Alben, sowie RadiosStreams... Da dieser absolut zuverlässig und stabil läuft wollte ich ungern wieder komplett von vorne beginnen.... Naja, trotzdem vielen Dank.

    Falls jemand noch eine andere Idee hat, wie ich die Titel mit einfachem Mittel wechseln kann habe ich immer ein offenes Ohr.

    LG Micky

    P.S. Den WebMplayer guck ich mir nebenher trotzdem mal an ;)

    Einmal editiert, zuletzt von Micky (22. Oktober 2016 um 18:12)

  • Zitat


    Falls jemand noch eine andere Idee hat, wie ich die Titel mit einfachem Mittel wechseln kann habe ich immer ein offenes Ohr.

    Ist zwar nicht ganz das was Du wolltest, aber hier sind noch ein paar Ideen drin...

    MfG

    Jürgen

  • Du kannst deine MP3 Alben usw beibehalten, das einzige was du machen brauchst ist den Player zu wechseln und je nachdem welchen du verwendest dein WebInterface zu gestalten - du könntest auch für omxplayer den python-wrapper verwenden...
    Eine Lösung über PHP erachte ich als suboptimal da keine direkte Steuerung des Players möglich wäre; es sei denn dieser bietet eine API welche über PHP angesprochen werden kann, da ist mir aber keiner bekannt. Natürlich könntest du über dein WebInterface auch irgend ein Shellscript ausführen was dann den Player anspricht, was auch mit mpd bzw dessen Client mpc funktionieren würde ebenso wie bei dem von Jürgen genannten xmms2, aber auch das wäre meiner bescheidenen Meinung nach suboptimal

    Einen Prozess mit exec(); zu starten und bei "Lied Wechsel" gewaltsam zu killen um anschließend eine neue Instanz mit neuem Lied zu starten, ist keine direkte Steuerung. Unsaubere Pausen zwischen beenden und starten wären dabei inbegriffen. So macht es "WebMplayer".

    Ich 'Like' Jürgens Beitrag dennoch, weil der dort beschriebene Weg auf jeden Fall besser als "WebMplayer" wäre.

  • Ich 'Like' Jürgens Beitrag dennoch, weil der dort beschriebene Weg auf jeden Fall besser als "WebMplayer" wäre.

    Danke, aber mir ging es nur um die Ideen, ich würde auch den mpd bevorzugen,
    besonders weil man ihn auch mit MPDroid steuern kann.

    Ich habe den mpd mal als Proxy für Radio-Streams benutzt,
    ab 5 Clients wurde es dann, sagen wir mal, etwas kratzig, war nur ein Pi 1B rev2,
    warscheinlich war es der Ethernet-Port, der nicht mehr konnte.
    Leider war es auch nicht synchron. Aber schon witzig, das man mit einem Wischer
    im Haus und im Garten bei allen Geräten den Sender wechseln konnte.

    Ich fand die Idee mit dem QR-Code recht interessant, ob man damit xmms
    oder den mpd steuert ist wohl nur eine Anpassung der Software.


    MfG

    Jürgen

    Edit: Noch ein Radio

  • mit mpd geht das voll doll toll einfach.
    du installierst nen webserver mit php und steuerst mit diesem dann über bashbefehle mit mpc den mpd server.
    auf der webseite erstellst du nen link al la

    Code
    <a href="next.php"><img src="pic/button/button_14.png"></a>


    und in next.php steht dann sowas:

    PHP
    <?php
    exec("mpc next");
    ?>


    Automatisch zusammengefügt:

    Zu dem thema gibt es hier übrigends ne klasse videoanleitung:
    SemperVideo

    Einmal editiert, zuletzt von pelztier (23. Oktober 2016 um 11:34)

  • Anstatt für jedes Vorhaben eine eigene *.php Datei anzulegen wäre wie ich finde besser eine einzige Datei zu haben und dieser das jeweilige Vorhaben via GET zu übergeben und dann entsprechend zu behandeln. Ungefähr so:

    Code
    <a href="player.php?action=next"><img src="pic/button/button_14.png"></a>
    <a href="player.php?action=stop"><img src="pic/button/button_15.png"></a>


    player.php
    [code=php]
    <?php
    if (isset($_GET['action']) AND $_GET['action'] == "next") {
    exec("mpc next");
    } elseif (isset($_GET['action']) AND $_GET['action'] == "stop") {
    exec("mpc stop");
    }
    ?>
    [/php]Hat so oder so aber den Nachteil das jedes mal die komplette Seite neu geladen wird. Über JavaScript wäre das denk ich besser.

    Allerdings ist selbst das unnötig! MPD hat eine super tolle Sache: Man kann sich über TCP/IP verbinden und Befehle absetzen :cool:
    Es gibt officiell eine schicke mpd.js also ein JavaScript => http://mpd.wikia.com/wiki/Client_Libraries ==> https://github.com/bobboau/MPD.js
    Da findet man auch gute PHP Möglichkeiten..

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!