Benutzer-Werkzeuge

Webseiten-Werkzeuge


internetradio

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
internetradio [2020/11/24 15:53]
admin
internetradio [2020/11/24 16:34] (aktuell)
admin
Zeile 156: Zeile 156:
   sudo python3 -m pip install Mopidy-MPD   sudo python3 -m pip install Mopidy-MPD
   ​   ​
-\\  
  
 Nun können je nach Bedarf weitere Addons installiert werden: Nun können je nach Bedarf weitere Addons installiert werden:
  
-''​# Spotify support\\  +# Spotify support 
-sudo apt-get install mopidy-spotify\\ \\  +  sudo apt-get install mopidy-spotify 
-# Podcast support\\  +  ​ 
-sudo python3 -m pip install Mopidy-Podcast\\ +# Podcast support 
-sudo python3 -m pip install Mopidy-Podcast-iTunes ​\\ \\  +  sudo python3 -m pip install Mopidy-Podcast 
-# Last.FM scrobbling support\\  +  sudo python3 -m pip install Mopidy-Podcast-iTunes  
-sudo python3 -m pip install Mopidy-Scrobbler\\ \\ +# Last.FM scrobbling support 
 +  sudo python3 -m pip install Mopidy-Scrobbler
 # Soundcloud support\\ ​ # Soundcloud support\\ ​
-sudo python3 -m pip install Mopidy-SoundCloud\\ \\ +  ​sudo python3 -m pip install Mopidy-SoundCloud
 # TuneIn support\\ ​ # TuneIn support\\ ​
-sudo python3 -m pip install Mopidy-TuneIn\\ \\  +  ​sudo python3 -m pip install Mopidy-TuneIn 
-# YouTube support\\  +# YouTube support  
-sudo python3 -m pip install Mopidy-YouTube\\ \\ ''​+  sudo python3 -m pip install Mopidy-YouTube
  
 Wenn alle gewünschten Addons installiert sind bearbeiten wir nun die Konfigurationsdatei //​mopidy.conf//​. Diese liegt für den angemeldeten User im Ordner ///​home/​user/​.config/​mopidy//​ (Beispiel für pi: ///​home/​pi/​.config/​mopidy/​mopidy.conf//​). Soll Mopidy später als Service unter dem User //mopidy// laufen gilt der Pfad ///​etc/​mopidy/​mopidy.conf//​. ​ Wenn alle gewünschten Addons installiert sind bearbeiten wir nun die Konfigurationsdatei //​mopidy.conf//​. Diese liegt für den angemeldeten User im Ordner ///​home/​user/​.config/​mopidy//​ (Beispiel für pi: ///​home/​pi/​.config/​mopidy/​mopidy.conf//​). Soll Mopidy später als Service unter dem User //mopidy// laufen gilt der Pfad ///​etc/​mopidy/​mopidy.conf//​. ​
Zeile 178: Zeile 178:
 Egal für welche Variante ihr Euch entscheidet - in der mopidy.conf werden alle zentralen Einstellungen und die der Addons verwaltet. Wir öffnen die Datei mit Egal für welche Variante ihr Euch entscheidet - in der mopidy.conf werden alle zentralen Einstellungen und die der Addons verwaltet. Wir öffnen die Datei mit
  
-''​sudo nano /​etc/​mopidy/​mopidy.conf'' ​bzw. \\  ​+  ​sudo nano /​etc/​mopidy/​mopidy.conf 
 +   
 +bzw.
  
-''​sudo nano /​home/​pi/​.config/​mopidy/​mopidy.conf''​+  ​sudo nano /​home/​pi/​.config/​mopidy/​mopidy.conf
  
 Im Abschnitt [core] werden die benutzen Verzeichnisse definiert Im Abschnitt [core] werden die benutzen Verzeichnisse definiert
Zeile 186: Zeile 188:
 Wer Mopidy als Service laufen lassen möchte verwendet folgende Einstellung,​ Wer Mopidy als Service laufen lassen möchte verwendet folgende Einstellung,​
  
-''​[core]\\   +  ​[core] ​  
-cache_dir = /​var/​cache/​mopidy\\  +  cache_dir = /​var/​cache/​mopidy 
-config_dir = /etc/mopidy\\  +  config_dir = /​etc/​mopidy 
-data_dir = /​var/​lib/​mopidy\\ '' ​+  data_dir = /​var/​lib/​mopidy ​
  
 wer Mopidy als User pi startet verwendet stattdessen wer Mopidy als User pi startet verwendet stattdessen
  
-''​[core]\\  +  ​[core] 
-cache_dir = $XDG_CACHE_DIR/​mopidy\\  +  cache_dir = $XDG_CACHE_DIR/​mopidy 
-config_dir = $XDG_CONFIG_DIR/​mopidy\\  +  config_dir = $XDG_CONFIG_DIR/​mopidy 
-data_dir = $XDG_DATA_DIR/​mopidy\\ '' ​+  data_dir = $XDG_DATA_DIR/​mopidy
  
 in beiden Varianten gefolgt von  in beiden Varianten gefolgt von 
  
-''​max_tracklist_length = 10000\\  +  ​max_tracklist_length = 10000 
-restore_state = false\\ '' ​+  restore_state = false 
  
 Alle weiteren Einstellungen am besten so wie bei mir übernehmen. Alle weiteren Einstellungen am besten so wie bei mir übernehmen.
  
-''​[logging]\\  +  ​[logging]  
-verbosity = 1\\  +  verbosity = 1  
-format = %(levelname)-8s %(asctime)s [%(process)d:​%(threadName)s] %(name)s\n ​ %(message)s\\  +  format = %(levelname)-8s %(asctime)s [%(process)d:​%(threadName)s] %(name)s\n ​ %(message)s 
-color = true\\ '' ​+  color = true  
 +   
 +  [audio] 
 +  mixer = software  
 +  mixer_volume = 90  
 +  output = autoaudiosink  
 +  buffer_time = 1000 
 +   
 +Wer später den Sound von Mopidy zusätzlich noch an einen Streamingserver (z.B. Icecast) ausgeben will verwendet in der Zeile //output = // folgende Parameter:
  
-''​[audio]\\  +  ​output = tee name=t ! queue ! audioresample ! autoaudiosink ​t. ! queue ! lamemp3enc ! shout2send async=false mount=mopidy ip=127.0.0.1 port=8000 password=yxasqw123EDC  ​
-mixer = software\\  +
-mixer_volume = 90\\  +
-output = autoaudiosink\\  +
-buffer_time ​1000\\ '' ​+
  
-''​[local]\\ ​ 
-media_dir = /music\\ '' ​ 
  
-''​[file]\\  +  [local] 
-enabled = true\\  +  media_dir = /music 
-media_dirs = /music\\  +   
-excluded_file_extensions =\\  +  ​[file] 
-  .directory\\  +  enabled = true  
-  .html\\  +  media_dirs = /music  
-  .jpeg\\  +  excluded_file_extensions =  
-  .jpg\\  +  .directory  
-  .log\\  +  .html  
-  .nfo\\  +  .jpeg 
-  .pdf\\  +  .jpg  
-  .png\\  +  .log 
-  .txt\\  +  .nfo 
-  .zip\\  +  .pdf 
-show_dotfiles = false\\  +  .png 
-follow_symlinks = false\\  +  .txt 
-metadata_timeout = 1000\\ '' ​+  .zip  
 +  show_dotfiles = false 
 +  follow_symlinks = false 
 +  metadata_timeout = 1000  
 +   
 +  [http]  
 +  enabled = true 
 +  hostname = 0.0.0.0 
 +  port = 6680 
 +  zeroconf = Mopidy HTTP server on $hostname 
 +  csrf_protection = true 
 +  default_app = mopidy 
 +   
 +  [mpd]  
 +  enabled = true 
 +  hostname = 0.0.0.0 
 +  port = 6600 
 +  password = 
 +  max_connections = 20 
 +  connection_timeout = 60 
 +  zeroconf = Mopidy MPD server on $hostname 
 +  command_blacklist = 
 +    listall 
 +    listallinfo 
 +  default_playlist_scheme = m3u
  
-''​[http]\\  +  ​[m3u
-enabled = true\\  +  enabled = true 
-hostname ​0.0.0.0\\ ​ +  ​base_dir ​/music 
-port 6680\\ ​ +  ​default_encoding ​latin-1 
-zeroconf ​Mopidy HTTP server on $hostname\\  +  ​default_extension ​.m3u8 
-csrf_protection = true\\ ​ +  ​playlists_dir ​/​music/​playlists
-default_app ​mopidy\\ '' ​+
  
-''​[mpd]\\  +  ​[softwaremixer
-enabled = true\\  +  enabled = true
-hostname = 0.0.0.0\\  +
-port = 6600\\  +
-password =\\  +
-max_connections = 20\\  +
-connection_timeout = 60\\  +
-zeroconf = Mopidy MPD server on $hostname\\  +
-command_blacklist =\\  +
-  listall\\  +
-  listallinfo\\  +
-default_playlist_scheme = m3u\\ '' ​+
  
-''​[m3u]\\  +  ​[tunein] 
-enabled = true\\  +  enabled = true 
-base_dir = /music\\  +  timeout = 5000
-default_encoding = latin-1\\  +
-default_extension = .m3u8\\  +
-playlists_dir = /​music/​playlists\\ ''​  +
- +
-''​[softwaremixer]\\  +
-enabled = true\\ ''​  +
- +
-''​[tunein]\\  +
-enabled = true\\  +
-timeout = 5000\\ '' ​+
  
 Um Mopidy-Spotify nutzen zu können benötigen wir API Zugriff auf Spotify. Die //​client_id//​ und das //​client_secret//​ bekommt ihr [[https://​auth.mopidy.com/​spotify/​|hier]]. Um Mopidy-Spotify nutzen zu können benötigen wir API Zugriff auf Spotify. Die //​client_id//​ und das //​client_secret//​ bekommt ihr [[https://​auth.mopidy.com/​spotify/​|hier]].
  
-''​[spotify]\\  +  ​[spotify]  
-enabled = true\\  +  enabled = true 
-username = DEIN_SPOTIFY_USERNAME\\  +  username = DEIN_SPOTIFY_USERNAME 
-password = DEIN_SPOTIFY_PASSWORT\\  +  password = DEIN_SPOTIFY_PASSWORT 
-client_id = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\\  +  client_id = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 
-client_secret = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\\  +  client_secret = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
-bitrate = 160\\  +  bitrate = 160 
-volume_normalization = true\\  +  volume_normalization = true 
-private_session = false\\  +  private_session = false 
-timeout = 10\\  +  timeout = 10 
-allow_cache = true\\  +  allow_cache = true 
-allow_network = true\\  +  allow_network = true 
-allow_playlists = true\\  +  allow_playlists = true 
-search_album_count = 20\\  +  search_album_count = 20 
-search_artist_count = 10\\  +  search_artist_count = 10 
-search_track_count = 50\\  +  search_track_count = 50 
-toplist_countries =\\ '' ​+  toplist_countries =
  
 Ähnlich ist es bei SoundCloud. Hier benötigen wir einen auth_token welchen wir [[https://​secure.soundcloud.com/​connect?​client_id=93e33e327fd8a9b77becd179652272e2&​scope=non-expiring&​response_type=code_and_token&​redirect_uri=https://​www.mopidy.com/​soundcloud_callback|hier]] bekommen. Ähnlich ist es bei SoundCloud. Hier benötigen wir einen auth_token welchen wir [[https://​secure.soundcloud.com/​connect?​client_id=93e33e327fd8a9b77becd179652272e2&​scope=non-expiring&​response_type=code_and_token&​redirect_uri=https://​www.mopidy.com/​soundcloud_callback|hier]] bekommen.
  
-''​[soundcloud]\\  +  ​[soundcloud]  
-enabled = true\\  +  enabled = true  
-explore_songs = 25\\  +  explore_songs = 25  
-auth_token = x-xxxxx-xxxxxxxxx-xxxxxxxxxxxxxxx\\ '' ​+  auth_token = x-xxxxx-xxxxxxxxx-xxxxxxxxxxxxxxx
  
 Für den Zugriff auf Last.FM genügen Benutzername und Passwort. Für den Zugriff auf Last.FM genügen Benutzername und Passwort.
  
-''​[scrobbler]\\  +  ​[scrobbler] 
-enabled = true\\  +  enabled = true 
-username = DEIN_LASTFM_USERNAME\\  +  username = DEIN_LASTFM_USERNAME 
-password = DEIN_LASTFM_PASSWORT\\ '' ​+  password = DEIN_LASTFM_PASSWORT ​
  
 Etwas komplizierter wird es bei Youtube. Hierfür benötigen wir einen //​youtube_api_key//​. Eine einfaches Videotutorial wie man diesen erstellt bzw. bekommt gibt es [[https://​youtu.be/​ozOmQGDVwKQ|hier]]. Etwas komplizierter wird es bei Youtube. Hierfür benötigen wir einen //​youtube_api_key//​. Eine einfaches Videotutorial wie man diesen erstellt bzw. bekommt gibt es [[https://​youtu.be/​ozOmQGDVwKQ|hier]].
  
-''​[youtube]\\  +  ​[youtube]  
-enabled = true\\  +  enabled = true 
-youtube_api_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\\  +  youtube_api_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx  
-api_enabled = false\\  +  api_enabled = false 
-threads_max = 16\\  +  threads_max = 16 
-search_results = 15\\  +  search_results = 15 
-playlist_max_videos = 20\\ ''​+  playlist_max_videos = 20
  
 Nun werden noch die Podcast-Quellen eingerichtet. Die Datei //​podcasts.opml//​ ist eine XML-Datei welche in meinem Beispiel im Ordner ///​music/​podcasts//​ liegt. Diese kann man ganz leicht selbst erstellen oder z.B. in iTunes erzeugen. Nun werden noch die Podcast-Quellen eingerichtet. Die Datei //​podcasts.opml//​ ist eine XML-Datei welche in meinem Beispiel im Ordner ///​music/​podcasts//​ liegt. Diese kann man ganz leicht selbst erstellen oder z.B. in iTunes erzeugen.
  
-''​[podcast]\\  +  ​[podcast]  
-enabled = true\\  +  enabled = true 
-browse_root = /​music/​podcasts/​podcasts.opml\\  +  browse_root = /​music/​podcasts/​podcasts.opml 
-browse_order = desc\\  +  browse_order = desc 
-lookup_order = asc\\  +  lookup_order = asc 
-cache_size = 64\\  +  cache_size = 64 
-cache_ttl = 86400\\  +  cache_ttl = 86400\\  
-timeout = 10\\ '' ​+  timeout = 10\\ '' ​
  
 Noch einfacher geht es bei diesem Addon. Hier übernimmt Apple die Verwaltung des Podcast-Verzeichnisse und sortiert dieses für uns nach Genres. Da das Verzeichnis öffentlich ist wird auch keine weitere Authentifizierung benötigt. Noch einfacher geht es bei diesem Addon. Hier übernimmt Apple die Verwaltung des Podcast-Verzeichnisse und sortiert dieses für uns nach Genres. Da das Verzeichnis öffentlich ist wird auch keine weitere Authentifizierung benötigt.
  
-''​[podcast-itunes]\\  +  ​[podcast-itunes] 
-enabled = true\\  +  enabled = true 
-base_url = http://​itunes.apple.com/​\\  +  base_url = http://​itunes.apple.com/​ 
-country = DE\\  +  country = DE 
-explicit = Yes\\  +  explicit = Yes 
-charts = audioPodcasts\\  +  charts = audioPodcasts 
-charts_limit = 20\\  +  charts_limit = 20 
-search_limit = 20\\  +  search_limit = 20 
-timeout = 10\\  +  timeout = 10 
-retries = 3\\ '' ​+  retries = 3
  
 Wurde Mopidy für einen User z.B. pi eingerichtet so lässt sich Mopidy durch einfach durch Eingabe von Wurde Mopidy für einen User z.B. pi eingerichtet so lässt sich Mopidy durch einfach durch Eingabe von
  
-''​mopidy''​+  ​mopidy
  
 starten. Möchtet ihr Mopidy als Service starten bzw. später beim Hochfahren des RaspberryPis starten lassen so müssen wir es zunächst in die Liste der Systemdienste aufnehmen. Das geschieht ganz einfach mit starten. Möchtet ihr Mopidy als Service starten bzw. später beim Hochfahren des RaspberryPis starten lassen so müssen wir es zunächst in die Liste der Systemdienste aufnehmen. Das geschieht ganz einfach mit
  
-''​sudo systemctl enable mopidy''​+  ​sudo systemctl enable mopidy
  
 Danach können wir Mopidy mit  Danach können wir Mopidy mit 
  
-''​sudo systemctl start mopidy''​+  ​sudo systemctl start mopidy
  
 starten. Das Programm läuft nun als Prozess im Hintergrund. starten. Das Programm läuft nun als Prozess im Hintergrund.
Zeile 376: Zeile 383:
 Die Installation wird mit  Die Installation wird mit 
  
-''​sudo apt-get install ncmpcpp''​+  ​sudo apt-get install ncmpcpp
  
 gestartet und das war es auch schon. Wichtig ist, dass //​Mopidy-MPD//​ installiert und der entsprechende Konfigurationsabschnitt in der //​mopidy.conf//​ vorhanden ist. Eine Übersicht der Tastaturbelegung findet ihr {{ :​ncmpcpp_cheat_sheet.pdf | hier}}. gestartet und das war es auch schon. Wichtig ist, dass //​Mopidy-MPD//​ installiert und der entsprechende Konfigurationsabschnitt in der //​mopidy.conf//​ vorhanden ist. Eine Übersicht der Tastaturbelegung findet ihr {{ :​ncmpcpp_cheat_sheet.pdf | hier}}.
 +
 +==== Voreingestellte Playlist beim Start ====
 +
 +Betreibt man seine Mopidy-Server "​headless",​ also ohne angeschlossene Tastatur oder Monitor, so lässt sich mit diesem Plugin eine Default-Playlist setzen. Diese wird beim Start automatisch abgespielt. In meinem Fall ist es eine Playlist vordefinierter Radiosender mit dem Namen //​Radio-Favoriten//​.
 +
 +Installiert wird das Plugin mit
 +
 +  sudo python3 -m pip install Mopidy-DefaultPlaylist
 +  ​
 +Der entsprechende Abschnitt in der mopidy.conf sieht dann so aus
 +
 +  [defaultplaylist]
 +  enabled = true
 +  defaultplaylist_name = Radio-Favoriten
 +  autoplay = true
 +  shuffle = true
 +
 +Die Option //shuffle =// sorgt dafür das bei jedem Neustart ein anderer Sender abgespielt wird.
  
  
Zeile 385: Zeile 410:
 Um noch weitere Clients im LAN (oder wahlweise auch weltweit) mit Musik zu versorgen kann man zusätzlich noch einen Streamingserver aufsetzen. Dieser läuft parallel zu //Mopidy// und stellt für angeschlossene Geräte einen MP3-Stream bereit. Um noch weitere Clients im LAN (oder wahlweise auch weltweit) mit Musik zu versorgen kann man zusätzlich noch einen Streamingserver aufsetzen. Dieser läuft parallel zu //Mopidy// und stellt für angeschlossene Geräte einen MP3-Stream bereit.
  
-''​sudo apt-get install icecast2''​+  ​sudo apt-get install icecast2
  
  
internetradio.1606229581.txt.gz · Zuletzt geändert: 2020/11/24 15:53 von admin