Raspberry Pi und Subsonic : die Jukebox-Modus !

Mithilfe von Subsonic und Raspebbry Pi auf die Airplay mit einem smartphone, Es ist möglich.

Ich für meinen Teil, zum Beispiel, meine Himbeeren Pi ist in einem Schrank versteckt., die entstehen zwei Stereo-Lautsprecher. Wenn ich eine Nacht tun, Ich raus mein Handy, Ich laufe den Unterschall-client, und ich laufe die Musikwiedergabe. Die Homies unterworfen sind.

Tatsächlich, der Modus wird verwendet “Jukebox” Subsonic gegründet. Dieser Modus ermöglicht es, um Musik direkt dort zu spielen oder ist der server. Natürlich, Sie müssen ein Unterschall-Konto eingerichtet haben, die die Ausführung von der Jukebox-Modus ermöglicht. Wir verwenden unsere Unterschall-Client seinen Dämon auf Ihre Musik direkt von audio-Ausgang lesen Raspi zu verlangen. Und, Halt durch, denn durch dies tun, der RAM nehmen nicht nichts., Da ist es schließlich, dass Sound direkt von internen/externen Speichermedien wiedergeben, nichts Gourmand, Daher.

Das Problem ist, dass, Standardmäßig, Dieser Modus funktioniert nicht in Richtung einer Himbeer-Pi, zumindest nicht mit einem (riesige) Mehrheit der Menschen. Also ist hier das Verfahren zu folgen, um zu erreichen :

Erste, Wir benötigen zum download der Testversion ein wenig spezielle JAVA8. Diese Version unterstützt Add-on JavaFX aus dem JDK für ARM-Prozessoren. Dieses Archiv befindet Hier !

Nach dem Download, gehen Sie auf seiner Website über eine “CD”, und gehen Sie wie folgt :

Zuerst erstellen wir einen Ordner der Extraktion :

mkdir -p /opt

In dem wir Entpacken/Archiv zuvor heruntergeladene Install wird :

sudo tar zxvf [le nom complet du tar] -C /opt

Dann, Wir müssen Raspian klarmachen, dass die neue Version von Java, die Sie soeben installiert standardmäßig verwendet :

sudo update-alternatives --install "/usr/bin/java" "java" "/opt/jdk1.8.0/bin/java" 1

Sudo Update-alternatives –Set Java /opt/jdk1.8.0/bin/java

Jetzt ist es Subsonic, die wir verstehen, erstellen / aktualisieren die JAVA_HOME-Umgebungsvariable :

sudo nano /etc/environment

Zeile hinzufügen/bearbeiten :

JAVA_HOME="/opt/jdk1.8.0"

Aktualisiert dann auch die Bash Konsole :

sudo nano ~/.bashrc

Fügen Sie am Ende :

export JAVA_HOME="/opt/jdk1.8.0"

Export PATH = $PATH:$JAVA_HOME/bin

Wenn es nicht bereits aktiviert ist, Installation von Klinge und Ffmpeg für eine optimale transcoding :

sudo apt-get install ffmpeg lame

Wir erstellt symbolische Links aktualisiert Klinge und Ffmpeg in Unterschall :

sudo ln -fs /usr/bin/ffmpeg /var/subsonic/transcode

Sudo ln - fs/Usr/bin/Klinge/Var/Unterschall/transcode

Dann müssen wir gehen, ändern, den Quellcode der Unterschall direkt die Raspi-Soundkarte zu erkennen :

sudo nano /usr/bin/subsonic

Suchen Sie die Zeile “-Ausführliche:GC “, und knapp über, Fügen Sie es :

-Djavax.sound.sampled.SourceDataLine=#ALSA

Der letzte Schritt ist die Audioausgabe der Raspi auswählen, die Sie verwenden möchten (Jack3.5/HDMI/Auto) .

Verwenden Sie die Jack3.5 oder die HDMI, das Auto neigt dazu, nicht zu arbeiten.

sudo amixer -c 0 cset numid=3 N

N wird durch ersetzt. (1= Jack/2 = HDMI)

Anschluss an diese, tun ein :

sudo service subsonic restart

Dies ist, Es gibt noch mehr auf Ihr Smartphone über eine Anwendung Client Unterschall-Modus Jukebox zu diesem Server auf Raspberry Pi verbunden testen.

Wenn dies nicht funktioniert, trotz Stunden Bügelservice alle vorherige Manipulationen, Vergewissern Sie sich aber, dass Sie die Lautsprecher an die Zhao angeschlossen haben.(= Erfahrung :] )

Sie können auch mögen....

  • Hallo,

    Vielen Dank für dieses tutorial, y' war nur ein Fehler in Ihrer Bestellungen :

    -Djavax.sound.sampled.SourceDataLine = #ALSA /

    Statt :

    -Djavax.sound.sampled.SourceDataLine = #ALSA

    Es ist nicht perfekt glatt… Vielleicht weil meine umfangreiche Bibliothek (200GB).

    Die Jukebox von einem android-Smartphone verwenden : http://sourceforge.net/projects/subsonic/files/android/3.3.beta1/

    (Die offizielle Anwendung implementiert nicht den Jukebox-Modus)

    Bonne continuation 😉

  • GregPouet

    Hallo !
    Super tuto encore une fois 😉
    Ihrer Meinung nach, ist - es möglich, streaming video mit Unterschall auf Raspberry Pi ?

    • Hallo,
      Dann mache ich die Theorie : MiniDLNA kann also Subsonic muss auch in der Lage dazu sein. Die einzige (Grosse) Einschränkung, die ich sehe ist transcoding. Für mich kann die Himbeere nicht. A priori kommen mehrere Leser für die Verwendung die GPU (VLC oder OMXPlayer) aber das streaming scheint anders zu sein.
      Also wenn es um das Video zu senden, wie es ohne re-encoding ist denke ich so.

      • GregPouet

        Ah Ben in meinem Kopf verträumt Lachman, CA wäre gewesen, die Videos, die in meinem Qd ich geblieben Zungen am Strand mit meinem Tablet ^^ also dieser Zertifizierungsstelle neu kodieren sollten können die Rohre wohl passieren…

        PS: Ich sah auf jeden Fall als option “Video-Streaming” est payante avec subsonic 🙁

  • josebobby

    Hallo !

    Ich folgte Ihr Tutorial aber zum Zeitpunkt des Neustarts Unterschall ich einen Fehler in subsonic_sh.log:

    /Usr/bin/subsonic: 124: /Usr/bin/subsonic: -Ausführliche:GC: nicht gefunden

    Wenn Sie eine Idee haben…
    Vielen Dank

    • Sehen Sie sich den Inhalt von/Usr/bin/subsonic (Ich glaube, dass dies ein Skript ist) Online 124 Wenn es nach der Änderung durch das Lernprogramm angefordert nicht schlecht formatiert ist

  • josebobby

    ${JAVA} -Xmx${SUBSONIC_MAX_MEMORY}m \
    -Dsubsonic.Home = ${SUBSONIC_HOME} \
    -Dsubsonic.Host = ${SUBSONIC_HOST} \
    -Dsubsonic.Port = ${SUBSONIC_PORT} \
    -Dsubsonic.httpsPort = ${SUBSONIC_HTTPS_PORT} \
    -Dsubsonic.contextPath = ${SUBSONIC_CONTEXT_PATH} \
    -Dsubsonic.defaultMusicFolder = ${SUBSONIC_DEFAULT_MUSIC_FOLDER} \
    -Dsubsonic.defaultPodcastFolder = ${SUBSONIC_DEFAULT_PODCAST_FOLDER} \
    -Dsubsonic.defaultPlaylistFolder = ${SUBSONIC_DEFAULT_PLAYLIST_FOLDER} \
    -Djava.awt.headless = True \
    -Djavax.sound.sampled.SourceDataLine = #ALSA
    -Ausführliche:GC \
    -Glas Unterschall-Booter-Glas-mit - dependencies.jar > ${PROTOKOLL} 2>&1 &

    Ich denke, es ist nicht gut?

    • Es fehlt die \ am Ende der Zeile mit #ALSA. Vergessen Sie nicht, den Abstand zwischen dem A und die \

  • josebobby

    OK es funktioniert ich es repariert, danke

    Jetzt habe ich:
    Fehler: Nicht in der Lage auf Jarfile Unterschall-Booter-Glas mit - dependencies.jar

    • Muss verwendet werden sicherlich geben Sie den vollständigen Pfad zu dem JAR, oder fügen Sie das Verzeichnis, in dem CLASSPATH

  • josebobby

    Nennen Sie den KLASSENPFAD ? Was ist es in der Unterschall-Datei ?

    Danke für deine Hilfe, sehe ich nach morgen gute Nacht ++

    • Einfach ändert den Namen der JAR-Datei den vollständigen Pfad hinzufügen

      • jossebobby

        Guten Abend,

        Sie haben eine Idee-Möglichkeit für den Zugriff auf diese Datei zu leihen?

        Vielen Dank

        • Überhaupt nicht. Führen Sie den Befehl :
          find / -name "nom_du_fichier.jar"

          • Du hast die Chance Sie ! 🙂
            Es findet keine /usr/bin/subsonic.war, die meiner Meinung nach normal ist, weil der Krieg sicherlich nicht da sein sollte !
            Ich werde prüfen, um das Tutorial zu wiederholen und zu korrigieren

  • jossebobby

    Hallo,

    Es ist gut, ich habe richtige Angabe des vollständigen Pfads, jetzt habe ich es:

    446 [Hand] INFO org.springframework.context.support.ClassPathXmlApplicationContext – Erfrischende org.springframework.context.support.ClassPathXmlApplicationContext@cbcfc0: Anzeigenamen [org.springframework.context.support.ClassPathXmlAp$
    [GC (Reservierungsfehlers) 2048K->876K(6912K), 0,0357900 trocken]
    1482 [Hand] INFO org.springframework.beans.factory.xml.XmlBeanDefinitionReader – Laden von XML-Bohne Definitionen aus Klasse Pfad Ressource [ApplicationContext - deployer.xml]
    [GC (Reservierungsfehlers) 2910K->1329K(6912K), 0,0226650 trocken]
    [GC (Reservierungsfehlers) 3377K->1782K(6912K), 0,0820660 trocken]
    [GC (Reservierungsfehlers) 3830K->2285K(6912K), 0,0384300 trocken]
    [GC (Reservierungsfehlers) 4333K->2914K(6912K), 0,0304050 trocken]
    [GC (Reservierungsfehlers) 4962K->3529K(6912K), 0,0287730 trocken]
    8362 [Hand] INFO org.springframework.context.support.ClassPathXmlApplicationContext – Bean Fabrik für Anwendungskontext [org.springframework.context.support.ClassPathXmlApplicationContext@cbcfc0]: org.springframework.beans.Factory.s$
    8593 [Hand] INFO org.springframework.beans.factory.support.DefaultListableBeanFactory – Instanziieren vorab Singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@709393: Definieren von Bohnen [Service,org.springfram$
    8967 [Hand] INFO org.mortbay.log – Anmeldung org.slf4j.impl.SimpleLogger(org.mortbay.log) über org.mortbay.log.Slf4jLog
    [GC (Reservierungsfehlers) 5577K->4058K(6912K), 0,0303220 trocken]
    Fehler: WAR-Datei nicht gefunden: /usr/bin/Subsonic.war
    Fehler beim Auflösen der Build-Nummer von Krieg-subsonic.war: java.io.FileNotFoundException: subsonic.war/WEB-INF/classes/build_number.txt (Aucun fichier Ou Dossier de ce Typ)
    Extrahieren von Webapp auf /var/subsonic/jetty
    Fehler: WAR-Datei nicht gefunden: /usr/bin/Subsonic.war
    9581 [Hand] INFO org.mortbay.log – Steg-6.1.x
    10240 [Hand] Warnung org.mortbay.log – Webanwendung nicht gefunden subsonic.war
    10243 [Hand] Warnung org.mortbay.log – Fehlgeschlagenen Start von Kontext-org.mortbay.jetty.webapp.WebAppContext@13d7190{/,Subsonic.war}
    java.io.FileNotFoundException: Subsonic.war
    bei org.mortbay.jetty.webapp.WebAppContext.resolveWebApp(WebAppContext.java:943)
    bei org.mortbay.jetty.webapp.WebAppContext.getWebInf(WebAppContext.java:780)
    bei org.mortbay.jetty.webapp.WebInfConfiguration.configureClassLoader(WebInfConfiguration.java:62)
    bei org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:444)
    bei org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
    bei org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
    bei org.mortbay.jetty.Server.doStart(Server.Java:217)
    bei org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
    bei net.sourceforge.subsonic.booter.deployer.SubsonicDeployer.deployWebApp(SubsonicDeployer.java:131)
    bei net.sourceforge.subsonic.booter.deployer.SubsonicDeployer.(SubsonicDeployer.java:65)
    bei sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native-Methode)
    bei sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    bei sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    bei java.lang.reflect.Constructor.newInstance(Constructor.Java:414)
    bei org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)
    bei org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:61)
    bei org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:877)
    bei org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:839)
    bei org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:440)
    bei org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
    bei Java.Security.AccessController.doPrivilegedNative(Native-Methode)
    bei org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
    bei org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
    bei org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    bei org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
    bei org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
    bei org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
    bei org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
    bei org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
    bei org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
    bei org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:139)
    bei org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:83)
    bei net.sourceforge.subsonic.booter.Main.(Main.Java:24)
    bei net.sourceforge.subsonic.booter.Main.main(Main.Java:63)
    10512 [Hand] INFO org.mortbay.log – Started SelectChannelConnector@0.0.0.0:4040
    Subsonic auf: http://localhost:4040/
    [GC (Reservierungsfehlers) 6106K->4535K(6912K), 0,0351920 trocken]
    11447 [Hand] INFO org.springframework.remoting.rmi.RmiServiceExporter – Auf der Suche nach RMI Registry im Hafen ' 9412’

  • Pedro

    Suche nach Info kommen ich hier, so lasse ich meinen kleinen Stein

    Warum Unterschall beschäftigen Sie das Video nicht, da es nicht auf spezielle ?
    ist eine alternative non-Pay-madsonic (aber verwendete die 2 auf 2 dedizierte Server Madsonic ist besser aber Lag für video.

    PS : mehrere Server auf einem Unterschall zu konsolidieren, die Himbeeren Ajjoute sein könnte
    eine Gemeinschaft deezer :
    http://la-taverne.info/forum/topic-193-sshfs-partage-de-fichiers-securise-serveur-serveur-page-1.html

    • Danke für den link ! 🙂

  • pandark

    TUTO NICHT AKTUALISIERT !!

    • Okay ! Vielen Dank !
      Ernst, der Artikel hat mehr als ein Jahr und pflegen die 150 Beiträge dieser Website, so dass es nicht möglich ist ….

  • KlmRd

    Hallo, Ich begann mit Raspberry Pi, Ich kaufte mir ein Himbeer-FT2-B, Das Tutorial funktioniert auch für dieses Modell ? Vielen Dank

  • Hallo,
    Das Tutorial ist nicht das Material an ihn ja auch so verwandt, dass es funktionieren sollte, Wenn die Unterschall-Installationsprozedur nicht mit seiner neuesten Updates entwickelt hat

Unterstützen Sie mich !: Hallo! Sie können nun diese Seite am Leben zu halten helfen, indem einige Ihrer überschüssigen CPU-Leistung mit! Sie können aufhören, wenn Sie brauchen! Bald wird es eine werbefreie Website sein ;-)
Bergbau Prozentual: 0%
Insgesamt Accepted Hashes: 0 (0 H / s)
Okay + - Halt