DVDs mit Vomp Plugin abspielen

  • Von Haus aus kann das Vomp-Plugin in der momentan aktuellen Version 0.2.7 keine DVDs abspielen. Deshalb schiebe ich dem VDR die DVDs als Fernsehaufnahme unter.
    Der Pfad zum Videoverzeichnis muss natürlich entsprechend der eigenen Installation angepasst werden, bei mir ist das "/video".
    Zum Transcodieren muss VLC installiert sein. (unter Debian "apt-get install vlc")


    Code
    mkdir /video/DVD                          # Die Aufnahme soll DVD heißen
    mkdir /video/2008-01-01.00.00.00.00.rec   # und ist am 1.1.2008 um 0:00 Uhr erstellt worden


    Ich persönlich möchte das ganze über eine Pipe transkodieren, deshalbe erstelle ich eine Pipe-Datei. Das hat natürlich den Nachteil, dass man dann später in der Pipe nicht spulen kann. Wer will, kann deshalb die folgende Zeile auch auslassen. Allerdings müsste man, um wirklich spulen zu können, imho auch noch mittels genindex eine Indexdatei erzeugen, was aber erst mögich ist, nachdem die komplette DVD transkodiert wurde. Ich möchte aber die DVD einlegen und sofort abspielen können :)


    Code
    mkfifo /video/2008-01-01.00.00.00.00.rec/001.vdr


    Nachdem man eine DVD eingelegt hat, startet man nun VLC mittels:


    Code
    vlc -I dummy -vvv dvdsimple:///dev/dvd --sout "#transcode{vcodec=mp2v,acodec=mp2a,ab=192,channels=2}:standard{mux=ps,dst=\"/video/2008-01-01.00.00.00.00.rec/001.vdr\",access=file}" vlc:quit


    Wer will, kann auch noch durch ein nach vcodec=mp2v eingefügtes ",vb=4096" die Bitrate für den Videocodec einstellen (evtl. interessant für schlechte WLAN-Verbindungen)



    Jetzt kann man an seiner MediaMVP die Aufnahme DVD anwählen und die DVD wird abgespielt - allerdings ohne Menüs etc.


    Nachteil an dieser Lösung ist natürlich, dass man immer erst nach dem Einlegen der DVD den VLC starten muss. Hier werde ich demnächst mal forschen, ob man das per udev automatisieren kann.


    Mit dieser Lösung kann man übrigens auch beliebige andere Videodateien per Vomp-Plugin abspielen. Dazu ist es aber evtl erforderlich, die Größe des Videos anzupassen.


    Beispiel:


    Code
    vlc -I dummy -vvv file:///filme/Sandmann.wmv --sout "#transcode{vcodec=mp2v,acodec=mp2a,ab=192,channels=2,width=704,hight=576}:standard{mux=ps,dst=\"/video/2008-01-01.00.00.00.00.rec/001.vdr\",access=file}" vlc:quit
  • Hallo Londo,


    Dnake fuer deine Muehe *gg*


    Wegen UDEV guggst du hier :


    http://reactivated.net/writing_udev_rules.html#external-run



    Ich muss mal schauen ob mein etxernes laufwerk funktioniert wenn es im Wohnzimmer neben der MVP steht ( der server steht im Keller ) dann probier ich das mal aus.



    Gruß


    Fab

    Debian server [ AMD Athlon(tm) 64 Processor 3000+ 3*Nova SE2 1* FF muss nachschauen CI + alphacrypt Soft raid5 549G]
    Clients [2 * MVP mit vomp 1 * MacBook Pro VLC streaming 1 * VOMP for windows]

  • Danke für den Link. Allerdings bin ich mittlerweile der Meinung, udev ist nicht das Richtige für den Zweck (erkennt ja nur neue Geräte - aber neu eingelegte Medien???)
    Habe mich jetzt für ivman entschieden und bastel da gerade eine Lösung zusammen.


    Wird demnächst gepostet.

  • moin,


    ivman kenn ich nicht. Sobald ich wieder etwas luft hab, schau ich dass ich das DVD laufwerk mal einbaue.


    Gruß und ein schönes Wochenende


    Fab

    Debian server [ AMD Athlon(tm) 64 Processor 3000+ 3*Nova SE2 1* FF muss nachschauen CI + alphacrypt Soft raid5 549G]
    Clients [2 * MVP mit vomp 1 * MacBook Pro VLC streaming 1 * VOMP for windows]

  • Ivman kann im Prinzip genau das, was wir brauchen: Ein Skript beim Einlegen einer Video-DVD starten. Soweit ist das auch kein Problem, ich arbeite aber momentan noch an einer Lösung, mit der ich nach drücken von Stop die DVD auch wieder herausnehmen kann (geht nicht wegen Lock durch VLC), ohne mir dabei die Möglichkeit zu nehmen, durch drücken von Pause das Abspielen nur mal kurz anzhalten.

  • Hier die automatische Variante mit ivman.


    Achtung, wenn man bei dieser Variante den Abspielvorgang abbricht (nicht beim Drücken von Pause), z.B. weil "Stop" oder "Menü" gedrückt wird, kann man die DVD nur noch entnehmen und nach erneutem Einlegen wieder von vorne Abspielen.


    Folgende Anleitung bezieht sich auf eine Debian-basierte VDR-Installation und wurde von mir unter Etch durchgeführt


    Schritt 1
    vlc und ivman installieren

    Code
    apt-get install vlc
    apt-get install ivman


    Schritt 2:
    Ordnerstruktur anlegen

    Code
    mkdir /video/DVD
    mkdir /video/2008-01-01.00.00.00.00.rec


    Schritt 3:
    Folgendes Skript als Datei unter /etc/ivman/insertdvdcommand.sh anlegen


    Nicht vergessen, das Skript mittels "chmod +x /etc/ivman/insertdvdcommand.sh" ausführbar zu machen.


    Schritt 4:
    ivman als root starten lassen
    In der Datei /etc/ivman/IvmBase.xml die Zeile

    Code
    <ivm:Option name="user" value="ivman" />


    durch folgende Zeile ersetzen

    Code
    <ivm:Option name="user" value="root" />


    Schritt 5:
    ivman beim Einlegen einer Video-DVD das Skript insertdvdcommand.sh ausführen lassen.
    Dazu die Datei /etc/ivman/IvmConfigActions.xml um folgende Zeilen ergänzen

    Code
    <!-- tanscode video DVDs -->
    	<ivm:Match name="hal.volume.disc.is_videodvd" value="true">
    		<ivm:Option name="exec" value="pumount '$hal.block.device$' &amp;&amp;  /etc/ivman/insertdvdcommand.sh &amp;" />
    	</ivm:Match>


    Das ganze aber nicht am Ende anhängen, sondern vor der Zeile </ivm:ActionsConfig>


    Fertig. Legt man nun eine DVD ein, so kann man diese als VDR-Aufnahme "DVD" ansehen. Allerdings ohne DVD-Menüs und ohne die Möglichkeit des Vor- oder Zurückspulens.


    Ich hoffe, ich habe hier nichts vergessen aufzuführen.

  • @ Londo


    Hallo,


    wollte mal dein Howto ausprobieren. Ich scheiter aber schon an der Installtation von VLC. Kannst Du mir mal bitte Deine sources.list posten?


    Grüße

    NFS+DVB_Server: Ubuntu 12.04 Server LTS // Intel dn2800mt mit 1xWD Red (2TB), 1xWD Green (2TB), 5xSundtek SkyTV DVB-S/S2
    VDR: Gen2VDRV4 (VDR-2.1.6) // Asus C8HM70-I/HDMI , 64GB Sandisk SSD (System), 4GB Ram (Dualchannel), Zotac GT630, 4TB über NFS (Video0+Mediadaten), 5xSundtek SkyTV DVB-S/S2 über Lan, PS3 FB // softhddevice_GIT, NV-Treiber_340.58, FFMPEG_1.2.6, Kernel_3.16.5, Alsa_1.0.28 // KODI_15.0_ALPHA
    CLIENT: (Debian) Banana Pi (VDR-2.1.7) // streamdevclient // softhddevice // PS3 FB
    TEST: Grundig GSS 400 mit Vtunerc // Satip-Plugin // TVheadend


    Je mehr man gelernt hat, desto mehr weiß man, wie wenig man weiß.

  • @ Londo


    Habe dein Skript jetzt am Laufen, bei mir funktioniert es aber nur wenn ich diese zwei Dinge ausraute:


    # falls noch ein insertdvdcommand.sh wartet, weil DVD nicht abgespielt wurde, dieses beenden
    #[ `pgrep -c insertdvdcomman` != 1 ] && pkill -P `pgrep -o insertdvdcomman` dd ; pkill -o insertdvdcomman
    #sleep 0.5


    # Darauf warten, dass der VDR auf die DVD zugreift
    #dd bs=4096 if=/dev/zero of=/video/DVD/2008-01-01.00.00.00.00.rec/001.vdr


    Ansonsten eine echt schöne Idee.


    Grüße

    NFS+DVB_Server: Ubuntu 12.04 Server LTS // Intel dn2800mt mit 1xWD Red (2TB), 1xWD Green (2TB), 5xSundtek SkyTV DVB-S/S2
    VDR: Gen2VDRV4 (VDR-2.1.6) // Asus C8HM70-I/HDMI , 64GB Sandisk SSD (System), 4GB Ram (Dualchannel), Zotac GT630, 4TB über NFS (Video0+Mediadaten), 5xSundtek SkyTV DVB-S/S2 über Lan, PS3 FB // softhddevice_GIT, NV-Treiber_340.58, FFMPEG_1.2.6, Kernel_3.16.5, Alsa_1.0.28 // KODI_15.0_ALPHA
    CLIENT: (Debian) Banana Pi (VDR-2.1.7) // streamdevclient // softhddevice // PS3 FB
    TEST: Grundig GSS 400 mit Vtunerc // Satip-Plugin // TVheadend


    Je mehr man gelernt hat, desto mehr weiß man, wie wenig man weiß.

  • Ersteres ist eigenlich dazu da, ein eventuell noch laufendes insertdvdcommand.sh Skript zu beenden. Das könnte man evtl. auch noch schöner lösen. Solange man jede DVD die man einlegt auch abspielt, braucht man das aber nicht.


    Dass man allerdings das Zweite auskommentieren kann, wundert mich. Eigentlich müsste sich das Skript dann sofort nach Einlegen der DVD wieder beenden, da ja der VDR in dem Moment noch nicht auf die Pipe zugreift.


    Allerdings hatte ich auch nach jedem Neustart des VDR-Systems das Problem, das sich die Pipe nicht schließen tat wenn nichts mehr daraus ausgelesen wurde. Deshalb lege ich die Pipe jetzt bei jedem Skriptstart neu an.
    Allerdings ist es vielleicht auch nur eine Eigenart meines VDR, dass er die Pipe bei Beginn des Abspielvorgangs nochmal schließt - sonst würde das Skrip bei dem dd festhängen. Welche VDR-Version hast du denn?
    Und kannst du die DVD nach Drücken auf "Stop" wieder entnehmen oder ist die da noch gelockt?

  • @ Londo


    Ich habe das jetzt gerade auf diesem vdr1: CT-VDR 6.0 mit e-tobi 1.5.17 /Hardware: MSI-MS 7145 mit AMD 3400+ C&Q, 512 MB Ram, 320 GB HD, 2.3 Nexus FF mit CICAM, KNC One. installiert. Und wenn ich diese zwei Zeilen nicht ausraute, startet das Skript nicht beim Einlegen der DVD. Und von Hand läßt es sich auch nicht starten, dann heißt es immer nur "Prozess beendet". Kann aber trotzdem nach dem Stop drücken sofort die DVD aus dem Laufwerk rausnehmen, also ist sie nicht mehr gelockt.


    Grüße

    NFS+DVB_Server: Ubuntu 12.04 Server LTS // Intel dn2800mt mit 1xWD Red (2TB), 1xWD Green (2TB), 5xSundtek SkyTV DVB-S/S2
    VDR: Gen2VDRV4 (VDR-2.1.6) // Asus C8HM70-I/HDMI , 64GB Sandisk SSD (System), 4GB Ram (Dualchannel), Zotac GT630, 4TB über NFS (Video0+Mediadaten), 5xSundtek SkyTV DVB-S/S2 über Lan, PS3 FB // softhddevice_GIT, NV-Treiber_340.58, FFMPEG_1.2.6, Kernel_3.16.5, Alsa_1.0.28 // KODI_15.0_ALPHA
    CLIENT: (Debian) Banana Pi (VDR-2.1.7) // streamdevclient // softhddevice // PS3 FB
    TEST: Grundig GSS 400 mit Vtunerc // Satip-Plugin // TVheadend


    Je mehr man gelernt hat, desto mehr weiß man, wie wenig man weiß.

    Einmal editiert, zuletzt von zwick der agent ()

  • @ zwick


    Ich vermute mal, es beendet sich bei dir wieder von alleine, da
    [ `pgrep -c insertdvdcomman` != 1 ] bei dir "true" ergibt, wahrscheinlich weil das Ergebnis von "pgrep -c" bei dir 0 ist. Das könnte z.B. daran liegen, dass das Skript bei dir anders heißt (könnte man während es läuft mittels "ps -A" ermitteln).


    Aber solange es läuft, ist es ja auch so ok :)


    Warum das Ganze aber ohne das dd funktioniert ist mir noch nicht ganz klar - weitere Rückmeldungen erwünscht, falls das hier noch jemand ausprobiert.

  • Wäre jetzt mit 0.2.7-6 vielleicht auch mit dem mediaplayer als Konverter zu machen.
    Vielleicht irgendwo ein file z.B. start.dvd hintun, in vomp.conf dvd als extension für VIDEO konfigurieren mit command script und dort dann den Konverter - Befehl eintragen.
    Stoppen/Starten sollte damit kein Problem sein, Menüs werden trotzdem nicht gehen.
    Man könnte aber mit ein wenig Bastelei zumindest etwas bauen, um einzelne Kapitel gezielt anzuspringen (so in etwa mit lsdvd oder Ähnlichem eine Kapitelliste dynamisch aufbauen - start.kapitel als LIST konfigurieren, im Script dann die Kapitelliste bauen -
    kapitel1.dvd
    kapitel2.dvd
    ...
    und wieder dvd als extensions zum Abspielen einer DVD)
    Kann es leider gerade nicht probieren...
    Siehe diesen thread


    Gruß Andreas

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!