Streamen mit mt-daapd-Server
Für das Streaming von VDR-Radiokanälen kann ein MT-Daapd-Server als Relay für iTunes verwendet werden.
Streamen zu iTunes über mt-daapd-Server
MT-Daapd, der Linux-iTunes-Server, akzeptiert auch URLs von MPEG-Streams als Tracks. Hierzu wird für jeden Sender eine eigene Datei mit der Endung ".url" benutzt, in der sich die URL des Streams befindet (Einzelheiten auf der Entwicklerseite, s. u.). Die Bitrate (erster Bereich vor dem Komma) kann man weglassen. Dann sieht so eine Datei in etwa so aus:
Das folgende Skript erstellt automatisch aus der vorhandenen channels.conf die *.url-Dateien für den mt-daap Server - damit ist das Streamen von jedem Rechner im Netz möglich. Allerdings hat dies bisher nur mit iTunes > 4 geklappt, wobei man berücksichtigen sollte, dass mt-daapd 0.2.1 noch inkompatibel zu iTunes 5 ist. Das wurde endgültig mit mt-daapd 0.2.3 behoben.
#!/usr/bin/perl -w use strict; # ------------------------------------------------ # initial vars: configure here ! # ------------------------------------------------ my $channels="/etc/vdr/channels.conf"; my $baseurl="192.168.1.200"; my $port="3000"; my $musicbaseurl="/musik/radiochannels"; # DIRECTORY MUST ALREADY EXIST! # ------------------------------------------------ # no need to configure below (hope so...) # ------------------------------------------------ my $stationnr=0; my $shellcommand=''; my $shelloutput=''; my @radiostation=(); my @output_row=(); my $dateiname=''; $shellcommand ='cat '.$channels.' | '; $shellcommand .= 'egrep \'^[^:]*\:[^:]*\:[^:]*\:[^:]*\:[^:]*\:0.*\' |'; $shellcommand .= 'sed \'s/^\([^\;]*\)[^:]*\:\([^:]*\:[^:]*\)\:\([^:]*\)\:\([^:]*\:[^:]*\:[^:]*\:[^:]*\:[^:]*\:\)\([^:]*\)\:\([^:]*\)\:\([^:]*\)\:\(.*\)$/http:\/\ /'.$baseurl.':'.$port.'\/ES\/\3-\6-\7-\5#\1/g\' '; $shelloutput=`$shellcommand`; printf $shellcommand; if ($shelloutput) { @output_row=split ( /\n/, $shelloutput); foreach (@output_row) { $stationnr++; @radiostation=split ( /#/,$_); $dateiname=$radiostation[1]; $dateiname=~s/\ /\_/g; $dateiname=~s/[^\w]//g; open(DATEI, ">".$musicbaseurl."/".$dateiname.".url") || die "Datei nicht gefunden"; print DATEI ','.$radiostation[1].','.$radiostation[0]; close(DATEI); } }
Es muss jetzt nur noch in der mt-daapd.conf ".url" als gültige Dateierweiterung eingetragen werden und - so gewünscht - in die Smartplaylist alle DVB-Radiosender eingefügt werden (in der mt-daapd.playlist):
"Streaming Audio" { type includes "URL" }