Streamen mit mt-daapd-Server

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
K (Radio Links)
Zeile 1: Zeile 1:
Das [[Streaming]] von VDR-Radiokanälen kann ein MT-Daapd Server als Relay für iTunes verwendet werden.
+
Für das [[Streaming]] von VDR-Radiokanälen kann ein MT-Daapd-Server als Relay für iTunes verwendet werden.
  
 
{| border=0 cellpadding=2 cellspacing=0
 
{| border=0 cellpadding=2 cellspacing=0
Zeile 6: Zeile 6:
  
 
===Streamen zu iTunes über mt-daapd-Server===
 
===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.).
+
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 (erste Bereich vor dem Komma) kann man weglassen, dann sieht so eine Datei in etwa so aus:
+
Die Bitrate (erster Bereich vor dem Komma) kann man weglassen. Dann sieht so eine Datei in etwa so aus:
 
{{Box Datei|swr2.url|
 
{{Box Datei|swr2.url|
 
<pre>
 
<pre>
Zeile 13: Zeile 13:
 
</pre>
 
</pre>
 
}}
 
}}
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 iTunes5 ist - das wurde endgültig mit mt-daapd 0.2.3 behoben.
+
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.
  
 
{{Box Datei|build_mtdaap_radio.pl|
 
{{Box Datei|build_mtdaap_radio.pl|

Version vom 18. Mai 2007, 01:03 Uhr

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