[Tutorial] Spotify Connect Server Headless/Standalone

  • Hey,


    erstmal möchte ich mich für deine Arbeit bedanken :) Das sieht soweit spitze aus.
    Ich habe jedoch folgendes Problem bei der Installation:


    Code
    root@raffapi:/home/pi# ./spotify-connect-web.sh install
     % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                    Dload  Upload   Total   Spent    Left  Speed
    100  170M  100  170M    0     0  1705k      0  0:01:42  0:01:42 --:--:-- 1578k
    root@raffapi:/home/pi# sudo cp spotify_appkey.key spotify-connect-web-chroot/usr/src/app/
    cp: reguläre Datei „spotify-connect-web-chroot/usr/src/app/“ kann nicht angelegt werden: Datei oder Verzeichnis nicht gefunden


    könnt ihr mir da weiter helfen?


    Ich bin ein absoluter Noob was das angeht :P

    Edited once, last by raffa ().

  • Hallo,
    wenn ich versuche zu starten kommt diese Meldung:


    Code
    Traceback (most recent call last):
     File "main.py", line 10, in <module>
       from flask_cors import CORS
    ImportError: No module named flask_cors

  • Hallo,
    wenn ich versuche zu starten kommt diese Meldung:


    Code
    Traceback (most recent call last):
     File "main.py", line 10, in <module>
       from flask_cors import CORS
    ImportError: No module named flask_cors


    Habe die Lösung selbst gefunden. Hatte die Installation vorher mit einem anderen Tutorial gemacht und da sollte man noch einen Fix installieren. Der ist nicht mehr nötig.

  • Hat jemand geschafft als Spotify Soundausgabe Bluetooth zu verwenden? Bei dem RPi 3 bietet sich das ja an, wenn man eine Soundbar oder ähnliches hat.

  • Spotify Connect läuft bei mir jetzt einwandfrei.


    Wenn ich Spotify im Background starte, also mit & angehängt:
    ./spotify-connect-web.sh --username 12345678 --password xyz123 --bitrate 320 --name RasPIiConnect &


    Kann ich den Prozess dann auch wieder beenden?
    pkill spotify-connect-web.sh geht nicht

  • Hi, tolles Programm, läuft bei mir sogar auf Anhieb.


    Gibt es irgendeine Schnittstelle, mit der ich die Wiedergabe (Play, Pause, Next, Prev) steuern kann?


    Meinen MPD Server habe habe ich häufig mit Tastern die über den GPIO angeklemmt waren gesteuert.


    Edit: Hat sich schon erledigt, ich kann die skripte über das WebInterface laufen lassen.


    Grüße

  • Hi, erstmal grosses "Danke!" für das Tutorial!


    Ich möchte jetzt mit zwei verschiedenen App-Keys zwei Spotify Connect-Server parallel/nebeneinander betreiben.
    Der Grund, selbst mit Spotify Premium-Accounts in einem Spotify-Family-Verbund sehen andere Nutzer des gleichen Family-Abos die Geräte der anderen Family-Nutzer nicht :wallbash:
    Dafür gibt's im Spotify-Forum schon einen Thread - https://community.spotify.com/…unts/idc-p/1478623#M96039 - aber bis Spotify was implementiert hat...


    Ich kann mit zwei nebeneinander liegenden "spotify-connect-web-chroot" und zwei eigenen "spotify-connect-web.sh"-Scripts zwei Services erzeugen.
    Diese beiden kann ich auch starten, allerdings nur NACHEINANDER nicht PARALLEL.
    Nacheinander heisst, ich muss einen Service stoppen, danach kann ich den anderen starten.


    Bin leider kein Linux-Pro. Fällt euch ein Weg ein, mit dem zwei Spotify-Services PARALLEL laufen können?
    Es scheint eine Lösung zu geben, weil es für LibreElec ein Add-On (Beta) mit dieser Funktion gibt - https://forum.libreelec.tv/thr…-post-10361.html#pid10361. Ich bin aber sonst mit OSMC unterwegs.


    Vielen Dank für jegliche Infos bereits im Voraus!

  • Hab ich das richtig verstanden, dass du quasi "Multiroom" realisieren willst? Oder willst du das parallel auf einem PI realisieren? Erkläre mal bitte etwas genauer was du da abbilden willst.

    Edited once, last by metti ().


  • Hab ich das richtig verstanden, dass du quasi "Multiroom" realisieren willst? Oder willst du das parallel auf einem PI realisieren? Erkläre mal bitte etwas genauer was du da abbilden willst.


    Hi. "Multiroom" ist nicht mein Thema. Sondern wirklich zwei Spotify-Connect-Backends auf einem PI.


    Mein "Problem":
    Sowohl ich, als auch meine Verlobte haben einen Spotify Premium-Account. Ihr Account ist an meinen Family-Account geknüpft. Trotzdem sehe Spotify-Geräte, die sich auf meinen Account beziehen - z.B. den Spotify-Connect-Server auf dem PI mit dem Entwickler-Key - nur ich von meinem Telefon mit meinem Spotify-User. Meine Verlobte sieht den Server nicht.


    Jetzt hat sie aber natürlich ihre eigenen Playlisten/Favoriten/whatever in Spotify und die kann sie auf dem PI und damit auf dem AVR nicht abspielen.
    Deshalb möchte ich gern einen SCS mit meinem Entwickler-Key und einen SCS mit ihrem Entwickler-Key nebeneinander/parallel auf dem PI laufen lassen.


    Wie in meinem Originalpost verlinkt, scheint das grundsätzlich mit dem Spotify Connect Server zu gehen. Im Forumsbeitrag ist die Rede von "passwordless ... multiuser". Ich habe aber zu wenig Ahnung, wie das funktionieren könnte. Ideen?

  • Also ich denke, dass es daran liegt wie der Headless hier im Projekt implementiert ist. Dieser bezieht sich auf einen einzigen Account der ein Device abbildet, der an deinen Account gebunden ist.
    Falls ich dir einen Tipp geben darf: Wenn du mal lust hast, kannst du es mit einem Chromecast Audio ausprobieren, die sind im Endeffekt hardwaremäßig günstiger als ein PI und du kannst den PI für andere Projekte nutzen. Der Chromecast Audio bietet Klinke, Chinch und Optischen Ausgang und ist somit für hochqualitatives Audiostreaming besser geeignet als der PI über Klinke.
    Wenn du unbedingt den Pi nutzen willst, probiere doch mal ein OSMC oä. mit Kodi per Upnp/DLNA/Airplay allerdings würde ich dann auf jeden fall über HDMI auf den AVR gehen.


    Ich möchte den PI nicht schlecht machen er hat nur hier und da Schwächen, ich nutze ihn gerne, aber nicht mehr wirklich wie in diesem Projekt beschrieben. Ist meine ehrliche Meinung dazu.

  • Was mache ich falsch, kenne mich noch nicht so gut aus?


    Fehler:


    Loading Spotify library...
    Traceback (most recent call last):
    File "loader.py", line 3, in <module>
    File "runpy.py", line 180, in run_module
    File "runpy.py", line 72, in _run_code
    File "/root/spotify-connect-web/main.py", line 14, in <module>
    from connect import Connect
    File "/root/spotify-connect-web/connect.py", line 9, in <module>
    from console_callbacks import audio_arg_parser, mixer, error_callback, connection_callbacks, debug_callbacks, playback_callbacks, playback_setup
    File "/root/spotify-connect-web/console_callbacks.py", line 24, in <module>
    audio_arg_parser.add_argument('--mixer', '-m', help='alsa mixer name for volume control', default=alsa.mixers()[0])
    alsaaudio.ALSAAudioError: No such file or directory [default]
    Failed to execute script loader



    Bitte um schnelle Hilfe :@ :P

    Edited once, last by Knarxy ().

  • Quote

    root@volumio:~# sudo /root/spotify-connect-web.sh --name Volumio --username -bindestrichvorundnachdemusername- --password whatever --bitrate 320
    usage: main.py [-h] [--device DEVICE] [--mixer MIXER] [--debug] [--key KEY]
    [--username USERNAME] [--password PASSWORD] [--name NAME]
    [--bitrate {90,160,320}] [--credentials CREDENTIALS]
    main.py: error: argument --username/-u: expected one argument


    Hallo,
    ich habe offenbar Pech mit meinem Benutzernamen bei Spotify. Mein Benutzername hat sowohl am Anfang und am Ende einen Bindestrich. Daher bekomme ich die Fehlermeldung (main.py: error: argument --username/-u: expected one argument) ausgeworfen.


    Jemand eine Idee?


    VG


    Kai

  • Hallo Kai,


    setz mal vor den Bindestrichen noch je einen Backslash ein. Dann sollte es wie folgt aussehen.


    Code
    sudo /root/spotify-connect-web.sh --name Volumio --username \-bindestrichvorundnachdemusername\- --password whatever --bitrate 320


    Falls das nicht funktioniert kannst du es auch mal wie folgt ausprobieren.


    Code
    sudo /root/spotify-connect-web.sh --name Volumio --username '-bindestrichvorundnachdemusername-' --password whatever --bitrate 320


    Gruß Georg

  • Hallo Georg,
    vielen Dank für die Tips. Habe gerade beides ausprobiert.
    Leider wird der gleich Fehler ausgegeben (vgl. Screenshot im Anhang)


    Gruß
    Kai



    Nachtrag: Habe nun als Benutzername meine E-Mailadresse gewählt. Sie beginnt ja nicht mit einem "-", sodass der Anmeldeversuch mit o.g. Befehl sofort funktionierte.