User Tools

Site Tools


linux:spotify-ripper

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
linux:spotify-ripper [2016/09/04 12:53] saschalinux:spotify-ripper [2019/04/30 16:54] (current) – libspotify eingestellt sascha
Line 1: Line 1:
 ====== spotify-ripper ====== ====== spotify-ripper ======
  
-[[https://github.com/jrnewell/spotify-ripper|spotify-ripper]] ist ein Skript für die Kommandozeile, das unter Verwendung von [[https://github.com/mopidy/pyspotify|pyspotify]] Lieder von Spotify anhand ihrer Spotify URIs herunterlädt und in Audiodateien mitsamt ID3-Tags sowie Cover abspeichert. Dabei unterstützt es diverse Audio-Codecs wie MP3, FLAC, Ogg Vorbis, Opus, AAC und mehr.+[[https://git.sash.pw/sascha/spotify-ripper|spotify-ripper]] ist ein Skript für die Kommandozeile, das unter Verwendung von [[https://github.com/mopidy/pyspotify|pyspotify]] Lieder von Spotify anhand ihrer Spotify URIs herunterlädt und in Audiodateien mitsamt ID3-Tags sowie Cover abspeichert. Dabei unterstützt es diverse Audio-Codecs wie MP3, FLAC, Ogg Vorbis, Opus, AAC und mehr.
  
-Für die Kommunikation mit Spotify selbst wird auf [[https://developer.spotify.com/docs/libspotify/12.1.51/|libspotify]] zurückgegriffen, welche allerdings seit Mai 2015 nicht mehr offiziell von Spotify unterstützt und aktiv weiterentwickelt wird. Da ''libspotify'' seit 2009 in vielen Open Source-Projekten und kommerziellen Produkten zum Einsatz kam sowie selbst in Autos Verwendung fand, ist es nicht unwahrscheinlich, dass aufgrund der großen Verbreitung ''libspotify'' noch eine Weile funktionieren wird.+Für die Kommunikation mit Spotify selbst wird auf [[https://web.archive.org/web/20160831151528/https://developer.spotify.com/docs/libspotify/12.1.51/|libspotify]] zurückgegriffen, welche allerdings seit Mai 2015 nicht mehr offiziell von Spotify unterstützt und aktiv weiterentwickelt wird. Mittlerweile wurde ''libspotify'' allerdings von den Entwicklerseiten von Spotify entfernt und es ist nur noch Zugriff über eine eingeschränkte [[https://developer.spotify.com/documentation/web-api/|Web-API]] möglich, was zu einigen Einschränkungen im Vergleich zum bisherigen Funktionsumfang führt. FIXME Einschränkungen / Änderungen in Bezug auf spotify-ripper?
  
  
Line 37: Line 37:
  
 Für eine komplette Playlist wird entsprechend die Spotif URI zu der Playlist benötigt: Für eine komplette Playlist wird entsprechend die Spotif URI zu der Playlist benötigt:
-  spotify-ripper -l -f "{playlist_owner}/{playlist_name}/{idx} {artist} - {track_name}.{ext}" --opus -q 128 spotify:user:<username>:playlist:4vkGNcsS8lRXj4q945NIA4 +  spotify-ripper -l -f "{playlist_owner}/{playlist_name}/{idx} {artist} - {track_name}.{ext}" --opus -q 128 spotify:user:username:playlist:4vkGNcsS8lRXj4q945NIA4 
-Dabei muss entsprechend ''<username>'' durch den Benutzernamen ersetzt werden. In diesem Fall wird mit ''-l'' der zuletzt eingeloggte Benutzer verwendet, somit ist auch keine erneute Passworteingabe mehr nötig. Ein eventuell definiertes Format in der ''[[spotify-ripper#konfiguration|config.ini]]'' wird durch die Angabe von ''-f'' bzw. ''%%--format%%'' überschrieben. In diesem Fall wird zum Kodieren Opus mit einer Bitrate von 128 kbps verwendet. Für die Verwendung auf z. B. Smartphones oder anderer weniger leistungsfähiger Audio-Hardware reicht bei Opus auch durchaus eine Datenrate von 96 kbps um Platz zu sparen.+In diesem Fall wird mit ''-l'' der zuletzt eingeloggte Benutzer verwendet, somit ist auch keine erneute Passworteingabe mehr nötig. Ein eventuell definiertes Format in der ''[[spotify-ripper#konfiguration|config.ini]]'' wird durch die Angabe von ''-f'' bzw. ''%%--format%%'' überschrieben. In diesem Fall wird zum Kodieren Opus mit einer Bitrate von 128 kbps verwendet. Für die Verwendung auf z. B. Smartphones oder anderer weniger leistungsfähiger Audio-Hardware reicht bei Opus auch durchaus eine Datenrate von 96 kbps für eine durchaus gute Qualität aus, um Platz zu sparen.
  
 Es können auch mehrere Spotify URIs in einer Datei gespeichert werden, die dann von ''spotify-ripper'' abgearbeitet wird: Es können auch mehrere Spotify URIs in einer Datei gespeichert werden, die dann von ''spotify-ripper'' abgearbeitet wird:
-  spotify-ripper -u user list_of_uris.txt+  spotify-ripper -u <userlist_of_uris.txt
  
 Zudem ist es möglich, beispielsweise die Charts von Spotify zu rippen: Zudem ist es möglich, beispielsweise die Charts von Spotify zu rippen:
   spotify-ripper -l spotify:charts:regional:global:weekly:latest   spotify-ripper -l spotify:charts:regional:global:weekly:latest
  
-Weitere Möglichkeiten zur Verwendung können auf der [[https://github.com/jrnewell/spotify-ripper#usage|GitHub-Seite des Projekts]] eingesehen werden.+Weitere Möglichkeiten zur Verwendung können auf der [[https://git.sash.pw/sascha/spotify-ripper#usage|Seite des Projekts]] eingesehen werden.
  
  
Line 63: Line 63:
 </code> </code>
  
-Einstellungen müssen nach dem ''[main]''-Block folgen. Wird später mit ''-f'' oder ''%%--format%%'' ein anderes [[https://github.com/jrnewell/spotify-ripper#format-string-variables|Format]] angegeben, überschreibt dies die Werte der Konfiguration. ''last'' verwendet standardmäßig den zuletzt verwendeten Benutzer, wodurch ''spotify-ripper <Spotify-URI>'' bereits ausreicht, um einen Download zu starten. Weitere verwendete Optionen sind:+Einstellungen müssen nach dem ''[main]''-Block folgen. Wird später mit ''-f'' oder ''%%--format%%'' ein anderes [[https://git.sash.pw/sascha/spotify-ripper#format-string-variables|Format]] angegeben, überschreibt dies die Werte der Konfiguration. ''last'' verwendet standardmäßig den zuletzt verwendeten Benutzer, wodurch ''spotify-ripper <Spotify-URI>'' bereits ausreicht, um einen Download zu starten. Weitere verwendete Optionen sind:
   * Versuchen, größere Cover zu verwenden, sofern möglich   * Versuchen, größere Cover zu verwenden, sofern möglich
   * Die Lautstärke der einzelnen Lieder zu normalisieren   * Die Lautstärke der einzelnen Lieder zu normalisieren
Line 74: Line 74:
 Um zu einer neuen Version zu upgraden, verwenden wir wieder ''pip'': Um zu einer neuen Version zu upgraden, verwenden wir wieder ''pip'':
   $ sudo pip install --upgrade spotify-ripper   $ sudo pip install --upgrade spotify-ripper
 +
 +{{tag>linux spotify rip audio python}}
linux/spotify-ripper.1472993601.txt.gz · Last modified: by sascha