Streamen mit mt-daapd-Server

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Für das Streaming von VDR-Radiokanälen kann ein MT-Daapd-Server als Relay für iTunes verwendet werden.

DVB-Radio Playlist per mt-daapd

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:

Datei
swr2.url
,SWR2, http://192.168.1.200:3000/ES/C-1-1073-28214


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.

Datei
build_mtdaap_radio.pl
#!/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"
}

Links zu iTunes DVB-Stream

  1. MT-Daapd Seite über MPG-Streaming
  2. Diskussionsfaden hierzu im vdr-portal
  3. siehe auch Radio