DVB-Streams dekodieren und schneiden

Aus LinuxUser 12/2010

DVB-Streams dekodieren und schneiden

© Cosmicwar, sxc.hu

Schnittstelle

Project X erlaubt es, schnell und komfortabel Datenströme, wie zum Beispiel von DVB-T Empfängern, weiter zu bearbeiten.

Die Sender von Videodaten mischen verschiedene Arten von Informationen zu einem Datenstrom, dem sogenannten Stream, was landläufig Multiplexen heißt. Bei DVB-T-Streams finden sich dort neben Video- und Audio-Daten auch noch diverse Metadaten und eventuell Untertitel.

Beim Empfänger nimmt der Hardware-Decoder diesen Stream auseinander und verarbeitet die Daten getrennt weiter. Das Java-Programm Project X dient zum Demuxen von MPEG-2-Streams, wie sie bei DVB zum Einsatz kommen. Ursprünglich für DVB-T-Datenströme entwickelt, liest und schreibt das Werkzeug heute auch VDR-Daten und weitere Formate.

Wie ein Decoder wertet Project X [1] die Metadaten aus, trennt damit die Datenströme in die entsprechenden Komponenten auf, überprüft dabei die Daten und synchronisiert sie. Das erlaubt dem Anwender weitgehende Manipulationen der Daten, beispielsweise das Konvertieren in die Formate Linux VDR [2], M2P, PVA (Packet Video Audio [3]) und TS (Transport Stream) sowie das Schneiden des Materials oder das Austauschen von Untertiteln. Die Applikation unterstützt dabei die im Kasten “Streamformate” genannten Stream-Typen.

Streamformate

Project X unterstützt die folgenden Streamformate:

  • DVB MPEG-2 Transport Stream (DVB MPEG2 TS), MPTS (Multiple Program Transport Stream)
  • Packet Video Audio (PVA, PSV, PSA, PAV)
  • MPEG Program Stream (MPEG1/2 PS)
  • Linux Video Disc Recorder (Linux VDR)
  • Packetized Elementary Stream (PES RAW Streams)
  • Elementary Stream (ES Streams)

In der Praxis

Unter vielen Distributionen, darunter auch Ubuntu, installieren Sie Project X aus den Repositories und binden einen entsprechenden Programmstarter gleich ins Menü ein – in der Regel in der Rubrik Unterhaltungsmedien. Wählen Sie ihm an, startet Project X direkt in die grafische Oberfläche (Abbildung 1).

Abbildung 1: Die Programmoberfläche zeigt sich überfrachtet und etwas sperrig.

Abbildung 1: Die Programmoberfläche zeigt sich überfrachtet und etwas sperrig.

Alternativ rufen Sie das Programm mit java -jar ProjectX auf der Befehlszeile auf und können dann Argumente mit übergeben. Die wichtigsten Kommandozeilenparameter fasst die Tabelle “Befehlszeilenoptionen” zusammen. Diese Variante beschleunigt das Bearbeiten für erfahrene Anwender, da Sie so beispielsweise fertige Schnittmarkendateien automatisch auf (mehrere) Videodatenströme anwenden.

Befehlszeilenoptionen

Option Funktion
-ini Datei verwendet die angegebene Konfigurationsdatei
-saveini speichert die aktuelle Konfigurationsdatei beim Beenden
-out Verzeichnis setzt das Ausgabeverzeichnis
-name Datei definiert den Namen der Ausgabedatei
-cut Datei verwendet die angegebene Schnittmarkendatei
-split MB trennt die Ausgabedatei bei der angegebenen Größe
-chp Datei verwendet die angegebene Kapitellistendatei
-gui startet die Oberfläche
Aktionen
-demux startet das Demuxen
-tom2p wandelt Collection nach M2P um
-topva wandelt Collection nach VA um
-tovdr wandelt Collection nach VDR um
-tots wandelt Collection nach TS um
-filter startet einen Filter (als externes Programm)

Im Folgenden kommt die GUI-Variante in der Version 0.90.4.00 zum Einsatz, wie sie sich in den Repositories vieler Distributionen findet. Die jeweils neueste Version holen Sie bei Sourceforge [4] ab.

Bedienkonzept

Project X arbeitet in den meisten Fällen nach folgendem Prinzip: Datenströme gelangen zunächst in Form von Dateien über einen Import in die Applikation. Das erledigen Sie über einen mit einem Pluszeichen gekennzeichneten Button unten an der linken Seite neben der Dateiliste. Dann wählen Sie anhand der Optionen aus, wie Sie diese Daten bearbeiten wollen, also sie etwa schneiden oder in ein anderes Ausgabeformat exportieren. Das Programm fasst auf Wunsch mehrere Datenströme – etwa einen in mehreren Dateien vorliegenden Videofilm – zu einer “Collection” zusammen und bearbeitet die Daten als einen Datenstrom.

Den Mittelteil des Hauptfensters nimmt das Vorschaufenster ein. Kurioserweise erlaubt es die Anwendung nicht, die Größe des Fensters zu verstellen, so dass der Eindruck bleibt, dass Sie auf eine bewegliche Briefmarkensammlung schauen. Auch sollten eigentlich deutsche Sprachanpassungen bereit stehen, unter Linux Mint ließen diese sich allerdings nicht aktivieren.

Die linke Seite des Hauptfensters umfasst neben dem Memory Monitor unter Process eine Art Assistenten und Schnellstarter. QuickS… führt die eingestellte Aktion sofort aus (Abbildung 2). Welche das ist, stellen Sie unter prepar… zuvor ein oder verwenden die zuletzt gemachten Einstellungen erneut.

Abbildung 2: Schnellstarter erlauben den direkten Zugriff auf eine definierte Aktion. Beim Bearbeiten zeigt die Software alle auftretenden Meldungen gleich an.

Abbildung 2: Schnellstarter erlauben den direkten Zugriff auf eine definierte Aktion. Beim Bearbeiten zeigt die Software alle auftretenden Meldungen gleich an.

Das darunter angeordnete Collection-Fenster fasst Informationen zum aktuellen Datenstrom zusammen. Die mit einem Plus- beziehungsweise Minus-Zeichen markierten Schalter fügen neue Sammlungen hinzu respektive löschen Daten von der Arbeitsliste. Welche Collection die Software gerade bearbeitet und anzeigt, steht hinter coll. #.

Den unteren Bereich des Hauptfensters nimmt die Dateiliste ein. Sie zeigt die zu einer Collection gehörenden Dateien. Der Plus-Schalter fügt eine weitere Datei hinzu, der Minus-Schalter entfernt die in der Liste ausgewählte Datei. Die Pfeile erlauben, deren Reihenfolge innerhalb der Collection zu verändern (im File-Menü stehen die gleichen Möglichkeiten bereit). In diesem Bereich können Sie auch das Ausgabeverzeichnis einstellen.

Der Bereich rechts neben dem Hauptfenster (Various) enthält diverse Optionen in zwei Reitern. Bei langsamen Rechnern empfiehlt es sich, im ersten Reiter (Settings) die Vorschau über disable preview abzuschalten. Bei schnelleren PC dagegen stellt das automatisches Aktualisieren der Vorschau (live update while scrolling) kein Problem dar. H-Resol. legt die horizontale Auflösung fest, DAR das Seitenverhältnis. Mit der rechten Maustaste im Vorschaufenster lässt sich das gerade angezeigte Bild im BMP-Format abspeichern.

Direkt unter diesem Bereich gibt es die Möglichkeit, Schnittmarken zu setzen. Das kann hier mittels einer (vorab oder manuell erstellten) Datei geschehen. Voreingestellt verwendet Project X die Byte-Position im Stream. Die Maßeinheit lässt sich aber auf Frames oder Timecodes umstellen. Ein Schnittdatei hat für die Byte-Position die in Listing 1 gezeigte Form. Project X erstellt derartige Dateien im Hintergrund automatisch. Über save cutpoints to file speichern Sie diese in einem File mit dem Suffix xcl ab. Mit load cutpoints from file lesen die Dateien später wieder ein.

Listing 1

CollectionPanel.CutMode=0
116748
10424036
20449888
25275660
33356276
45892492
81537856
83876764

… und Schnitt!

Neben dem Zerlegen eines DVB-T-Streams beziehungsweise dem Umwandeln in ein anderes Format stellt der Videoschnitt die wohl am häufigsten genutzte Funktion von Project X dar. In den meisten Fällen nehmen Sie die Schnitte manuell vor. Dazu gibt es unmittelbar unterhalb des Vorschaufensters einen horizontalen Schieberegler, der durch die gesamte Collection scrollt und so die relevanten Passagen findet (Abbildung 3). Dort gibt es auch die Möglichkeit, Schnittmarken anzubringen. Dies geschieht ganz intuitiv über die unterhalb des Reglers vorhandenen Schalter mit den Plus- und Minus-Zeichen.

Abbildung 3: Über den horizontalen Schieberegler scrollen Sie im Stream, über die Schalter mit den Plus- und Minus-Zeichen setzen Sie die Schnittmarken.

Abbildung 3: Über den horizontalen Schieberegler scrollen Sie im Stream, über die Schalter mit den Plus- und Minus-Zeichen setzen Sie die Schnittmarken.

Nachdem Sie so alle relevanten Teile des Streams markiert haben – Project X markiert im Balken unterhalb der Vorschau die später noch vorhandenen Teile grün, die gelöschten rot – nehmen Sie den Schnitt direkt mit QuickS… vor oder speichern zunächst die Schnittmarken in einer Datei. Das geschieht mit dem erwähnten Schalter. Der Schnitt beinhaltet immer auch ein Umwandeln und benötigt daher einige Zeit. Was Project X gerade macht, erfahren Sie über die Statuszeile ganz links am unteren Rand.

Feintuning

Die ganze Leistungsfähigkeit von Project X zeigt sich erst nach einem Blick auf die Optionen im Fenster PreSettings (Abbildung 4), das Sie mittels [Strg]+[S] oder den entsprechenden Menüpunkt im Prozessfenster öffnen. Die neun Reiter liefern eine trotz der großen Menge an Möglichkeiten relativ übersichtliche Auswahl zum Manipulieren der Daten. Eine ausführliche Aufstellung der Optionen bieten die Foren [5] und die FAQ [6] des Projekts.

"Abbildung

Fazit

Project X ist im Grunde eine einfache Software, mit der Sie relativ schnell Bild- oder Tonspuren von DVB-T-Streams extrahieren und Schnitte vornehmen. Um das wirkliche Potenzial des Programms auszunutzen, benötigen Sie allerdings grundlegende Kenntnisse der Datenformate und der Zusammenhänge zwischen den Datenströmen. Durch den Einsatz von Java als Programmiersprache läuft das Programm auf allen Plattformen.

Glossar

Demuxen
Ein Kunstwort für das De-Multiplexen, also das Auftrennen der zusammengeführten Daten.
LinuxUser 12/2010 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

3 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Paul G.
15 Jahre her

Vor ca. 6-7 Jahren habe ich mit Project X u.ä. angefangen. Auf heutigen FullHD-LCDs bietet DVB-T eine eher bescheidene Qualität, SD bei moderater Bitrate…

Über Kabel und Sat (und bald wohl auch terrestrisch) empfängt man heute HDTV (in AVC, nicht MPEG-2). Project X kann damit aber nichts mehr anfangen.

Wäre schön gewesen über aktuelle Formate und Software zu lesen.

commander data
15 Jahre her
Reply to  Paul G.

…kann ich nur bestätigen. Aber es sei angemerkt, dass ProjektX nach wie vor für MPEG2-Streams eines der besten Tools ist.

Wenn wir schon mal dabei sind. Gibt es was vernünftiges um h264-ts zu schneiden. alles was ich bis jetzt so hatte, kann meistens nur ein Trim am Anfang und am Ende, aber zwischendurch was rausschneiden und den rest zusammenfügen leider nicht.

Also hier ist noch großer Nachholbedarf, oder ich habe das ein oder andere Proggi übersehen.

Paul G.
15 Jahre her
Reply to  commander data

Momentan ist es wegen Mangel an passender Software wirklich nicht ganz einfach. Die Übertragungsformate einzelner Sender weichen teilweise auch etwas voneinander ab. Bei manchen funktioniert der Weg über tsMuxeR zum Säubern der Streams und Avidemux zum (temporären) Multiplexen in eine AVI-Datei. Diese kann man dann mit VirtualDub (läuft ja super unter Wine) Frame-genau und ohne Neukodierung schneiden. Das Problem ist nur, dass ffdshow mit der Preview immer einige Frames danebenliegt, d.h. es ist außerdem ein parallel zur Vorschau laufender Player (etwa Totem) nötig, um auch wirklich die richtige Schnittmarke zu erwischen. Danach kann man dann die geschnittenen Streams z.B. in… Mehr »

Nach oben