Projectx

Aus Linupedia.org
Version vom 11. Juli 2008, 18:23 Uhr von Escho (Diskussion | Beiträge) (nähert sich dem Ende)
Wechseln zu: Navigation, Suche
Höhe=24px
Achtung dieser Artikel ist noch in Arbeit und dient vorläufig nur als Vorlage. Dieser Beitrag zu Linux oder der Abschnitt ist in Bearbeitung. Weitere Informationen findest du hier. Der Ersteller arbeitet an dem Beitrag oder Abschnitt und entsorgt den Wartungsbaustein spätestens 3 Tage nach der letzten Bearbeitung. Änderungen außer Rechtschreibkorrekturen ohne Absprache mit dem Urspungsautor sind möglichst zu vermeiden, solange dieser Baustein noch innerhalb der genannten Frist aktiviert ist.

ProjectX unter Linux! Wie das mit Opensuse geht, ist hier erläutert.

Die Eigenschaften von ProjectX

PJX ist ein Java-Programm, mit dem DVB-Streams demultiplext werden können.

Vorteile

  • Eingebaute Schnittmöglichkeit
  • Fehlerbereinigung des Streams beim Demultiplexen
  • Synchronisation von Audio und Video beim Demultiplexen
  • Mögliche Decodierung der Tonspur

Das könnte noch verbessert werden

  • Der Schnitt erfolgt leider nur an den I-Frames
  • Eine "Tonvorschau" wäre beim Schneiden, gerade von Videoclips, manchmal hilfreich
  • Die Bedienungsanleitung ist nicht einmal annäherungsweise aktuell

Versionen

Es gibts zwei Versionen von PJX, die Standardversion und die CVS-Version.

Standardversion

Stabile Basisversion des Tools. Aktuell ist zur Zeit "Project X 0.90.4.00 30.03.2006" (Stand Juni 2008)

CVS-Version

Diese Version gibt den aktuellen Entwicklungsstand des Programms wieder. Im Moment (Juni 2008) ist das "Project X 0.90.4.00.b23/17.02.2008".

Man kann die "b23" als Beta bezeichnen (die 23te). Sie bietet dennoch einige Vorteile, die eine Verwendung empfehlenswert erscheinen lassen:

  • Fehlerbereinigungen
  • Verbesserung der Bedienoberfläche
  • Neue Funktionen
  • Drastische Erhöhung der Verarbeitungsgeschwindigkeit

Download und Installation

Standardversion

Herunterladen

Das RPM ist im Packman-Repository enthalten. Ist es noch nicht geschehen, sollte dieses Repository als Online-Updatequelle in Yast hinzugefügt werden.

Installieren

Über Yast

CVS-Version

Für diese Version existieren keine RPMs, sie muß also selbst heruntergeladen und kompiliert werden

Herunterladen

Zum Herunterladen ist das Tool "CVS" erforderlich (Falls noch nicht vorhanden, vorher mit Yast installieren).

In einer Konsole wird danach folgender Befehl eingegeben:

cvs -z3 -d:pserver:anonymous@project-x.cvs.sourceforge.net:/cvsroot/project-x co -P Project-X

Dadurch wird im Heimatverzeichnis des Users ein Ordner mit dam Namen "Project-X" erstellt, in den die notwendigen Dateien aus dem CVS-Repository hineinkopiert werden.

Kompilieren

  • Ordner "Project-X" öffnen
  • Datei "build.sh" ausführbar machen
  • Eine Konsole öffnen und die Datei "build.sh" ausführen.

Dadurch wird die eigentliche Programmdatei "ProjectX.jar" erzeugt, die nun noch ausführbar gemacht werden muß.

Programmstart Standardversion

OpenSuse 10.3 (KDE 3.5.x)

Mit Hilfe des KDE-Startmenue's

OpenSuse 11.0 (KDE 3.5.x)

Mit Hilfe des KDE-Startmenue's

OpenSuse 11.0 (KDE 4.x)

Mit Hilfe des KDE-Startmenue's. Sollte es da Probleme geben, kann von Hand eine Desktop-Datei erstellt werden.

Programmstart CVS-Version

bequem

Durch Klicken auf das Icon der Desktop-Datei

nicht ganz so bequem

  • Wechseln in den Installationsordner von PJX.
  • Rechtsklick auf "ProjectX.jar"
  • Öffnen mit "java -jar"

Die Desktop-Datei

Um den Programmstart komfortabel zu gestalten, gerade bei der CVS-Version oder wenn's mit dem KDE-Startmenue nicht funktionieren will, kann eine Desktop-Datei erstellt werden. Durch Linksklicken auf diese Datei legt PJX dann los!

KDE 3.5.x

  • Rechtsklick auf die Arbeitsoberfläche
  • Neu erstellen -Verknüpfung zu Programm: Namen angeben, unter dem das Icon danach auf dem Bildschirm erscheinen soll (Beispiel: ProjectX_CVS)
  • Links auf das Zahnrad klicken, um ein Bild für das Icon auszuwählen
  • Den Reiter "Programm" auswählen und unter "Befehl" den Programmnamen mit vollständiger Pfadangabe eintragen (Beispiel: java -jar ~/Project-X/ProjectX.jar für die CVS-Version)
  • Einige Male auf OK drücken

KDE 4.x

  • Den Dateimanager (Dolphin) öffnen
  • Im persönlichen Ordner das Verzeichnis "Desktop" öffnen. Es öffnet sich ein Fenster.
  • Rechtsklick auf die Arbeitsfläche dieses Fensters
  • Neu erstellen -Verknüpfung zu Programm: Namen angeben, unter dem das Icon danach auf dem Bildschirm erscheinen soll (Beispiel: ProjectX_CVS)
  • Links auf das Zahnrad klicken, um ein Bild für das Icon auszuwählen
  • Den Reiter "Programm" auswählen und unter "Befehl" den Programmnamen mit vollständiger Pfadangabe eintragen (Beispiel: java -jar ~/Project-X/ProjectX.jar)
  • Einige Male auf OK drücken
  • Die Desktop-Datei auf die Arbeitsoberfläche von KDE 4,1 (Plasma) ziehen

Die Initialisierungsdatei X.ini

In dieser Datei werden PJX alle relevanten Einstellungen abgelegt, um beim nächsten Start wieder zur Verfügung zu stehen

Speicherort der X.ini ändern

Die Initialisierungdatei wird normalerweise im persönlichen Home-Ordner angelegt. Es kann aber auch ein anderer Ort festgelegt werden. und das geht so:

Beim Start über die Desktop-Datei

  • Rechtsklick auf Datei projectx.desktop
  • In den "Eigenschaften" den Reiter "Programm" anwählen
  • In das Feld "Arbeitsordner" den gewünschten zukünftigen Standort von X.ini eintragen (Beispiel: ~/Project-X)
  • OK drücken

Die Benutzeroberfläche (GUI) von ProjectX

Projectx.png
Dies ist die Oberfläche der CVS-Version (b23), auf die im Folgenden etwas näher eingegangen wird.

Arbeiten mit der GUI von PJX

An einigen Beispielen soll das Arbeiten mit der GUI von PJX erläutert werden. Und zwar nehme ich, weil sie mir so gefällt, die CVS-Version dazu:

Der erste Start

Startet man zum ersten Mal PJX, so wird man um Zustimmung zu der Linzenz gebeten, die mit "I agree" beantwortet werden kann. Danach steht die GUI zur Verfügung, allerdings auf Englisch.
Das ist schnell über das Menue umgestellt: Sprache - de

Drückt man nun im Menue auf "Einstellungen", so sieht man, daß standardmäßig angewählt ist, daß die getanen Einstellungen beim Verlassen von PJX gespeichert werden sollen (in der X.ini).
Das bedeutet, daß beim nächsten Starten das Programm nicht mehr nach der Linzenz fragt und gleich auf Deutsch zur Verfügung steht.

In der X.ini finden sich nun folgende Eintragungen:

# Project-X INI
# ProjectX 0.90.4.00.b23 / 17.02.2008

# Application
Application.Agreement=1
Application.Language=de

# WindowPosition
WindowPosition.Main.Height=670
WindowPosition.Main.Width=866
WindowPosition.Main.X=50
WindowPosition.Main.Y=50

Soweit alles klar! Oder?

Demultiplexen einer DVB-Aufnahme

Sehen wir uns als erstes einige Grundeinstellungen an:

Links oben ist ein Feld, das mit dem aussagekräftigen Namen "Prozess" beschrieben ist. In diesem Feld drücken wir den Schalter "anpassen.." Im nun erscheinenden Prozessfenster sehen wir, daß die Aktion "demultiplex" angekreuzt ist (Standard). Hier ist also für unser Vorhaben keine Änderung notwendig.

Hätten wir als Aktion (versehentlich) "zu TS" ausgewählt, würde jetzt (nach Beenden von PJX) in der Konfigurationsdatei zusätzlich folgender Eintrag erscheinen:

# MainPanel
MainPanel.ConversionMode=4

Korrigieren wir also das Versehen und machen den Haken wieder bei "demultiplex". Damit ändert sich auch der Absschnitt MainPanel in der X.ini:

# MainPanel
MainPanel.ConversionMode=0

Der Eintrag könnte in diesem Fall auch ganz aus der X.ini entfernt werden, da "demultiplex" ja sowieso Standard ist.

Wird es langsam klarer, wie das mit der X.ini funktioniert? Wir bleiben dran...

Als nächstes wollen wir die demuxten Daten nicht irgendwohin schreiben sondern in einen von uns vorgegebenen, existenten Zielordner (Zum Beispiel: ~/filme/dvd_tmp).

Also fügen wir rechts unten im Hauptfenster diesen Ordner zur Liste der Ausgabepfade hinzu und sehen, daß die X.ini neue Einträge hat:

Application.OutputDirectories.0=/home/meinName/filme/dvd_tmp
Application.OutputDirectory=/home/meinName/filme/dvd_tmp

Was bleibt noch zu tun? Ganz einfach: Der zu bearbeitende Film wird in die dateiliste eingetragen (Den Ordner-Icon mit dem grünen + drücken), auf Quickstart drücken, etwas warten und dann das Ergebnis in "~/filme/dvd_tmp" ansehen.

Schneiden einer DVB-Aufnahme

Wenn wir schon demultiplexen, können wir eigentlich auch gleich die Werbung aus dem Film entfernen:

Also, erstmal den Film laden. Wie das geht, haben wir vorhin herausgefunden. Dann drücken wir im Hauptfenster auf den Reiter "Schnittsteuerung".

Über die Navigation bzw. über den Laufbalken kann nun zum ersten Schnittpunkt gefahren werden (Beginn des ersten Werbeblocks). Der Schnittpunkt wird hinzugefügt über den Film-Icon mit dem grünen "+".
Weiter zum Ende der Werbung und dessen Schnittpunkt hinzugefügt und so weiter, bis alle Schnittpunkte festgelegt sind.

Auf dem Balken unter dem Vorschaubild sehen wir den Erfolg unserer Arbeit: Was grün ist, bleibt drin und das rote wird herausgeschnitten.

Zufrieden mit der Auswahl drücken wir auf "Quickstart" und der Film wird geschnitten, demultiplext und das Ergebnis nach "~/filme/dvd_tmp" geschrieben.

Den Ton beim demultiplexen decodieren

Manchmal benötigt man den Ton nicht als m2t-Datei, sondern als wav-file. Auch das kann beim demultiplexen erledigt werden. Dazu ist nur ein zusätzlicher Haken notwendig und zwar hier:

Einstellungen - Audio: "dekodiere MPEG Layer1,1 zu PCM".

Zur Information die X.ini dazu:

# Project-X INI
# ProjectX 0.90.4.00.b23 / 17.02.2008

# Application
Application.Agreement=1
Application.Language=de
Application.OutputDirectories.0=/home/meinName/filme/dvd_tmp
Application.OutputDirectory=/home/meinName/filme/dvd_tmp

# AudioPanel
AudioPanel.decodeMpgAudio=1

# WindowPosition
WindowPosition.Main.Height=670
WindowPosition.Main.Width=866
WindowPosition.Main.X=347
WindowPosition.Main.Y=0

ProjectX in einem Bash-Script

Das Ziel

Ich bin auf PJX gestosssen, als ich versuchte meine Fernsehaufnahmen auf DVD zu brennen. Und diese DVD sollte auch auf einem Stand-alone-player abspielbar sein. Dies soll unser Ziel sein.

Der Weg

Ein Weg, zu einer funktionsfähigen DVD zu gelangen, wäre, fertige Programme zu nehmen. Ich muß gestehen, kein Programm unter Linux gefunden zu habe, daß all das kann, was ich mir vorstelle.

Also habe ich den zweiter Weg eingeschlagen und mir selber ein Bash-Script gebastelt, welches meinen Anforderungen genügt. Und eine von diesen Anforderungen ist, die hervorragenden Eigenschaften von PJX nutzen zu können.

Das Ergebnis

Das fertige Script ist, zusammen mit einer ausführlichen Anleitung dazu, im dvb_wiki_script zu finden. In diesem Script wird PJX mit den nötigen Optionen über die Kommandozeile aufgerufen. Das wird durch das CL-Interface von PJX ermöglicht.
Sehen wir uns also einen Befehlsaufruf von PJX aus diesem Script etwas genauer an:

Arbeiten mit dem CL-Interface (Kommandozeile) von PJX

java -jar $pjx -demux -gui  -ini $x_ini -out $tmp_pfad -name film "$quelldatei"

Und hier die Erklärung dazu:

  • java -jar

Aufruf von Java (PJX ist ein Java_Programm)

  • $pjx

Pfad zur Datei ProjectX.jar

  • -demux

es wird demultiplext

  • -gui

Zusätzlich soll die Bedienoberfläche von PJX gestartet werden, vielleicht um Schneiden zu können.

  • $x_ini

In diesem Pfad befindet die Konfigurationsdatei X.ini

  • -out $tmp_pfad

In dieses Verzeichnis wird das Ergebnis gespeichert

  • -name film

Das Ergebnis bekpommt den Dateinamen "film"

  • $quelldatei

Datei, welche bearbeitet werden soll.

Die "Dinger" mit dem $ davor sind übrigens selbsterstellte Variablen. Sie stehen stellvertretend für ihren Inhalt. Ausgeschrieben könnte obiger Befehl also so aussehen:

java -jar /home/wo_ich_bin/Project-X/projectX.jar -demux -gui -ini /home/wo_ich_bin/Project-X/X.ini -out /filmbearbeitung/tmp -name film /filmbearbeitung/aufnahme/aufgenommener_film.m2t

Weitere Komandozeilen-Optionen

http://forum.dvbtechnics.info/showpost.php?p=10899&postcount=4


Zurück zur Multimedia-Übersicht