Spotify: Unterschied zwischen den Versionen

Aus CodicaTipps
Zur Navigation springen Zur Suche springen
 
(13 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 5: Zeile 5:
  
 
== Betreiben auf einem monitorlosen Server ==
 
== Betreiben auf einem monitorlosen Server ==
 +
 +
=== Halboffizieller Spotify-Client mit XVFB ===
  
 
Wenn man spotify headless (ohne graphische Anzeige, gesteuert von einer anderen Spotify-Instanz) nutzen will, bietet sich Folgendes an:
 
Wenn man spotify headless (ohne graphische Anzeige, gesteuert von einer anderen Spotify-Instanz) nutzen will, bietet sich Folgendes an:
Zeile 17: Zeile 19:
 
* Starten von Spotify headless:
 
* Starten von Spotify headless:
 
   xvfb-run spotify
 
   xvfb-run spotify
 +
 +
Der offizielle Client hat eine komfortable GUI. Wenn man ihn aber ohne Monitor betreibt, braucht man diese nicht. Teilweise klappt es bei mehreren Geräten auch [ https://community.spotify.com/t5/Desktop-Linux/Spotify-for-Linux-My-device-is-not-shown-as-available-because-it/m-p/4830830 nicht mit der korrekten Vergabe der Geräte-ID, so dass nicht alle gleichzeitig laufenden offiziellen Clients angesprochen werden können.] Dann ist der im Nachfolgenden beschriebene [[Open Source]]-Client spotifyd die bessere Alternative.
 +
 +
 +
 +
=== Alternativer Client für Linux - nur Soundausgabe ===
 +
 +
Der [https://github.com/Spotifyd/spotifyd Spotifyd] ist ein [[Open Source]]-Client, der als so genannter Daemon auf einem Linux-System im Hintergrund werkelt.
 +
 +
Konfiguriert wird er über eine übliche Linux-Konfigurationsdatei.
  
 
== Betreiben mit einem HiDPI-Display ==
 
== Betreiben mit einem HiDPI-Display ==
Zeile 31: Zeile 43:
  
 
Siehe https://community.spotify.com/t5/Desktop-Linux/Linux-Cache-Location-not-being-respected/m-p/1266695#M4113
 
Siehe https://community.spotify.com/t5/Desktop-Linux/Linux-Cache-Location-not-being-respected/m-p/1266695#M4113
 +
 +
== Spotify Connect Receivers ==
 +
 +
=== spotifyd ===
 +
 +
[https://github.com/Spotifyd/spotifyd Spotifyd] ist ein Daemon/Service, der aus einem Computer ein Spotify Connect Receiver macht.
 +
Er basiert auf [[#librespot]]
 +
 +
=== librespot ===
 +
 +
[https://github.com/librespot-org Librespot] ist eine Bibliothek und ein Kommandozeilenprogramm, mit dem man einen headless Spotify Connect - Receiver starten kann. Diesen kann man mit den offiziellen Spotify-Apps steuern, wenn man einen Spotify Premium-Account hat.
 +
 +
Kompiliert wird librespot z.B. so:
 +
 +
  cargo build --release --features "alsa-backend,pulseaudio-backend"
 +
 +
Dazu müssen die Entwicklungstools für die Programmiersprache [[Rust]] installiert sein.
 +
 +
Gestartet wird librespot z.B. so:
 +
 +
  librespot --name librespotOnMyHtpc --cache /media/data/tmp/cache --device-type tv --backend pulseaudio --initial-volume 20
 +
 +
 +
== Installation für Kodi ==
 +
Siehe [[XBMC#Spotify]]
  
 
== Installation für Kodi ==
 
== Installation für Kodi ==
 
Siehe [[XBMC#Spotify]]
 
Siehe [[XBMC#Spotify]]
  
 +
== Spotify Clients auf der Kommandozeile ==
 +
 +
Siehe
 +
* [https://github.com/Rigellute/spotify-tui spotify-tui], "graphische" Oberfläche fürs Terminal, geschrieben in [[Rust]]
 +
* [https://lib.rs/crates/spotify_player spotify_player], ebenfalls in [[Rust]] geschrieben
 +
* [https://github.com/hrkfdn/ncspot ncspot]
 +
* https://github.com/pwittchen/spotify-cli-linux
 +
* [https://community.spotify.com/t5/Desktop-Linux/Basic-controls-via-command-line/td-p/4295625 MPRIS commands auf der Kommandozeile für Spotify] (via dbus-send)
  
 
== Spotify API ==
 
== Spotify API ==
Zeile 43: Zeile 88:
 
* sich authorisieren.
 
* sich authorisieren.
  
 +
=== Quick start ===
 
Für die Authorisierung bietet sich als Einsteigervariante der [https://developer.spotify.com/documentation/general/guides/authorization-guide/#implicit-grant-flow Implicit Grant Flow] an.
 
Für die Authorisierung bietet sich als Einsteigervariante der [https://developer.spotify.com/documentation/general/guides/authorization-guide/#implicit-grant-flow Implicit Grant Flow] an.
  
Zeile 57: Zeile 103:
 
   curl -v -H "Authorization: Bearer $TOKEN" https://api.spotify.com/v1/me/player/devices
 
   curl -v -H "Authorization: Bearer $TOKEN" https://api.spotify.com/v1/me/player/devices
  
 +
=== Webserver-App ===
 +
 +
Siehe
 +
* https://developer.spotify.com/documentation/web-api/quick-start/
 +
 +
=== Spotify mit Python ===
 +
 +
Siehe
 +
* https://spotipy.readthedocs.io/en/2.16.1/
 +
 +
=== Spotify mit Java ===
 +
 +
Siehe
 +
* https://github.com/librespot-org/librespot-java
 +
 +
=== Spotify mit Rust ===
 +
 +
Siehe
 +
* https://docs.rs/rspotify/latest/rspotify/
 +
 +
== Weiterführendes ==
 +
 +
Siehe [[Audio]]
  
 
-----
 
-----

Aktuelle Version vom 22. Mai 2022, 08:46 Uhr

Installation unter Linux

Siehe https://www.spotify.com/de/download/linux/

Betreiben auf einem monitorlosen Server

Halboffizieller Spotify-Client mit XVFB

Wenn man spotify headless (ohne graphische Anzeige, gesteuert von einer anderen Spotify-Instanz) nutzen will, bietet sich Folgendes an:

  • Installation von Spotify auf dem Remote-Rechner
  • Einwahl mit ssh -X remote-rechner (mit -X zur Weiterleitung des X-Desktops auf den lokalen Desktop)
  • Auf dem Remote-Rechner
 sudo aptitude install xvfb
 spotify
  • Dann wird auf dem lokalen X-Server der Login-Schirm von spotify angezeigt; hier Anmeldedaten angeben.
  • Einwahl mit ssh remote-rechner (dieses Mal ohne -X)
  • Starten von Spotify headless:
 xvfb-run spotify

Der offizielle Client hat eine komfortable GUI. Wenn man ihn aber ohne Monitor betreibt, braucht man diese nicht. Teilweise klappt es bei mehreren Geräten auch [ https://community.spotify.com/t5/Desktop-Linux/Spotify-for-Linux-My-device-is-not-shown-as-available-because-it/m-p/4830830 nicht mit der korrekten Vergabe der Geräte-ID, so dass nicht alle gleichzeitig laufenden offiziellen Clients angesprochen werden können.] Dann ist der im Nachfolgenden beschriebene Open Source-Client spotifyd die bessere Alternative.


Alternativer Client für Linux - nur Soundausgabe

Der Spotifyd ist ein Open Source-Client, der als so genannter Daemon auf einem Linux-System im Hintergrund werkelt.

Konfiguriert wird er über eine übliche Linux-Konfigurationsdatei.

Betreiben mit einem HiDPI-Display

Auf einem hochauflösenden Display kann man die Anzeige mit der Kommandozeilenoption --force-device-scale-factor=1.8 skalieren. 1.8 muss man ggf. an die gewünschte Auflösung anpassen.[1]

Begrenzen der Cache-Größe

Siehe

Verschieben des Cache unter Linux

Die Einstellung des Speicherorts scheint beim Linux-Client nicht zu funktionieren. Abhilfe schafft ein symbolischer Link auf den Zielort.

Siehe https://community.spotify.com/t5/Desktop-Linux/Linux-Cache-Location-not-being-respected/m-p/1266695#M4113

Spotify Connect Receivers

spotifyd

Spotifyd ist ein Daemon/Service, der aus einem Computer ein Spotify Connect Receiver macht. Er basiert auf #librespot

librespot

Librespot ist eine Bibliothek und ein Kommandozeilenprogramm, mit dem man einen headless Spotify Connect - Receiver starten kann. Diesen kann man mit den offiziellen Spotify-Apps steuern, wenn man einen Spotify Premium-Account hat.

Kompiliert wird librespot z.B. so:

 cargo build --release --features "alsa-backend,pulseaudio-backend"

Dazu müssen die Entwicklungstools für die Programmiersprache Rust installiert sein.

Gestartet wird librespot z.B. so:

 librespot --name librespotOnMyHtpc --cache /media/data/tmp/cache --device-type tv --backend pulseaudio --initial-volume 20


Installation für Kodi

Siehe XBMC#Spotify

Installation für Kodi

Siehe XBMC#Spotify

Spotify Clients auf der Kommandozeile

Siehe

Spotify API

Spotify bietet eine umfangreiche API an. Um sie zu nutzen, muss man

Quick start

Für die Authorisierung bietet sich als Einsteigervariante der Implicit Grant Flow an.

Der implicit grant flow kann im Browser nachgestellt werden. In die Adresszeile wird zunächst Folgendes eingegeben:

 https://accounts.spotify.com/authorize?client_id=CLIENTID&response_type=token&redirect_uri=https%3A%2F%2Fpia2016.de%2Fcodicatipps%2F&scope=user-read-playback-state&state=helloworld

Man wird auf die angegebene redirect_uri weitergeleitet. In der Adresszeile gibt es einen Teil der mit access_token= anfängt. Der so angegebene Token (bis zum kaufmännischen '&' ) ist der Bearer-Token, mit dem man dann Abfragen starten kann.

Abfragen des Usernamens:

 curl -v -H "Authorization: Bearer $TOKEN" https://api.spotify.com/v1/me

Abfragen der vorhandenen Geräte:[2]

 curl -v -H "Authorization: Bearer $TOKEN" https://api.spotify.com/v1/me/player/devices

Webserver-App

Siehe

Spotify mit Python

Siehe

Spotify mit Java

Siehe

Spotify mit Rust

Siehe

Weiterführendes

Siehe Audio