Hallo VDR Gemeinde,
ich habe gestern ein wenig am Stremdev-server herumgebastelt und hier ist das Ergebnis. Der angehängte Patch baut folgende Sachen in den HTTP Teil des Streamdev-servers ein:
1) m3u support (basierend auf einem Patch den Google aus irrgendeinem tschechischen Forum ausgespuckt hat)
Wenn man wiefolgt auf den vdr zugreift bekommt man eine Playlist im m3u Format.
http://<vdr-ip>:<streamdev-port>/<stream-type>/channels.m3u
2) external IP support (mir ist leider keine bessere Bezeichnung eingefallen)
Wenn man so wie ich Wireless lan hat das nicht geroutet sondern via FW und masquerading am lan hängt hat streamdev bis jetzt trozdem die interne IP in den generierten HTML Dokumenten benutzt. Mithilfe des Patches kann man nun ein externes Netz angeben und wenn der Zugriff via Portforward aus diesem Netz in das interne erfolgt dann benutzt er die Externe IP als Ziel der Links.
also z.B.:
WLAN IP der FW 10.100.0.1/255.255.0.0 port 3000 via dnat auf vdr weitergeleitet
LAN Netz: 192.168.50.0/255.255.255.0
vorher:
Zugriff aus dem internen Netz 192.168.50.0 Links zeigen auf 192.168.50.254 was ja auch passt
Zugriff aus dem externen Netz 10.100.0.0 Links zeigen auf 192.168.50.254 was nicht so toll ist
jetzt:
Zugriff aus dem internen Netz 192.168.50.0 Links zeigen auf 192.168.50.254
Zugriff aus dem externen Netz 10.100.0.0 Links zeigen auf 10.100.0.1
eingestellt wird die externe ip in der setup.conf oder via osd
3) Externremux Quality
Weiters habe ich mir erlaubt Externremux zu erweitern (wobei ich fast sagen muß das ist grob hineingezimmert) , wenn man den streamdevserver via
aufruft wird der String Qualität an das externremux.sh script als Parameter übergeben -> man kann jetzt mit der URL die Qualität steuern ohne das remux script jedesmal umstellen zu müssen.
Das externremux script muß natürlich dahingehend geändert werden.
meines sieht derzeit so aus:
#!/bin/sh
# put file to /root, then
# chmod 755 /root/externremux.sh
# echo -r /root/externremux.sh > /etc/vdr/plugins/plugin.streamdev-server.conf
# /etc/init.d/vdr restart
# you can use any other postition too (just exchnage /root)
# usage
# xine http://127.0.0.1:3000/Extern/1
if [ "$1" == "" ];then
STREAMQUALITY="FUNKFEUER"
else
STREAMQUALITY=$1
fi
case "$STREAMQUALITY" in
"DSL1000")
cat $OUT.avi & /usr/bin/mencoder "$IN" -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=100 -oac mp3lame -lameopts preset=15:mode=3 -vf scale=160:104 -o $OUT.avi &>$OUT.log
;;
"DSL2000")
cat $OUT.avi & /usr/bin/mencoder "$IN" -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=128 -oac mp3lame -lameopts preset=15:mode=3 -vf scale=160:104 -o $OUT.avi &>$OUT.log
;;
"DSL6000")
cat $OUT.avi & /usr/bin/mencoder "$IN" -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350 -oac mp3lame -lameopts preset=standard -vf scale=320:208 -o $OUT.avi &>$OUT.log
;;
"LAN10")
cat $OUT.avi & /usr/bin/mencoder "$IN" -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=4096 -oac mp3lame -lameopts preset=standard -o $OUT.avi &>$OUT.log
;;
"WLAN11")
cat $OUT.avi & /usr/bin/mencoder "$IN" -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=768 -oac mp3lame -lameopts preset=standard -vf scale=640:408 -o $OUT.avi &>$OUT.log
;;
"FUNKFEUER")
cat $OUT.avi & /usr/bin/mencoder "$IN" -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=400 -oac mp3lame -lameopts preset=standard -vf scale=640:408 -o $OUT.avi &>$OUT.log
;;
"FUNKFEUER-Radio")
cat $OUT.avi & /usr/bin/mencoder "$IN" -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=100 -oac mp3lame -lameopts preset=standard -vf scale=160x104 -o $OUT.avi &>$OUT.log
;;
"WLAN54")
cat $OUT.avi & /usr/bin/mencoder "$IN" -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=2048 -oac mp3lame -lameopts preset=standard -o $OUT.avi &>$OUT.log
;;
"IPAQ")
cat $OUT.avi & /usr/bin/mencoder "$IN" -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350 -oac mp3lame -lameopts preset=15:mode=3 -vf scale=320:208 -o $OUT.avi &>$OUT.log
;;
esac
rm -f $OUT.avi /tmp/$OUT.log
Display More
Lg
Tuxinger
PS:
Der Patch ist gegen streamdev cvs von heute
[EDIT]
Hab den Patch ein wenig aufgeräumt und folgendes geändert bei Radiokanälen wird automatisch RADIO in die URL als letzter Parameter eingefügt (-> wenn man auf einen Radiokanal klickt bekommt das externremux script als letzten parameter RADIO übergeben), zudem ist es jetzt möglich beliebig viele Parameter an das externremux script zu übergeben. (-> man könnte eine Qualität MANUAL definieren und VBR,ABR,CODEC,... via url übergeben)
z.B.: http://<vdr-ip>:<streamdev-port>/extern/MANUAL/VBR=1000/ABR=200/VCODEC=MP4/ACODEC=MP3/<Kanal>
[/EDIT]