Hallo Zusammen,
wie stelle ich es an, das beim Einlegen einer DVD der XBMC DVD-Player startet?
Welche Einträge muß ich in der autostart.conf vornehmen?
Standardmäßig läuft yavdr.
Danke.
Hallo Zusammen,
wie stelle ich es an, das beim Einlegen einer DVD der XBMC DVD-Player startet?
Welche Einträge muß ich in der autostart.conf vornehmen?
Standardmäßig läuft yavdr.
Danke.
IMHO ist das Autostart-Plugin unter yaVDR dafür recht ungeeignet.
Wenn XBMC selber schon läuft, sollte es DVDs beim Einlegen selbstständig abspielen, wenn man diese Option in den Einstellungen aktiviert hat.
Falls man ein "normales" VDR-Frontend nutzt, könnte man es so machen (Qick & Dirty, es fehlt noch die Fallbehandlung, ob XBMC schon läuft):
Man braucht eine Filterregel in der /etc/udisk-glue/config, die ähnlich wie hier beschriebene aussieht - aber ein Upstart-Signal absetzt:
[gelöst] Erkennen eingelegter CDs/DVDs
Dann muss man die Upstart-Datei für XBMC noch so erweitern, dass sie auf das Upstart-Signal hin startet und man XBMC optional einen Pfad übergeben kann.
Also in der /etc/udisk-glue/config folgende Regeln einfügen:
filter dvd {
optical = true
type = udf
}
match dvd {
automount = false
post_insertion_command = "sudo /sbin/initctl stop vdr-frontend && sudo /sbin/initctl emit --no-wait xbmc-start path=%device_file"
Und dann noch die /etc/init/xbmc.conf entsprechend anpassen:
http://paste.ubuntu.com/1106600/
Hallo Leute,
genau so hatte ich mir das auch vorgestellt, mit dem winzigen (unerheblichen) Unterschied, dass ich das ganze für Audio-CDs machen will. Ich möchte mir nämlich keinen separaten CD-Player mehr ins Regal stellen. Und da meine Frau nicht jedes Mal den Fernseher anschalten will um durchs OSD zu navigieren, wenn sie nur eine Audio-CD hören will, bin ich schon seit längerem auf der Suche nach einer Möglichkeit, wie beim Einlegen einer solchen automatisch XBMC gestartet werden kann und unmittelbar die Wiedergabe startet. Bei dieser Gelegenheit habe ich auch gleich noch das Problem mitgelöst, dass mein Bluray Player bei der Wiedergabe einer Audio-Disk für die ersten Sekunden wie eine Düsenturbine aufdreht. Die Fallbehandlung, ob XBMC schon läuft habe ich eingebaut, indem ich schaue, ob eine PID für XBMC existiert - ob das robust genug ist weiss ich auch noch nicht, ggf. hat hierzu auch noch jemand eine bessere Idee?
Was ich gemacht habe:
in /etc/udisks-glue/config Einträge für "audio-disk" ergänzt:
filter audio-disk {
optical = true
optical_disc_has_audio_tracks = true
}
match audio-disk {
post_insertion_command = "eject -x 1 /dev/sr0 && /usr/local/bin/stop_vdr-frontend_start_xbmc.sh"
}
filter disks {
optical = false
partition_table = false
usage = filesystem
}
match disks {
automount = true
# automount_options = sync
post_mount_command = "mount-notify mounted Þvice_file %mount_point"
post_mount_command = "/usr/bin/vdr-mounter --mount \"%mount_point\""
post_unmount_command = "mount-notify unmounted Þvice_file %mount_point"
post_unmount_command = "/usr/bin/vdr-mounter --unmount \"%mount_point\""
}
Alles anzeigen
Des weiteren habe ich mir unter /usr/local/bin ein Shellscript namens stop_vdr-frontend_start_xbmc.sh mit folgendem Inhalt angelegt:
#!/bin/bash
if [ "$(pidof xbmc.bin)" ]
then
logger "XBMC is already running...doing nothing"
else
logger "XBMC is not running...starting XBMC"
sudo /sbin/initctl stop vdr-frontend && sudo /sbin/initctl emit --no-wait xbmc-start path=/dev/sr0
fi
Zu guter letzt habe ich noch ein Custom Template unter /etc/yavdr/templates_custom/etc/init/xbmc.conf/10_header erstellt, damit der XBMC beim erzeugten Upstart-Signal startet - dieses sieht so aus:
description "XBMC Daemon"
author "Steffen Barszus <steffenbpunkt@gmail.com>"
start on xbmc-start
env DISPLAY=:1
export DISPLAY
env HOME=/var/lib/vdr
export HOME
setuid vdr
setgid vdr
<?cs if:(vdr.frontend == "xbmc") ?>
start on started vdr or stopped openbox-tools or started sound-device \
or vdr-frontend-restart
stop on stopping openbox
nice -10
<?cs /if ?>
Alles anzeigen
Hiernach das process-template für die /etc/init/xbmc.conf bitte nicht vergessen!
Und das wars...jedesmal, wenn ich nun eine Audio-CD einlege, wird mein Bluray-Laufwerk auf 1-fache Geschwindigkeit gedrosselt, XBMC startet und das VDR-Frontend wird abgehängt.
Ein Problem, was ich bisher noch habe ist, dass, obwohl ich XBMC den Pfad ja hardcoded übergeben habe, dies nicht honoriert wird, denn die CD-Wiedergabe startet nicht automatisch. Ich muss allerdings auch sagen, dass ich seither auch keine Zeit mehr hatte, der Sache nachzugehen.
Ich hoffe, jemand kann die Scripte gebrauchen (oder löst vielleicht sogar noch das eine Problem).
PS: ...aber denkt dran, wenn ihr euren VDR durch Experimente mit meinen Scripten hier zerschiesst, dann kommt nicht heulend zu mir. Das macht ihr ganz allein auf euer Risiko.
...und Vielen Dank nochmal an seahawk1986.
Gruß supergonzo74
Ein Problem, was ich bisher noch habe ist, dass, obwohl ich XBMC den Pfad ja hardcoded übergeben habe, dies nicht honoriert wird, denn die CD-Wiedergabe startet nicht automatisch. Ich muss allerdings auch sagen, dass ich seither auch keine Zeit mehr hatte, der Sache nachzugehen.
Ich sehe da nicht ganz, wo der Pfad tatsächlich an XBMC übergeben werden soll. Aber es gibt ja das Kochbuch: http://upstart.ubuntu.com/cookbook/#environment-variables
Hier setzt du ein Upstart-Signal ab, das den Pfad als Variable enthält:
Den müsstest du aber noch auswerten (in der /etc/init/xbmc.conf) - daher solltest du ein custom Template für https://github.com/yavdr/yavdr…/init/xbmc.conf/10_header noch so erweitern:
description "XBMC Daemon"
author "Steffen Barszus <steffenbpunkt@gmail.com>"
start on xbmc-start
env DISPLAY=:1
export DISPLAY
env HOME=/var/lib/vdr
export HOME
# *** PATH ***
env path=
export path
# *** PATH ***
setuid vdr
setgid vdr
<?cs if:(vdr.frontend == "xbmc") ?>
start on started vdr or stopped openbox-tools or started sound-device \
or vdr-frontend-restart
stop on stopping openbox
nice -10
<?cs /if ?>
Alles anzeigen
Und den Aufruf von XBMC dann noch so erweitern:
Nicht uninteressant was ihr hier macht.
Gerald
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!