Home sweet home
Nav
hide
S1
S2
S3
Name: Comag Video-Dateien in DVDs umwandeln
benötigt: -
Einige Comag-Satelliten-Receiver haben einen Festplatten-Rekorder eingebaut. Bei der Aufnahme des Commag 100 CL entstehen TS-Files, die sich in ein DVD-geeignetes Format umwandeln lassen. Hier nur eine Beschreibung, daher "nichts" benötigt.

Das Format der comag-Files läßt sich mittels idvid ermitteln. Idvid sagt zwar, dass man die Dateien auf eine PAL-DVD brennen kann aber aus der Erinnerung der ersten Versuche: Die ts-Dateien enthalten noch Informationen, die nicht zum Video- oder Audio-Signal gehören, evtl. Videotext (?) – ich weiß es nicht mehr genau. Die Dateien ließen sich auch nicht mit dvdauthor auf eine DVD bringen, Werbung war auch noch enthalten und sie waren teilweise zu lang für eine DVD. Daher habe ich nach und nach Scripte geschrieben und/oder gesammelt um die Dateien zusammenzufassen, ggf. zu schneiden, und eine DVD daraus zu erstellen. Hier wird kurz das Vorgehen beschrieben, die 2. Aufzählung gibt ein Beispiel mit den beteiligten Dateien an. Der Prozess läßt sich sicher noch deutlich optimieren, jedoch lasse ich den Rechner in der Regel im Hintergrund arbeiten, so dass mich dies nur bedingt interessiert.
Kurz-Vorgehen:
  1. comagConvert / comagConvertBatch - nennt Verzeichnisse um, extrahiert Informationen, wandelt Dateien um man erhät eine mpg-Datei (verwendet im Wesentlichen projectX und mplex)
  2. Schneiden der entstandenen Dateien mit projectX
    Man sollte als Ausgabe wieder demultiplexen wählen, da dabei Ton und Bild synchronisiert werden.
  3. Evtl. per requantWrapper die Größ der Video-Datei anpassen. Dies ist ggf. sinnvoll, falls die Datei auf eine DVD gebrannt werden soll. Falls vorher nicht geschnitten wurde, so muss mit projectx demultiplexed werden so dass man Audio und Video-Daten getrennt vorliegen hat.
  4. Falls einer der vorigen Schritte nötig war, so setzt man die Dateien wieder zusammen:
    mplex -f 8 -o FilmName.mpg *m2v *ac3 *mp2
    Hier sollte man aufpassen, dass man alle Dateien "erwischt". Erhät man mehrere Dateien im Audio-Format mit der Endung mp2, so sind diese durchnummeriert. Ich habe noch nicht getestet, ob die Reihenfolge wichtig ist.
    [edit (Juni 2010):] Inzwischen existiert auch zum zusammen setzen per mplex ein Bash-Script, comagMplex
    [edit (Juli 2010):] will man ein mkv erzeugen, s.u., ist das zusammen setzen mit mplex an dieser Stelle unnötig
  5. Fertig – alles weitere ist optional
  6. optional: mit comagMetaCSV oder comagMetaCSVBatch die Informationen aus der META.DAT an die eigene Video-Liste anhängen.
  7. optional: Dateien in ein platzsparenderes Format konvertieren. Ich verwende meistens h.264 (x264) und packe das Ganze dann in einem Matroska-Container (Endung: mkv). Das h.264 Format benötigt bei etwa gleicher Qualität deutlich weniger Speicherplatz, das Encoding dauert natürlich seine Zeit. Skript comagEncodeMKV (kopiert von Michael Stapelberg und angepasst).
  8. optional: mit comagCreateDVD in das DVD-Format bringen. Dabei wird ein Menu hinzugefügt
    [edit (Jun 2010):] auch dafür gibt es inzwischen ein batch-Script, welches den Prozess automatisiert und die Dateien aus einer Liste einliest. Das Erstellen einer DVD dauert allerdings recht lange (4 Kern Athlon, 8GB Hauptspeicher, alle Kerne beschäftigt).
  9. [edit (Jul 2010):] Mein Mediaplayer kann mpgs nach stop fortsetzen, die DVD-Struktur nicht. Daher: Konvertierung in DVD nur noch, wenn die Kinder eine möchten, sonst eher h.264. Andererseits geht inzwischen das Konvertieren in eine DVD deutlich schneller - eigentlich klar, da nur Daten hin und her geschoben werden. Speicher kostet wenig, also vielleicht doch so :-)
  10. optional: test, ich verwende vlc /verzeichnisname
  11. optional: mit makedvd eine DVD brennen
  12. nicht mehr benötigte Dateien löschen, dieser Schritt vielleicht auch schon vorher
Ich gebe keine Gewähr. Löschen Sie Ihre Original-Dateien erst, wenn Sie sicher sind, dass alles geklappt hat. Vorsicht bei Sonderzeichen in den Film-Titeln / Dateinamen - das kann Probleme geben. Beispiel: ein Punkt im Dateinamen hat comagConvertBatch nicht gefallen. Per comagConvert hat man die Möglichkeit, einen anderen Verzeichnisnamen anzugeben. (Ich habe keine Lust alle Spezialfälle abzufangen.)

Probleme:
  1. Ich habe unter den bisher konvertierten Filmen (>100) 2 gehabt, bei denen der Ton nach dem Script fehlte. Ein schrittweises durchführen der einzelnen Schritte zeigte, dass sich die Dateien (video und audio) zwar per mplex zusammen führen ließen, dann aber der Ton weg war. Die Ursache ist mir natürlich unbekannt, da ich die Details nicht verstehe. Ein Workaround besteht darin, die in projectX alle ts-Dateien zu laden, zu schneiden, dann zu demuxen und die entstehenden Dateien dann zusammen zu fügen (mplex). Man sollte also die TS-Files behalten, bis man eine mpg Datei mit Ton hat.
  2. Ebenfalls selten gelingt die Konvertierung mit projectX nicht. Dann bietet sich zunächst eine Umwandlung der TS-Dateien mit ffmpeg an: ffmpeg -i REC.TS -target dvd rec0.mpg, dann die REC.01 ... analog. Die entstehenden mpg Dateien lassen sich dann mit projectX schneiden, es entstehen die m2v und die Audio-Dateien (ac3 und oder mp2). Die zusammen gehörenden werden mit mplex verbunden, hier ein Beispiel (bei dem evtl. die mp2 Daten nicht brauchbar waren):
    mplex -f 8 -o hairspray1.mpg rec1.m2v rec1.ac3
    mplex -f 8 -o hairspray2.mpg rec2.m2v rec2.ac3
    mplex -f 8 -o hairspray3.mpg rec3.m2v rec3.ac3
    cat hairspray1.mpg hairspray2.mpg hairspray3.mpg > hairspray.mpg
Nach dem prinzipiellen Vorgehen nun ein längeres Beispiel mit einem Verzeichnis. Hier wird auch die Bedienung der verschiedenen Programme / Scripte kurz erläutert, Details kann man ggf. den Quellcodes entnehmen.
  1. Die ersten Schritte: Aus den Dateien, die links aufgeführt sind, werden die Dateien rechts erzeugt Es handelt sich um einen Zeichentrickfilm, REC.TS REC.01 und REC.02 beinhalten die Daten des Films. Man sieht, dass auch ohne Schneiden die konvertierten Daten weniger Platz benötigen.

    hide
    in videoRawTS> du -sh REC_0011/* 4,0K REC_0011/META.DAT 2,1G REC_0011/REC.01 874M REC_0011/REC.02 4,0K REC_0011/REC.BM 4,0K REC_0011/REC.CP 2,1G REC_0011/REC.TS
    hide
    in videoConverted> du -sh Die\ Monster\ AG/* 8,0K Die Monster AG/Die Monster AG_log.txt 4,1G Die Monster AG/Die Monster AG.mpg 4,0K Die Monster AG/META.DAT 4,0K Die Monster AG/meta.txt 4,0K Die Monster AG/REC.BM 4,0K Die Monster AG/REC.CP

    Die Umwandlung wurde wie folgt gestartet:
      roemke@kspace9:/MediaNew/videoRawTS> comagConvertBatch REC_0011/
      ... das script erzählt ganz viel ...
      Start: Fr 14. Mai 11:57:23 CEST 2010
      Stop: Fr 14. Mai 12:03:42 CEST 2010
      
    Der Prozess hat also ca 6 Minuten in Anspruch genommen (AMD Phenom X4 940, 4 Kerne, 8 GB Speicher). Lässt man den Rechner im Hintergrund arbeiten, so hat man aus 20 Filmen also in knapp 2 Stunden mpg-Dateien erzeugt, die sich auf dem Rechner abspielen lassen. Geschnitten sind diese Filme noch nicht, dennoch wird weniger Platz gebraucht. Nachdem man überprüft hat, dass alle Filme konvertiert wurden kann man die Originaldateien löschen. Die vollständige Ausgabe des Scriptes ist etwas länger, daher erst mal ausgeblendet:
    show

    Das Original-Verzeichnis wird lediglich umbenannt und es wird die Datei meta.txt hinzugefügt. Außerdem entsteht ein neues Verzeichnis, der Inhalt ist oben angegeben.

    Neben der Umbenennung wurden die Meta-Daten extrahiert, diese finden sich nun in der Datei Meta.txt.

    hide
    cat meta.txt Name: Die Monster AG Startdatum: 2010-05-01 Sender Name (Byte-Folge Hex): Sat.1 (5c 44) Startzeit: 20:10:00 Dauer: 02:09:55

  2. An den Informationen aus meta.txt läßt sich ablesen, dass mit Werbung zu rechnen ist. Daher wird der Film geschnitten.
      roemke@kspace9:/MediaNew/videoConverted> projectxGUI Die\ Monster\ AG/Die\ Monster\ AG.mpg
    projectxGUI ist dabei ein "Miniatur-Shell-Script", welches projectx aufruft:
      #!/bin/bash
      java -jar /home/roemke/Infos/Linux/Multimedia/Project-X/ProjectX.jar -gui "$1"

    Zum Schneiden wechselt man auf den Tab Schnittsteuerung und sentzt die Schnittpunkte entsprechend. Hier reicht ein wenig spielen und / oder Anleitung lesen. Nachdem man alle Schnittpunkte gesetzt hat, klickt man links unter Prozess auf anpassen und wählt demultiplex. Danach dann ein Click auf den Play-Button im Anpassen-Fenster oder den Button Quickstart im Haupt-Fenster. Ton und Video werden so wieder synchronisiert. Es entsteht eine Videodatei und je nach Film eine Reihe von Tondateien.

    hide
    Die Monster AG> du -sh * 249M Die Monster AG.ac3 8,0K Die Monster AG_log.txt 2,4G Die Monster AG.m2v 125M Die Monster AG.mp2 4,1G Die Monster AG.mpg 4,0K META.DAT 4,0K meta.txt 4,0K REC.BM 4,0K REC.CP
  3. Wenn alles geklappt hat wird die Datei "Die Monster AG.mpg" nicht mehr benötigt, also rm Die\ Monster\ AG.mpg
    Wenn die Dateigröße der Videodatei zu groß ist, so kann sie mit dem requantWrapper angepasst werden. Hier ist dies nicht nötig, es passt alles auf eine DVD.
  4. Die Dateien wieder zusammen fassen:
    in Die Monster AG> mplex -f 8 -o Die\ Monster\ AG.mpg *m2v *ac3 *mp2
    Hat man mehrere mp2 Dateien, so ist evtl. die Reihenfolge wichtig, ich weiss es nicht. Das Ergebnis ist nun wieder eine mpg-Datei. Alles andere kann im Prinzip weg, ich behalte alle Dateien, die nicht allzuviel Platz benötigen. In der Liste habe ich die Dateien, die ich lösche mit einem * markiert, es sind die separaten Video und Audio-Dateien.
    hide
    Die Monster AG> du -sh * * 225M Die Monster AG.ac3 8,0K Die Monster AG_log.txt * 2,2G Die Monster AG.m2v * 113M Die Monster AG.mp2 2,6G Die Monster AG.mpg 4,0K META.DAT 4,0K meta.txt 4,0K REC.BM 4,0K REC.CP
    Nachdem die Dateien gelöscht wurden, verschiebe ich das gesamte Verzeichnis nach /MediaNew/videoCutDone. Dort können bleiben die Dateien i.d.R. liegen, bis ich die abschließende Umwandlung auf das DVD-Format vornehme und sie brenne. (Diese Schritte dauern etwas länger und sind nicht zwingend, man kann die mpg-Datei über einen Mediaplayer anschauen.)
  5. Kurz-Infos über die Aufnahme in eine Liste aufnehmen, entweder wie hier mit comagMetaCSV oder mit comagMetaCSVBatch.
       comagMetaCSV videoCutDone/Die\ Monster\ AG/META.DAT >> videoBurnedAndCataloged/videoList.csv
  6. Anschließend kann eine DVD erzeugt werden: comagCreateDVD Die\ Monster\ AG
    Auf einer DVD hat in der Regel ein Film Platz, manchmal auch zwei. Dann übergibt man an comagCreateDVD ein zweites Verzeichnis. Jeder Film bekommt eine Art animiertes Intro, ein Kurzfilm, s. die Abbildung unten und eine Szenen-Anwahl mit 9 (einstellbar) Szenen, von denen das erste Bild dargestellt ist.

    Die Ausgabe des Scripts, durch Kommentare ergänzt. Am Anfang sind ein paar Eingaben nötig, man wird abgefragt.

    show
  7. Test mit vlc /MediaNew/videoDvdCreation/Die\ Monster\ AG/
  8. Auf DVD brennen:
    makedvd -device /dev/dvdrw2 -burn -speed 8 "/MediaNew/videoDvdCreation/Die Monster AG"
    Die Angabe des Devices ist nötig, da ich noch einen alten Brenner im Rechner habe. Dieser sitzt auf dem "Standard" /dev/dvdrw
  9. Ein wenig Aufräumen. prinzipiell kann jetzt alles weg, ich behalte das Verzeichnis mit der meta.txt / meta.dat.

Karsten Römke (k Ponkt roemke at gmx in de), Rechtliches, Datenschutz, etc.
Rein private Seite, lediglich eine Spielerei
Last modified: 2010-05-13
Created: 2010-05-13
Reason: –
Home sweet home