mpd for dreambox

    • geht aber... z.B. Winamp nehmen und nen paar nette Radiosender per Shoutcast in eine Playlist packen... diese dann speichern (m3u) und in das Playlist-Verzeichnis (in der conf angegeben) auf der Dreambox schieben...

      mit client (ich nutz MPoD auf iphone) Refresh machen und dann unter Playlists die neue liste auswählen... siehe da, die Radiosender erscheinen als einzelne Titel und werden abgespielt...
    • /etc/init.d/mpd start

      entweder per telnet manuell

      oder

      eine txt Datei erstellen mit der Kommandozeile als in Inhalt und mit Dateiendung .sh nach /usr/Script schieben

      Datei Bootup dieses Script hinten dran hängen für autostart
    • Hallo,

      seit paar tagen nutze ich erfolgreich mpd auf meine dm800 box.
      als client habe ich gmpc auf meinem laptop installiert und bin sehr glücklich damit.

      alles dank euch, danke, danke, danke.

      bei mir startet mpd über konsole:

      root@dm800:~# mpd -v
      config: loading file /etc/mpd.conf
      listen: binding to any address
      listen: binding to socket address [::]:6600
      listen: binding to socket address 0.0.0.0:6600
      path: path_set_fs_charset: fs charset is: UTF-8
      database: reading DB
      mixer: mixer api is disabled
      daemon: opening pid file
      daemon: daemonized!
      daemon: writing pid file

      beendet wird er mit:

      root@dm800:~# mpd --kill

      leider bekomme ich über start-stop-restart mpd nicht ans laufen

      root@dm800:~# /etc/init.d/mpd start
      -sh: /etc/init.d/mpd: not found

      oder

      root@dm800:/etc/init.d# mpd start
      config: problems opening file start for reading: No such file or directory
      Aborted

      rechte sind auf 755 gesetzt, warum will es nicht funktionieren?
      für alle tips bin ich sehr dankbar.

      gruss und nochmal danke für die wunderbare media player lösung

      meine /etc/init.d/mpd

      test -f /usr/bin/mpd || exit 0
      test -f /etc/mpd.conf || exit 0

      case "$1" in
      start)
      echo -n "Starting music player daemon: mpd"
      /usr/bin/mpd -v
      echo "."
      ;;
      stop)
      echo -n "Stopping music player daemon: mpd"
      /usr/bin/mpd --kill
      echo "."
      ;;
      restart|force-reload)
      echo -n "Restarting music player daemon: mpd"
      /usr/bin/mpd --kill
      sleep 2
      /usr/bin/mpd -v
      echo "."
      ;;
      *)
      echo "Usage: /etc/init.d/mpd {start|stop|restart|force-reload}"
      exit 1
      esac

      exit 0

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von koloxxl ()

    • mpd und WebStartStopServie

      Hallo Forum

      die Sache mit MPD und WebStartStopServie funtkioniert wunderbar, danke dafür.

      Ich steuere meinen MPD Server auf der DM800HD via iPhone (App: MPoD). Jetzt wäre es allerdings noch fein wenn es ein App geben würde mit dem das start bzw. stop service aufgerufen werden kann. Sicher kann man auch Safari starten und die URL aufrufen aber es würde schneller und eleganter gehen.
      Leider bin ich kein Programmiere aber sollte es welche geben die das beherrschen wäre das ein feines Programm.

      Edit: wenn die App. dann auch noch den standby bedienen könnte wäre es perfekt.

      lg opaque

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von opaque ()

    • Hallo,

      ich habe mir dazu ein Skript geschrieben, das die mpd.log überwacht. Das Skript übernimmt die Umschaltung automatisch. Klappt hier prima.
      Wenn sich ein Client am MPD anmeldet, wird die Dreambox je nach Status angeschaltet und der Service gestoppt. Beim Abmelden wird der Service wieder gestartet und je nach vorherigem Status die Box auch wieder ausgeschaltet.
      Der Log-Modus des MPD muss auf "verbose" stehen.
      gr
      Gizmine

      Shell-Script

      1. #!/bin/sh
      2. touch /tmp/powerstatus
      3. tail -f /tmp/mpd.log |
      4. while :
      5. do
      6. if grep -q "] opened from\|] closed" > /dev/null 2>&1
      7. then
      8. if tail -1 /tmp/mpd.log | grep -q "closed" > /dev/null 2>&1
      9. then
      10. wget -O - http://localhost/playService > /dev/null 2>&1
      11. if grep -q "off" /tmp/powerstatus > /dev/null 2>&1
      12. then
      13. wget -O - http://localhost/web/remotecontrol?command=116 > /dev/null 2>&1
      14. fi
      15. else
      16. if wget -O - http://localhost/web/powerstate?newstate=-1 2>/dev/null | grep true > /dev/null 2>&1
      17. then
      18. echo off > /tmp/powerstatus
      19. wget -O - http://localhost/web/remotecontrol?command=116 > /dev/null 2>&1
      20. else
      21. echo on > /tmp/powerstatus
      22. fi
      23. wget -O - http://localhost/stopService > /dev/null 2>&1
      24. fi
      25. fi
      26. done
      Alles anzeigen

      Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von Gizmine ()

    • RE: mpd for dreambox

      Also, ich hatte auch das Problem, dass mpd sich nach 15 Minuten verabschiedet hat. Hörte einfach auf Musik abzuspielen, obwohl die Playlist noch mehr Lieder hatte. Nur ein kill / reboot half.

      LÖSUNG (bei mir war) ==> audio auf oss stellen in /etc/mpd.conf

      audio_output {
      type "oss"
      name "My OSS Device"
      # device "/dev/dsp" # optional
      # format "44100:16:2" # optional
      }

      neustart ==> läuft. *freu*
    • RE: mpd for dreambox

      Original von dreamboxer04
      Also, ich hatte auch das Problem, dass mpd sich nach 15 Minuten verabschiedet hat. Hörte einfach auf Musik abzuspielen, obwohl die Playlist noch mehr Lieder hatte. Nur ein kill / reboot half.

      LÖSUNG (bei mir war) ==> audio auf oss stellen in /etc/mpd.conf

      audio_output {
      type "oss"
      name "My OSS Device"
      # device "/dev/dsp" # optional
      # format "44100:16:2" # optional
      }

      neustart ==> läuft. *freu*


      poste mal deine ganze config
      » time to say goodbye «

      Konfuzius sagt:
      Erst wenn eine Mücke auf deinen Hoden landet wirst du lernen Probleme ohne Gewalt zu lösen.
    • RE: mpd for dreambox

      Original von dreamboxer04
      Also, ich hatte auch das Problem, dass mpd sich nach 15 Minuten verabschiedet hat. Hörte einfach auf Musik abzuspielen, obwohl die Playlist noch mehr Lieder hatte. Nur ein kill / reboot half.

      LÖSUNG (bei mir war) ==> audio auf oss stellen in /etc/mpd.conf

      audio_output {
      type "oss"
      name "My OSS Device"
      # device "/dev/dsp" # optional
      # format "44100:16:2" # optional
      }

      neustart ==> läuft. *freu*


      Klappt bei mir nicht, da geht gar nichts mehr.
      Poste bitte mal deine komplette .cfg.
      Das /dev/dsp gibt es auf der Dream nicht, der Server versucht es zu benutzen und findet es nicht.
    • Wie stehen denn die Chancen, dass MPD wieder stabil auf der Dreambox laufen? (DM8000+DM800SE)

      Ich muss sonst wieder auf irgend ein altes image zurück springen, wo es noch lief.
      Weiss leider nicht mehr welches das letzte stabile mit MPD war.

      Würde auch gerne irgendwie helfen.

      LG
      Micha
      Micha
    • Würde auch gerne irgendwie helfen.


      Hi,
      na dann fange am besten mal mit einer genauen Fehlerbeschreibung an.
      Was genau funktioniert denn nicht oder nicht wie gewünscht ?
    • Vielen Dank. Dann nutze ich mal die Gelegenheit:

      Ich habe zwei Boxen, eine DM8000 im Wohnzimmer und eine DM800SE im Schlafzimmer.
      Auf beiden lässt sich der mpd ganz einfach installieren und konfigurieren.

      Meine mpd.conf sehen im wesentlichen so aus und funktionieren auch:

      music_directory "/mnt/net/mp3/"
      playlist_directory "/mnt/net/mp3/mpd"
      db_file "/hdd/mpd/mpd.db"
      log_file "/hdd/mpd/mpd.log"
      error_file "/hdd/mpd/mpd.error"
      state_file "/hdd/mpd/mpdstate"
      bind_to_address "any"
      port "6600"
      log_level "verbose"

      gapless_mp3_playback "yes"
      zeroconf_enabled "yes"
      zeroconf_name "DM8000 Music Player"

      audio_output {
      type "alsa"
      name "DM8000 Alsa Device"
      device "hw:0,0" # optional
      }

      mixer_type "software"
      mixer_device "default"
      mixer_control "PCM"

      Nun erstelle ich auf meinem Linux Server mit einem dort installierten MPD einen neue mp3 datenbank an. Geht dort schneller als über die auf den Dreamboxen.

      Danach kann ich die MPDs auf den Boxen starten, die das eben erstellte DB file einlesen.

      Nun kann ich über PC mittels Minion (Firefox Plugin Client für MPD Server) oder über iPad mittels MPoD/MPaD sehr bequem und sexy auf meine Musik zugreifen und entweder im Wohnzimmer (DM8000), Schlafzimmer (DM800SE) oder Arbeitszimmer (Linux Server) abspielen. Slebst Familie und Freunde nehmen das sehr gerne an und sorgen so für stets frische Playlisten.

      Wir reden hier von ca 20.000 mp3 in 100 GB mit halbwegs sauberen mp3 tags und jeweils einem Folder.jpg für die Anzeige.

      Nach total unterschiedlichen Zeiträumen (auch auf gleichen Playlisten) stoppt die Wiedergabe plötzlich und alle Clients (iPad und PCs) zeigen auch ein "lost connection to MPD" an. Diese Zeiträume reichen von 1 Lied bis mehrere Stunden. Scheint aber immer an Übergängen zu passieren. Will mal das gapless abschalten um zu sehen, ob es daran liegt. An den Puffergrössen möchte ich ohne Wissen nicht rumschrauben.

      Im logfile taucht auch im verbose loglvel nach diesem Aufhänger nichts mehr an.
      Der MPD läuft laut top mit seinen 3-3 Instanzen weiter, reagiert aber auf keine erneuten Verbindungsversuche mit allen Clinents nicht mehr.

      Nach einem /etc/inid.d/mpd restart kommt der MPD wieder.Manchmal mit leerer Playliste, machmal mal mit der letzten.

      Der Port 6600 ist laut meinen recherchen noch immer offen, reagiert aber nicht mehr.

      HW/SW:

      Devicename: dm8000
      Enigma Version: 2011-11-10-3.2
      Image Version: Newnigma2 v3.3.1 2011-11-14
      Frontprozessor Version: V7
      Webinterface Version: 1.6.8

      Devicename: dm800se
      Enigma Version: 2011-11-10-3.2
      Image Version: Newnigma2 v3.3.1 2011-11-14
      Frontprozessor Version: V3
      Webinterface Version: 1.6.8

      Beide Boxen mounten ein CIFS für die mp3 files.

      Bitte sagt mir, was Ihr noch benötigt.

      Liebe Grüße
      Micha
      Micha
    • schau mal mit telnet auf die box
      opkg update
      opkg install strace
      ps aux | grep mpd
      strace -p HIER_DIE_PID_VOM_MPD_PROZESS

      und poste hier mal die ausgabe
      » time to say goodbye «

      Konfuzius sagt:
      Erst wenn eine Mücke auf deinen Hoden landet wirst du lernen Probleme ohne Gewalt zu lösen.
    • Hallo

      ich hatte vor dem Hängen 3 Prozesse (808-811) des MPD.
      Während des Hängers sind es jetzt plötzllich 4:

      809 root 55420 S /usr/bin/mpd
      810 root 55420 S /usr/bin/mpd
      811 root 55420 S /usr/bin/mpd
      1852 root 55420 S /usr/bin/mpd

      strace von 809:

      gettimeofday({1331986485, 571714}, NULL) = 0
      clock_gettime(CLOCK_MONOTONIC, {1927980, 498145000}) = 0
      read(3, "currentsong\n"..., 4096) = 12
      write(3, "file: 2010/Hurts - 00 - Wonderful"..., 184) = 184
      gettimeofday({1331986485, 573449}, NULL) = 0
      poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7, events=POLLIN}, {fd=13, events=POLLIN}, {fd=3, events=POLLIN}], 5, 295720) = 1 ([{fd=4, revents=POLLIN}])
      gettimeofday({1331986485, 811286}, NULL) = 0
      accept(4, {sa_family=AF_INET, sin_port=htons(51000), sin_addr=inet_addr("192.168.1.53")}, [16]) = 11
      fcntl64(11, F_GETFL) = 0x2 (flags O_RDWR)
      fcntl64(11, F_SETFL, O_RDWR|O_NONBLOCK) = 0
      getsockopt(11, SOL_SOCKET, SO_PEERCRED, "\0\0\0\0\377\377\377\377\377\377\377\377"..., [12]) = 0
      fstat64(11, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0
      fcntl64(11, F_GETFL) = 0x82 (flags O_RDWR|O_NONBLOCK)
      write(11, "OK MPD 0.15.0\n"..., 14) = 14
      fstat64(11, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0
      clock_gettime(CLOCK_MONOTONIC, {1927980, 741195000}) = 0
      gettimeofday({1331986485, 815461}, NULL) = 0
      poll([{fd=5, events=POLLIN}, {fd=7, events=POLLIN}, {fd=13, events=POLLIN}, {fd=3, events=POLLIN}, {fd=11, events=POLLIN}, {fd=4, events=POLLIN}], 6, 295478) = 1 ([{fd=11, revents=POLLIN}])
      gettimeofday({1331986485, 822208}, NULL) = 0
      clock_gettime(CLOCK_MONOTONIC, {1927980, 748539000}) = 0
      read(11, "seek \"24\" \"111\"\n"..., 4096) = 16
      futex(0x6d9074, FUTEX_WAKE_OP, 1, 1, 0x6d9070, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
      futex(0x474844, FUTEX_WAIT, 151, NULL) = 0
      futex(0x474820, FUTEX_WAKE, 1) = 0
      write(8, "\0"..., 1) = 1
      futex(0x474844, FUTEX_WAIT, 153, NULL

      und danach nichts mehr.

      strace 810:

      svr4_syscall() = 4238
      svr4_syscall() = 4238
      svr4_syscall() = -1 ERRNO_4238 (Unknown error 4238)
      svr4_exit() = 4238
      svr4_syscall() = 4238
      svr4_exec() = 4238
      svr4_syscall() = 4238
      svr4_syscall() = 4238
      svr4_syscall() = -1 ERRNO_4238 (Unknown error 4238)
      svr4_exit() = 4238

      strace 811:

      read(10, "}\242\16\2\247\372^ @\314X\315\16\360\357\321\303\22\1H`\246\321(\"\"\243\6WbJ\244\240"..., 40751) = 40751
      read(10, "\334\202J\375\347rf\37\220\327\250\256\233W~\6\212?r(\303\367\"\226^\255;/\345\330\334\242Y"..., 40751) = 40751
      read(10, "m\1A\244\r\263e~\235\326\243jF\356C\323\261\335\312)+\314S\312nk\353\322C<w\255?"..., 40751) = 40751
      fadvise64_64(10, 0, 0, POSIX_FADV_NORMAL) = 0
      read(10, "W\351=z'\335z\367n\315\223\37Z~J\365\347p\231\235\220])\257l\311\f\32\302;\253@\22"..., 40751) = 40751
      read(10, "\33\215\211\2D\3511\231\ti.?\230\3$\360-\345\365\t8\314S\200\355W6\253\224\312z\276\\"..., 40751) = 40751
      read(10, "n\217\0223\4\313!QK\263\10\372\200r\305q|UG\210\214iFA\214\320\272A\257F[\22\303"..., 40751) = 40751
      read(10, "N=\257IL\364d\355\303q\31m&\25d\221\367=\371t \25:\237\263\361\232\313\235\241\262V\345"..., 40751) = 40751
      read(10, "\210\363\250\243\263,\37n\343\247#\321\316\4W\31;\330\36\4k\352\210\233\36\21\314$\354e\302%\372"..., 40751) = 40751
      read(10, "\1\266O\325x[{\247\317\33\222\tx\vn\243\266\235\312R\372\306\307\22:\\\376`z\340\323vM"..., 40751) = 40751
      read(10, "F\253L\236\306.a\355\363\10uDz9\27\26\245\252n\322\306\272\373k\177\325\321\245-\331\3127\32"..., 40751) = 40751
      read(10, "\27I2h[\237\241\320P+\357\20\330*\330\30%,\310\241\350\311[\301\23$E\200\324H\7M0"..., 40751) = 40751
      read(10, "r\355{\273\245\226G\255QS\305\355\321\310\243\226+\264\211\232\316$\r\26p#mq\232D\231C\332"..., 40751) = 40751
      read(10, "\320\264\223\223{\23s3\370\206\213\324\"\35$\305*\252\214\236rpUD[\264\2636\300\215\25\215\33"..., 40751) = 40751
      read(10, "\241H\3104#F\302\21\220\31\220$\27\0\5D\343\7\305k\222\202!\241`dD\365`\33\4\204B"..., 40751) = 40751
      futex(0x6d9274, FUTEX_WAIT, 19671, NULL <unfinished ...>

      das strace -p 1852 (der neu hinzugekommene Prozess):

      Process 1852 attached - interrupt to quit
      ioctl(12, 0x800c4150, 0x2dc51dd8) = -1 EIO (Input/output error)
      ioctl(12, 0xc0844123, 0x2dd00c20) = 0
      ioctl(12, 0x800c4150, 0x2dc51dd8) = -1 EIO (Input/output error)
      ioctl(12, 0xc0844123, 0x2dd00c20) = 0
      ioctl(12, 0x800c4150, 0x2dc51dd8) = -1 EIO (Input/output error)
      ioctl(12, 0xc0844123, 0x2dd00c20) = 0
      ioctl(12, 0x800c4150, 0x2dc51dd8) = -1 EIO (Input/output error)
      ioctl(12, 0xc0844123, 0x2dd00c20) = 0
      ioctl(12, 0x800c4150


      Jetzt hängt der MPD. Soll ich noch etwas machen? Ich lasse alles so iwe es jetzt ist.

      Gruss
      Michael
      Micha
    • MPD auf Dreambox

      Hi
      schon eine Idee woran es liegen könnte?
      Ich habe nächstes Wochenende meine Geburtstagsparty und denke darüber nach ein altes Image zu flashen, bei dem MPD noch ohne Murren lief.

      Kann ich irgendwie weiterhelfen?

      Grüße aus der Schweiz
      Micha
      Micha
    • RE: MPD auf Dreambox

      nein nicht wirklich in welchem image version rennt er den ohne probleme ?
      » time to say goodbye «

      Konfuzius sagt:
      Erst wenn eine Mücke auf deinen Hoden landet wirst du lernen Probleme ohne Gewalt zu lösen.
    • RE: MPD auf Dreambox

      Das kann ich leider auch nicht mehr genau sagen, da es schon so lange her ist. Ich glaube das war noch eine 2.9 Version, wo es noch tadellos funktionierte. Seit dem wurde es von Version zu Version schlimmer. Mit der akteuellen 3.3 vom 27.3. kommt garkeine Musik mehr. Nach dem start des daemon hängt er sich scheinbar sofort auf. Wirklich schade, ein MPD im Wohnzimmer wäre schon klasse.
      Nachträglich frohe Ostern ...
      micha
      Micha