Projectx
Diese Beschreibung wurde mit folgenden Distributionen getestet: |
OpenSuse 10.3 (32Bit) mit KDE 3.5.x |
ProjectX unter Linux! Wie das mit OpenSuse geht, ist hier erläutert.
Inhaltsverzeichnis
- 1 Die Eigenschaften von ProjectX
- 2 Versionen
- 3 Download und Installation
- 4 Programmstart Standardversion
- 5 Programmstart CVS-Version
- 6 Die Desktop-Datei
- 7 Der erste Start von ProjectX
- 8 Arbeiten mit der GUI von PJX
- 9 Die Konfigurationsdatei X.ini
- 10 ProjectX und die Kommandozeile
- 11 Links
Die Eigenschaften von ProjectX
Was kann verarbeitet werden
PJX ist ein Java-Programm, mit dem DVB-Streams demultiplext werden können. Die Eigenschaften im Einzelnen können hier nachgelesen werden:
http://forum.dvbtechnics.info/showthread.php?t=422
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 März 2009)
CVS-Version
Diese Version gibt den aktuellen Entwicklungsstand des Programms wieder. Im Moment (März 20089) ist das "Project X 0.90.4.00.b29/13.02.2009".
Man kann die "b29" als Beta bezeichnen (die 29te). 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
Das Desktop-Verzeichnis (desktop-folder) kann nun auf die Arbeitsoberfläche (Plasma) gezogen werden. Wird dabei die Ordner-Ansicht gewählt, dann sieht man den Inhalt des Ordners auf der Arbeitsoberfläche und kann direkt auf die eben erstellte Desktop-Datei zugreifen.
Es ist übrigens nicht unbedingt notwendig, eine Desktop-Datei im Desktop-Ordner zu erzeugen. Es kann vielmehr ein beliebiger anderer Ordner dazu verwendet und auf die Arbeitsoberfläche gezogen werden.
Der erste Start von ProjectX
Zustimmung zur Lizenz
Nachdem PJX auf eine der oben genannten Arten gestartet wurde, erscheint zunächst die Bitte um Zustimmung zur Lizenz, die mit "I agree" beantwortet werden kann. Anschließend sehen wir die Benutzeroberfläche des Programms. Hier im Beispiel ist es die CVS-Version (b29).
Sprache ändern
Die Sprache ist per default auf Englisch eingestellt. Das läßt sich aber leicht ändern:
- Einstellungen - Sprache - de
Und schon ist es Deutsch
Speichern der Änderungen
ProjectX speichert Änderungen an den Einstellungen in einer Konfigurationsdatei. Diese Datei hat den Namen "X.ini" und wird, wenn nichts anderes vorgegeben ist, im persönlichen Ordner des Anwenders erzeugt. So erscheint zum Beispiel die Änderung der Sprache in dieser Datei.
PJX speichert die Einstellungen automatisch beim Verlassen des Programms. Der nächste Programmstart erfolgt dann mit den gespeicherten Einstellungen.
X.ini nach dem ersten Start
Nach den eben vorgenommenen Änderungen sieht die (sozusagen jungfräuliche) Konfigurationsdatei so aus:
# Project-X INI # ProjectX 0.90.4.00.b29 / 13.02.2009 # 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?
Arbeiten mit der GUI von PJX
An einigen Beispielen soll das Arbeiten mit der GUI von PJX erläutert werden.
Demultiplexen einer DVB-Aufnahme
Aktion Demultiplexen auswählen
Links oben in der GUI befindet sich ein Feld mit dem aussagekräftigen Namen "Prozess".
In diesem Feld wird der Schalter "anpassen.." gedrückt. Im nun erscheinenden Prozessfenster erkennt man, daß die Aktion "demultiplex" schon angekreuzt ist. Da braucht also nichts geändert werden.
Fester Zielordner
Es ist bestimmt keine schlechte Idee, das Bearbeitungsergebnis, also dnr demultiplexten Stream, in einemn vorgegebenen Zielordner zu speichern. (Zum Beispiel: ~/filme/dvd_tmp). Dazu wird rechts unten im Hauptfenster dieser Zielordner zur Liste der Ausgabepfade hinzugefügt.
Ist der Zielordner noch nicht vorhanden, muß er vorher angelegt werden.
Zu bearbeitende (DVB) Datei laden
Den DVB-Stream in die Dateiliste eingetragen. Dazu den Ordner-Icon mit dem grünen + drücken und das gewünscht File laden.
Bearbeitung starten
Den Button "Quickstart" drücken
Dazugehörige X.ini
# Project-X INI # ProjectX 0.90.4.00.b29 / 13.02.2009 # Application Application.ActiveDirectory=/home/ich Application.Agreement=1 Application.Language=de Application.OutputDirectories.0=/home/ich/filme/dvd_tmp Application.OutputDirectory=/home/ich/filme/dvd_tmp # WindowPosition WindowPosition.Main.Height=670 WindowPosition.Main.Width=866 WindowPosition.Main.X=50 WindowPosition.Main.Y=50
Schneiden einer DVB-Aufnahme
PJX bietet die Möglichkeit, einen Film an den I-Frames zu schneiden. Das hat den Vorteil, daß nur die Daten demultiplext werden, die auch tatsächlich weiter verarbeitet werden sollen. Und das geht so:
- Film laden (ist vorhin schon geschehen)
- Im Hauptfenster den Reiter "Schnittsteuerung" auswählen
- Über die Navigation bzw. den Laufbalken die gewünschten Schnittpunkte anfahren und hinzufügen (Icon mit dem grünen "+")
- Auf dem Balken unter dem Vorschaubild kann der Erfolg der Arbeit beobachtet werden: Was grün ist, bleibt drin und das Rote wird herausgeschnitten.
- Den Button "Quickstart" drücken
Da vorhin als Aktion "Demultiplexen" ausgewählt wurde, wird der Film nun geschnitten und demultiplext. Das Ergebnis findet sich in "~/filme/dvd_tmp".
Den Ton beim demultiplexen decodieren
Manchmal benötigt man den Ton nicht als m2t-Datei, sondern als wav-file. Das kann beim Demultiplexen gleich mit erledigt werden. Folgende zusätzliche Einstellung ist dazu notwendig:
Einstellung
- Einstellungen - Audio: "dekodiere MPEG Layer1,1 zu PCM".
Dazugehörige X.ini
# Project-X INI # ProjectX 0.90.4.00.b29 / 13.02.2009 # Application Application.ActiveDirectory=/home/ich Application.Agreement=1 Application.Language=de Application.OutputDirectories.0=/home/ich/filme/dvd_tmp Application.OutputDirectory=/home/ich/filme/dvd_tmp # AudioPanel AudioPanel.decodeMpgAudio=1 # WindowPosition WindowPosition.Main.Height=670 WindowPosition.Main.Width=866 WindowPosition.Main.X=50 WindowPosition.Main.Y=50
Die Konfigurationsdatei X.ini
Was ist das?
Das ist die Konfigurationsdatei von ProjectX. In ihr werden die Einstellungen gespeichert, mit denen das Programm gerade läuft. Für jede Einstellung existiert ein dazugehöriger Eintrag in der "X.ini" (und das sind viele!). Angezeigt werden nur solche Einstellungen, die von den Standardeinstellungen abweichen, bzw. die bereits einmal geändert worden sind.
Wann wird gespeichert?
Die aktuellen Einstellungen der GUI werden beim Verlassen von PJX in die "X.ini" geschrieben.
Kann das automatische Speichern abgeschalten werden?
Ja, es kann. Und es kann durchaus sinnvoll sein, nicht zu speichern.
ProjectX bietet eine Menge Knöpfe, die gedrückt, und noch mehr Häckchen, die gesetzt oder weggenommen werden können. Wenn man weiß, was mit diesen Häckchen bewirkt wird, ist das kein Problem. Weiß man es nicht, sind Schwierigkeiten vorprogrammiert. Beendet man nämlich das Programm, wird der aktuelle Stand gespeichert, auch wenn er nicht funktioniert. Und der Weg zurück kann ein langer Weg sein, wenn man sich die einzelnen Schritte des Hinweges nicht eingeprägt hat.
Folgende Möglichkeiten gibt es, das Speichern abzuschalten:
über die GUI
- Einstellungen - Einstellungen beim Beenden speichrn: Den Haken wegmachen
- Einstellungen - Einstellungen - Datei - speichern unter: Den Pfad zur aktuellen "X.ini" eintragen
- OK drücken
durch Editieren der X.ini
- PJX beenden
- "X.ini" mit einem Testeditor ändern
- Folgenden Eintrag hinzufügen: Application.SaveSettingsOnExit=0
- Änderungen im Editor speichern
Speicherort der X.ini ändern
Die Initialisierungdatei wird im Arbeitsordner des Programms abgelegt und das ist ohne weitere Angeben das Heimatverzeichnis des Benutzers. Wird ProjectX über eine Desktop-Datei gestartet, so kann in dieser Desktop-Datei ein anderes Arbeitsverzeichnis für PJX festgelegt werden:
- 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: ~/PJX_demux)
- OK drücken
So lassen sich also mit Hilfe verschiedener Desktop-Dateien unterschiedliche Arbeitordner für PJX einstellen. In jedem dieser Arbeitsordner befindet sich dann, wenn man es schlau anstellt, eine "X.ini" mit genau den Einstellungen, die man wünscht.
ProjectX und die Kommandozeile
PJX kann über über die Kommandozeile, das sogenannte CL-Interface bedient werden. Durch diese Möglichkeit kann das Programm auch in einem Bash-Script verwendet werden. Folgender Programmaufruf soll als Beispiel dienen. Er stammt aus einem von mit erstellten Script zur DVB-Weiterverarbeitung, das hier nachgelesen werden kann:
Vom DVB zur DVD, ein Wikibuch
Befehl
java -jar $pjx -demux -gui -ini $x_ini -out $tmp_pfad -name film "$quelldatei"
Erläuterung
- 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 bekommt 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.
Kompletter Befehlsaufruf
Ausgeschrieben könnte obiger Befehl also so aussehen:
java -jar /home/ich/Project-X/projectX.jar -demux -gui -ini /home/ich/Project-X/X.ini -out /home/ich/filme/dvd_tmp -name film /home/ich/filme/dvd_aufnahme/xyz.m2t
Komandozeilen-Optionen
Hier kann nachgelesen werden, mit welchen Argumenten PJX über das CLI aufgerufen werden kann:
http://forum.dvbtechnics.info/showpost.php?p=10899&postcount=4
Ab der CVS-Version b28 gibt es die Option -set. Damit läßt sich alles, was in der X.ini konfiguriert werden kann, auch über die Kommandozeile steuern. Ein Beispiel:
java -jar ~/Project-X/ProjectX.jar -set OptionPanel.NormalLog=0
Beim Start von PJX wird die Anweisung übergeben, daß keine Log-Datei mitgeschrieben wird.
Links
Vom DVB zur DVD, ein Wikibuch
Projectx oder vom DVB zur DVD part 2
http://forum.dvbtechnics.info/showthread.php?t=422
http://forum.dvbtechnics.info/showpost.php?p=10899&postcount=4