Eine Idee ! dv2vdr - Bitte mal testen !

  • Vorbemerkung:
    ============


    Was wichtiges gleich mal vorweg:


    Ich gehöre nicht zu den Bash - oder Shell-Script Profis. Das Ergebnis hier
    ist durch lesen anderer Scripte und simples herumprobieren entstanden. Wenn
    es dazu dient, das der ein oder andere mal seinen Camcorder vom Dachboden
    holt und das ganze sinnvoll ergänzt, würde ich mich freuen.
    Das hier unten dargelegte funktioniert für mich, erfüllt voll und ganz
    seinen Zweck, deshalb wollte ich es nicht für mich behalten.


    Nun aber zum Thema:


    Nach dem nun VDRConvert läuft wäre es schön, auch die schon seit langem
    dahinsiechenden, Mini-DV Videos meiner Sony DV-Cam auf den VDR zu schaufeln,
    in das VDR-Format zu wandeln, um das Material anschliessend dann auch für
    VDRConvert zur Verfügung zu haben.


    Für diese Aufgabe drängt sich eine Verwendung von Arne Schirrmachers
    "dvgrab" auf. Ich habe hier einmal zwei Scripte ausgetüftetlt die diese
    Aufgabe zunächst bur auf der Kommandozeile ausführen. Für die automatische
    Verarbeitung mit der commands.conf fehlt noch folgendes:


    1)Per Fernbedienung lässt sich das Capturen zwar anwerfen, habe aber noch
    keine Möglichkeit gefunden, das Capturen wieder zu beenden.
    2)Es fehlt die Möglichkeit per Fernbedienung auch gleich den Titel
    mitzugeben, um im Anschluss mit VDRCOnvert auch ein paar Menueinformation zu
    Hand zu Haben.


    Die Scripte und ein paar Beispielbilder gibt es hier:


    http://oliver.goldenstein.bei.t-online.de



    Script 1) dv2vdrgrab.sh
    ========================



    Mit der Eingabe:


    ./dv2vdrgrab.sh "TITEL_DER_AUFNAHME"


    legt das Script zunächst einen Ordner im /video Verzeichnis nach der
    bekannten Struktur an.


    Der Ordner heisst dann:


    /video/TITEL_DER_AUFNAHME/2003-01-01.20:00.99.99.rec


    Sodann startet es, wenn alle Kernelmodule (raw1394, ohci1394, ieee1394)
    geladen sind, und die Kamera "an" ist, die Wiedergabe der Kamera und beginnt
    sofort mit dem Capturen nach:


    /video/TITEL_DER_AUFNAHME/2003-01-01.20:00.99.99.rec/dv/dvgrab-001.avi


    Durch drücken von "Strg-C" wird das Script und auch das Capturen beeendet.


    Script 2) dv2vdr.sh
    ===================


    Dieses Script konvertiert das zuvor gegrabbte AVI-File in einen DVD
    kompatiblen MPEG-Stream unter Zurhilfenahme der "MJPEGTOOLS".
    Das erzeugte MPEG-File wird sodann durch x08.jar (ProjektX) automatisch
    demuxt und in ein für VDR und VDRConvert benutzbares File gewandelt.


    Aufruf mit:


    ./dv2vdr.sh "TITEL_DER_AUFNAHME"



    Da auf meinem VDR immer ein X-Server lauft, funktioniert das Script so. Bei
    wem das nicht der Fall ist fügt bitte noch vor:


    Export DISPLAY ....


    Den Aufruf des virtuellen X-Servers Xvfb ein.


    Hinweise zum virtuellen X-Server findet ihr hier:


    http://www.vdrportal.de/board/thread.php?threadid=1218&sid=&hilight=xvfb&hilightuser=0


    Ein Hinweis zu x08.jar.
    Bevor x08.jar in diesem Script funktioniert, sollte es einmal händisch
    aufgerufen werden. Das erzeugte X.ini kopiert Ihr bitte nach /usr/local/etc.


    Zu guter letzt wird ein dazugehöriges "index.vdr" erzeugt, und alle nich
    mehr benötigen Files (AVI,MP2,M2V,MPG) wieder entsorgt.
    Jetzt muessten im Ordner:


    /video/TITEL_DER_AUFNAHME/2003-01-01.20:00.99.99.rec/


    Die Files: 001.vdr sowie index.vdr verfügbar sein.


    VDRConvert
    ==========


    Jetzt können die Aufnahmen mittels VDRConvert wie gewohnt zur DVD_Liste
    hinzugefügt werden, Hintergrundbilder gegrabbt werden, und was man sonst
    noch alles so mit VDRConvert machen kann.



    Über euer Echo freue ich mich schon jetzt.


    Oliver

    __
    VDR-Server: Kanotix VDR 1.51 mit DVB-T TT-Budget Xineliboutput
    VDR-Client: S100 mit Zendeb 0.4.1beta VDR und MMS

    2 Mal editiert, zuletzt von dl6kbg ()

  • So, ich habe jetzt an Hand der Scripte ein komplettes MiniDV Band nach VDR importiert:


    Hiermal kurz ein Paar Infos zum zeitlichen Ablauf:


    1) Vom Band Capturen = 4:30 Minuten
    2) Konvertieren mit MPEG2ENC = 60 Minuten !!! [Athlon 800, 256 MB]
    3) Demuxen mit x08.jar = 2 Minuten
    4) genindex-lfs = 2 Minuten


    Aus 1008 MB Rohmaterial (= 4:30 Minuten Film) werden ca. 250 MB.


    Vorteil ist jetzt dass das Script automatisch durchläuft auf der Konsole. D.h., die Umwandlung vom AVI-File bishin zum Erstellen eines VDR kompatiblen Files einschliesslich der dazugehörigen Ordnerstruktur geht dann automatisch.


    Oliver

    __
    VDR-Server: Kanotix VDR 1.51 mit DVB-T TT-Budget Xineliboutput
    VDR-Client: S100 mit Zendeb 0.4.1beta VDR und MMS

  • Hallo,


    genau das habe ich gesucht. Wenn meine Firewirekarte da ist werde ich dies natürlich testen.


    TSchau Ingo

    Matrix - AMD Athlon-TBIRD900, 256MB, Gentoo 2006.1 160GB-HDD als Server
    VDR - Asrock A7VM2 mit Athlon XP 2400 (mit 100MHz FSb laufen wegen wärme), 128MB Ram, 120GB Spinpoint HDD, Gen2vdr,
    VDR2 Asrock A7VM2 mit Duron 1200 , 128MB 160GB HDD
    DeepOcean Pentium D 805 2,66GHz, 1GB-Ram, 200GB-HDD, WinXP, MAC-OS X86
    Mein Mac, G4 400@500MHz Sawtooh, 768GB-RAM, GF5200 128MB, 80GB-HDD
    :cool1 :vdr1

  • ich bekomme übrigens zur Zeit nicht mehr als 1008 MB gecaptured. Das Script bricht dann von alleine ab.


    Evtl. kann jemand das mal testen, oder mir erklären, woran es liegen könnte ?!


    Gruss Oliver

    __
    VDR-Server: Kanotix VDR 1.51 mit DVB-T TT-Budget Xineliboutput
    VDR-Client: S100 mit Zendeb 0.4.1beta VDR und MMS

  • Hi,


    stricke auch gerade an Digital-Video nach VDR. Grabben starten und stoppen via OSD geht mit dem Skript dv.sh (Steuerskript fuer die Kommandos vom VDR-OSD). Pfade muessen sicher angepasst werden.



    In der commands.conf braucht man dann folgende Eintraege:


    Code
    DV grab starten     : /usr/local/vdr/scripts/dv.sh grab_start
    DV grab stoppen     : /usr/local/vdr/scripts/dv.sh grab_stop
    DV -> MPEG          : /usr/local/vdr/scripts/dv.sh to_mpeg


    Die MPEG und VDR Konversion geht ueber weitere Skripte via transcode und ProjectX (habe auch das Problem mit dem X Server, der Tip mit dem Framebuffer Server ist gut!) und haengt noch nicht unter dem OSD. Kommt sicher bald. Von Hand hat alles schon gut funktioniert und die Digital-Video Clips im VDR zu haben ist ein echter Fortschritt.

    VDR1: MSI-6368, P3 Celeron 700MHz, 320MB, Samsung 160GB, Nexus-S 2.1, Nova-S, IR Selbstbau, LinVDR 0.6, vdr-1.3.27
    VDR2: ASUS Pundit, P4 Celeron 2.4GHz, 256MB, Samsung 120GB, Nexus-S 2.2, SkyStar2, IR Selbstbau, LinVDR 0.6, vdr-1.3.27

  • Hallo Eloy !


    Ich habe es gerade mal probiert:


    Code
    $ /usr/local/bin/dv.sh "grab_start"
    /usr/local/bin/dv.sh: line 61: syntax error: unexpected end of file
    $


    Schlagt mich nicht, aber ich uebersehe nicht sofort, was da fehlt. Hast Du eine Idee !?

    __
    VDR-Server: Kanotix VDR 1.51 mit DVB-T TT-Budget Xineliboutput
    VDR-Client: S100 mit Zendeb 0.4.1beta VDR und MMS

    Einmal editiert, zuletzt von dl6kbg ()

  • Hi dl6kbg,


    hmm, seh ich auf den ersten Blick nicht. Normalerweise treten solche Fehler bei vergessenem Quotes ", ', ` oder nicht abgeschlossenen if oder case Konstrukten auf. Das sehe ich im Moment da nicht. Ich hab das bei mir genau so laufen nur mit weiteren Testeintraegen fuer to_mpeg und to_vdr. Der Rest ist identisch und habe den Eintrag auch mit Copy/Paste gemacht. Du kannst das Skript zum Testen auch stand-alone starten und die erste Zeile um die Option '- x' erweitern (#!/bin/sh -x). Dann gibt die Shell alle Kommandos als Log aus und man sieht eher wo es hakt. Dann helfe ich gerne weiter


    Gruss,

    VDR1: MSI-6368, P3 Celeron 700MHz, 320MB, Samsung 160GB, Nexus-S 2.1, Nova-S, IR Selbstbau, LinVDR 0.6, vdr-1.3.27
    VDR2: ASUS Pundit, P4 Celeron 2.4GHz, 256MB, Samsung 120GB, Nexus-S 2.2, SkyStar2, IR Selbstbau, LinVDR 0.6, vdr-1.3.27

  • Da das DV-> MPEG noch nicht implementiert ist, hier mal meine Lösung.


    Code
    echo "$DVGRAB --autosplit --timestamp --format raw $DV_DIR/scene- > /dev/null"


    ändern in


    Code
    echo "$DVGRAB --autosplit --timestamp --format dv2 $DV_DIR/scene- > /dev/null"



    Das Problem ist nur noch, wie ich das in einen Background-Prozess bekomme. Sonst blockiert er mir dem VDR.


    Das weitere, was ich nicht begreife ist, wieso der Prozessor nur zu 50% ausgelastet ist.


    Gruss
    Dusko

  • Hallo Drusko !


    das werde ich auch mal testen.
    Mit dem reinen Umwandeln in MPEG war es bei mir jedoch nicht getan. Die Filme lassen sich zwar ansehen. Es hat dann aber beim Verarbeiten mit VDRConvert gehapert.
    Deswegen habe war auch noch das Bearbeiten mit x08.jar nötig:


    Code
    export DISPLAY=:0.0 >/dev/null 2>&1
     java -jar /usr/local/bin/x08.jar -c /usr/local/etc/X.ini -o /video/${name}/2003-01-01.20:00.99.99.rec /video/${name}/2003-01-01.20:00.99.99.rec/${name}.mpg


    Gruss Oliver

    __
    VDR-Server: Kanotix VDR 1.51 mit DVB-T TT-Budget Xineliboutput
    VDR-Client: S100 mit Zendeb 0.4.1beta VDR und MMS

  • Hi Duesentrieb,


    in den Hintergrund bekommst Du ein Skript mit nohup (siehe mein Rahmenskript oben). Ich konstruiere ein temporaeres Skript in $TMP.sh, dass dann im Hintergrund laeuft. Der VDR blockiert dann nicht (er wartet sonst auf den Output des Skripts fuer die Bildschirmausgabe) und des weiteren kann man mit svdrpsend.pl messages an den VDR senden (das geht aus einem direkt unter VDR laufenden Skript auch nicht).
    Ich hab mittlerweile auch einigermassen taugliche Teile fuer to_mpeg (via transcode) und to_vdr (via Project X). Werde sie am Wochenende zur Verfuegung stellen.


    Gruss,

    VDR1: MSI-6368, P3 Celeron 700MHz, 320MB, Samsung 160GB, Nexus-S 2.1, Nova-S, IR Selbstbau, LinVDR 0.6, vdr-1.3.27
    VDR2: ASUS Pundit, P4 Celeron 2.4GHz, 256MB, Samsung 120GB, Nexus-S 2.2, SkyStar2, IR Selbstbau, LinVDR 0.6, vdr-1.3.27

  • Hallo Zusammen


    Also, ich habe mir beim Posten nicht wirklich Gedanken über ein Konzept gemacht. Habe einfach meinen Senf dazu geben wollen.


    Nun habe ich aber mal nachgedacht:


    Ablauf


    1. Schritt:
    Komme nach Hause und möchte einfach mal die Kassette der DV-Camera auf den PC überspielen (sichern). Nach jedem "Record - Pause"-Schnitt soll eine eigene Datei erstellt werden. Das klappt ja schon mal.


    2. Schritt:
    Nun möchte ich nur die wirklich guten Szenen behalten. Deshalb muss ich die einzenen Szenen löschen und als brauchbar markieren können. Wünschenswert wäre, wenn man innerhalb der Szenen noch Schnittmarken setzten könnte. Auch die Reihenfolge sollte bestimmbar sein. Um noch einen obendrauf zu setzten, könnte man noch einfache Überblendungen einbauen, Titel generieren etc...


    3. Schritt:
    Nun möchte ich ein Ausgabeformat definieren können. MPEG, so wie ich es vorgeschlagen habe, ist nur eine Möglichkeit. Denkbar wäre: MPEG, VDR, DIVX und DVD. Die Konvertierung starte ich, bevor ich in's Bett gehe.


    4. Schritt:
    Mit dem Endprodukt meine Freund langweilen ;o)


    Was ist zu tun


    2. Schritt:


    Ich stelle mir das Management wie bei vdrconvert vor. Dazu braucht es folgende Funktionen:
    [list=1]
    [*]Add to List
    [*]Move Up in List
    [*]Move down in List
    [*]Remove from List
    [/list=1]


    3. Schritt:


    Danach die Auswahl des Ausgabeformat.
    [list=1]
    [*]To MPEG
    [*]To DIVX
    [*]TO VDR
    [*]TO DVD
    [/list=1]
    Man kann ja dann immer noch VDR als Format wählen und dort mit vdrconvert weiterverarbeiten. Ich persönlich, würde aber meist direkt auf DVD brennen wollen.


    Und nun?


    Jetzt müssen wir nur noch in die Tasten greifen. Ich habe aber noch nie in einem Team über das Internet ein Projekt begleitet. Keine Ahnung wie das geht (wer verwaltet die Sourcen, Versionenkontrolle, Dokumentation etc.). Zudem bin ich nicht wirklich der Script-Crack. Ich bin jedoch bereit, meinen Beitrag zu diesem Projekt zu leisten. Leiten muss es jedoch ein anderer.


    Gruss
    Dusko

  • Hallo Zusammen !


    Da ich es ja angefangen habe, fühle ich mich verantwortlich. Ich hatte bisher nicht den Eindruck, dass jemand die Scripte vom ersten Post ganz oben jemand schon einmal getestet hat.


    Oder?


    Bei mir funktionieren Sie gut. Ein Importieren vom Band geht fix (except limitierte Groesse 1008 MB). EIne DVD ist auf diese Weise vergleichsweise schnell erstellt. Bis auf den Luxus von Überblendungen.


    Durch die Lösung, das DV-Material gleich in das VDR-Format zu konvertieren, denke ich, dass Deine gedachten Schritte 2 und 3 gleich mit erfüllt sind, denn


    - ich kann die Files dann wie im VDR gewohnt mit der Fermbedinenung schneiden
    - Die geschnittenen Files mit VDRConvert weiter bearbeiten (DIVX, SVCD und DVD usw.)
    - Die Reihenfolge bekommts Du ja über die Auswahl wieder hin.
    spw. "Zur DVD-Liste hinzufuegen >>"


    Also, warum VDRConvert noch einmal neu erfinden?


    Grüsse Oliver

    __
    VDR-Server: Kanotix VDR 1.51 mit DVB-T TT-Budget Xineliboutput
    VDR-Client: S100 mit Zendeb 0.4.1beta VDR und MMS

    Einmal editiert, zuletzt von dl6kbg ()

  • Lieber Oliver


    Du hast mich erwischt. Ich habe nur kurz Dein Script ausprobiert. Ich bekam es einfach nicht zum laufen. Lag aber sicher an mir - zu ungeduldig... Ich kenne deshalb nicht alle Funktionen und bitte um Nachsicht.


    Deine Gedanken kann ich nachvollziehen und finde sie grundsätzlich richtig.


    Nur kann ich nicht glauben, dass das Konvertieren fix gehen soll. VDR ist ja auch ein MPEG-Format. Und das Konvertieren eines Bandes (1 Std.) brauchte auf unserem IBM-Server mit 2x2GHz 9 Stunden!


    Ich werde mich nochmals an Deine Scripts heranwagen...


    Gruss
    Dusko

  • @Drusko


    Schreibe mal, was konkret nicht geht.
    Der Problematische Teil ist wohl ProjektX , ich hatte dazu oben aber ein Thread-Verweis angegeben. Das ist der Teil mit dem "export DISPLAY..."


    Ich nehme immer 5 Minuten = 1008 MB, dauert dann ca. 30-40 Minuten die Umwandlung.
    Dafür ist das Material aber anschliessend auch von einwandfreier Qualität.


    Oliver

    __
    VDR-Server: Kanotix VDR 1.51 mit DVB-T TT-Budget Xineliboutput
    VDR-Client: S100 mit Zendeb 0.4.1beta VDR und MMS

  • eloy


    Zugegeben, Dein Script konnte ich auch noch nicht ausgiebig testen. Es fehlt gerade die Kamera :(


    Oliver

    __
    VDR-Server: Kanotix VDR 1.51 mit DVB-T TT-Budget Xineliboutput
    VDR-Client: S100 mit Zendeb 0.4.1beta VDR und MMS

  • Hallo Zusammen


    Also, ich denke die Wahrheit liegt - wie so oft - in der Mitte. Ich sehe eine Mischung zwischen beiden Varianten.


    Das Problem bei der Vorgehensweise von dl6kbg ist, dass man das ganze Band nach MPEG umwadeln muss, bevor man es schneiden kann. Die Selektion der einzelnen Szenen muss vor dem Umwandeln geschehen. Das spart Rechenzeit.
    [list=1]
    [*]Grabben in einzelne Szenen (--autosplitt)
    [*]Selektion der Szenen (Add, Remove etc.)
    [*]Umwandeln nach MPEG/VDR
    [*]Weiterverarbeitung
    [/list=1]
    Konkret heisst das:


    Schritt 1
    Script dv2vdr.sh von dl6kgb in Funktion "grab_start)" von eloy einbauen. Dabei muss noch das Problem des Subverzeichnis (2003-01-01.20:00.99.99.rec) gelöst werden. Alle einzelnen AVI-Files müssen dann in dieses Verzeichnis gespeichert werden.


    Schritt 2
    Die einzelnen Szenen werden dann - wie bei VDRConvert - in einer Liste definiert (z.B. dv2mpeg)


    Schritt 3
    In Funktion "to MPEG)" das Script dv2vdr.sh aufrufen


    Schritt 4
    Nun haben wir ein VDR-File und können damit tun und lassen was wir wollen.


    Gruss
    Dusko

  • Hi,


    habe an meinem Skript dv.sh (siehe Anhang) in der Zwischenzeit weitergearbeitet. Es gibt jetzt zwei Verarbeitungsstufen.


    1) GRAB
    2) DV -> VDR


    Die commands.conf Eintraege sind


    Code
    8 DV grab starten?    : /usr/bin/dv.sh grab_start
    9 DV grab stoppen?    : /usr/bin/dv.sh grab_stop
    10 DV -> VDR           : /usr/bin/dv.sh to_vdr


    Mein Szenario ist die Konvertierung eines ganzen Tapes auf einmal (keine Preselektion!). Ich transkodiere nicht mehr alle Szenen einzeln, da an der Grenzen unschoene Artefakte auftraten, sondern fasse alle Szenen eines Tages in einen Clip zusammen und transkodiere diesen dann. Das Kriterium alle Aufnahmen pro Tag passt fuer mich ganz gut (ist aber natuerlich willkuerlich). Die Clips werden dann VDR-konform in einem Zielverzeichnis mit der Startzeit der ersten Szene abgelegt. Ab da kann man sich weiter im VDR austoben. Der DV -> VDR Uebergang ist zeitaufwendig (ca. 10h fuer 1 Stunde Material dauert das bei mir auch).


    Gruss,

    Dateien

    VDR1: MSI-6368, P3 Celeron 700MHz, 320MB, Samsung 160GB, Nexus-S 2.1, Nova-S, IR Selbstbau, LinVDR 0.6, vdr-1.3.27
    VDR2: ASUS Pundit, P4 Celeron 2.4GHz, 256MB, Samsung 120GB, Nexus-S 2.2, SkyStar2, IR Selbstbau, LinVDR 0.6, vdr-1.3.27

  • hi
    die scripts sehen ja zuweilen ganz brauchbar aus - allerdings finde ich die recodierungszeitden zu lange (da muss mal ein schneller to-mpeg2-converter unter linux mal her...).


    mein problem ist ein (derzeit) anderes: ich kann mit dem mplayer (als vdr-plugin) die dv-streams nicht anschauen - es kommen nur bildfetzen dahergefolgen.
    aus diesem thread entnehme ich dass dies aber gehen sollte?


    gibt es da ad-hoc einen tip welcher codec oder mplayer-version man nehmen "muss" oder worauf man achten sollte?


    gruß
    dbox.network

Jetzt mitmachen!

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