Projectx: Unterschied zwischen den Versionen

Aus Linupedia.org
Wechseln zu: Navigation, Suche
(und etwas mehr)
K (Noch nen Link zum Verschönern gefunden)
 
(31 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
+
{{Box Test||
{{UnderConstruction}}
+
OpenSuse 10.3 (32Bit) mit KDE 3.5.x <br>
ProjectX unter Linux! Wie das mit Opensuse geht, ist hier erläutert.
+
OpenSuse 11.0 (32Bit) mit KDE 4.0, 4.1 <br>
 +
OpenSuse 11.1 (32Bit) mit KDE 4.2 <br>
 +
OpenSuse 11.2 (32Bit) mit KDE 4.3, 4.4 <br>
 +
OpenSuse 11.3 (32Bit) mit KDE 4.5 <br>
 +
OpenSuse 13.1 (64Bit) mit KDE 4.11
 +
}}
  
==<font color="green"> Die Eigenschaften von ProjectX </font>==
+
{{blau|
 +
ProjectX unter Linux! Wie das mit OpenSuse geht, ist hier erläutert.
 +
}}
  
PJX ist ein Java-Programm, mit dem DVB-Streams demultiplext werden können.
+
==<font color="maroon"> Die Eigenschaften von ProjectX </font>==
  
===<font color="olive"> Vorteile </font>===
+
=== 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:<br>
 +
[http://forum.dvbtechnics.info/showthread.php?t=422 Einige Erläuterungen zu Project X von dvb.matt (Autor Project X)]
 +
 
 +
=== Vorteile ===
  
 
*Eingebaute Schnittmöglichkeit
 
*Eingebaute Schnittmöglichkeit
Zeile 14: Zeile 26:
 
*Mögliche Decodierung der Tonspur
 
*Mögliche Decodierung der Tonspur
  
===<font color="olive"> Das könnte noch verbessert werden </font>===
+
=== Das könnte noch verbessert werden ===
  
 
*Der Schnitt erfolgt leider nur an den I-Frames
 
*Der Schnitt erfolgt leider nur an den I-Frames
Zeile 20: Zeile 32:
 
*Die Bedienungsanleitung ist nicht einmal annäherungsweise aktuell
 
*Die Bedienungsanleitung ist nicht einmal annäherungsweise aktuell
  
==<font color="green"> Versionen </font>==
+
==<font color="maroon"> Versionen </font>==
  
 
Es gibts zwei Versionen von PJX, die Standardversion und die CVS-Version.
 
Es gibts zwei Versionen von PJX, die Standardversion und die CVS-Version.
  
===<font color="olive"> Standardversion </font>===
+
=== Standardversion ===
 
 
Stabile Basisversion des Tools. Aktuell ist zur Zeit "Project X 0.90.4.00 30.03.2006" (Stand Juni 2008)
 
  
===<font color="olive"> CVS-Version </font>===
+
Stabile Basisversion des Tools. Aktuell ist zur Zeit "Project X Version 0.91.0.00" (Stand April 2014)<br>
  
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".
+
=== CVS-Version ===
  
Man kann die "b23" als Beta bezeichnen (die 23te). Sie bietet dennoch einige Vorteile, die eine Verwendung empfehlenswert erscheinen lassen:
+
Diese Version gibt den aktuellen Entwicklungsstand des Programms wieder. Im Moment (April 2014) ist das "Project X Version 0.91.0.10/07.02.2014".
*Fehlerbereinigungen
 
*Verbesserung der Bedienoberfläche
 
*Neue Funktionen
 
*Drastische Erhöhung der Verarbeitungsgeschwindigkeit
 
  
==<font color="green"> Download und Installation </font>==
+
==<font color="maroon"> Download und Installation </font>==
  
===<font color="olive"> Standardversion </font>===
+
=== Standardversion ===
  
==== Herunterladen ====
+
====<font color="gray"> Herunterladen </font>====
  
 
Das RPM ist im Packman-Repository enthalten. Ist es noch nicht geschehen, sollte dieses Repository als Online-Updatequelle in Yast hinzugefügt werden.
 
Das RPM ist im Packman-Repository enthalten. Ist es noch nicht geschehen, sollte dieses Repository als Online-Updatequelle in Yast hinzugefügt werden.
  
==== Installieren ====
+
====<font color="gray"> Installieren </font>====
  
 
Über Yast
 
Über Yast
  
===<font color="olive"> CVS-Version </font>===
+
=== CVS-Version ===
  
 
Für diese Version existieren keine RPMs, sie muß also selbst heruntergeladen und kompiliert werden
 
Für diese Version existieren keine RPMs, sie muß also selbst heruntergeladen und kompiliert werden
  
==== Herunterladen ====
+
====<font color="gray"> Herunterladen </font>====
  
 
Zum Herunterladen ist das Tool "CVS" erforderlich (Falls noch nicht vorhanden, vorher mit Yast installieren).
 
Zum Herunterladen ist das Tool "CVS" erforderlich (Falls noch nicht vorhanden, vorher mit Yast installieren).
Zeile 60: Zeile 66:
 
In einer Konsole wird danach folgender Befehl eingegeben:
 
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
 
  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.
+
Dadurch wird im Heimatverzeichnis des Users ein Ordner mit dam Namen "Project-X" erstellt, der die notwendigen Dateien aus dem CVS-Repository enthält.
  
==== Kompilieren ====
+
====<font color="gray"> Kompilieren </font>====
  
*Ordner "Project-X" öffnen
+
Folgende Anweisung in eine Konsole hacken, um in den Installationsordner zu kommen:
*Datei "build.sh" ausführbar machen
+
cd ~/Project-X
*Eine Konsole öffnen und die Datei "build.sh" ausführen.
+
Hiermit die Installation durchführen:
Dadurch wird die eigentliche Programmdatei "ProjectX.jar" erzeugt, die nun noch ausführbar gemacht werden muß.
+
sh build.sh
 +
Damit befindet sich nun im Installationsordner die eigentliche Programmdatei von PJX.
  
==<font color="green"> Programmstart Standardversion </font>==
+
==<font color="maroon"> Programmstart Standardversion </font>==
  
===<font color="olive"> OpenSuse 10.3 (KDE 3.5.x) </font>===
+
=== OpenSuse 10.3 (KDE 3.5.x) ===
  
 
Mit Hilfe des KDE-Startmenue's
 
Mit Hilfe des KDE-Startmenue's
  
===<font color="olive"> OpenSuse 11.0 (KDE 3.5.x) </font>===
+
=== OpenSuse 11.0 (KDE 3.5.x) ===
  
 
Mit Hilfe des KDE-Startmenue's
 
Mit Hilfe des KDE-Startmenue's
  
===<font color="olive"> OpenSuse 11.0 (KDE 4.x) </font>===
+
=== OpenSuse 11.x (KDE 4.x) ===
  
Mit Hilfe des KDE-Startmenue's. Sollte es da Probleme geben, kann von Hand eine Desktop-Datei erstellt werden.
+
Mit Hilfe des KDE-Startmenue's. Sollte es da Probleme geben, kann zum Starten eine Desktop-Datei erstellt werden (wie, das ist weiter unter erklärt).
  
==<font color="green"> Programmstart CVS-Version </font>==
+
==<font color="maroon"> Programmstart CVS-Version </font>==
  
===<font color="olive"> bequem </font>===
+
=== bequem ===
  
Durch Klicken auf das Icon der Desktop-Datei
+
Durch Klicken auf das Icon der Desktop-Datei.<br>
 +
Die Desktop-Datei befindet sich im Installationsordner von PJX und kann an einen beliebigen Ort, zum Beispiel auf den Desktop kopiert werden. Dabei ist zu beachten, daß in den Eigenschaften der Desktop-Datei im Reiter ''Programm '' der Startbefehl den korrekten Pfad bekommt (siehe ein paar Zeilen weiter unten im Abschnitt ''Die Desktop-Datei'').
  
===<font color="olive"> nicht ganz so bequem </font>===
+
=== nicht ganz so bequem ===
  
 
*Wechseln in den Installationsordner von PJX.
 
*Wechseln in den Installationsordner von PJX.
Zeile 95: Zeile 103:
 
*Öffnen mit "java -jar"
 
*Öffnen mit "java -jar"
  
==<font color="green"> Die Desktop-Datei </font>==
+
==<font color="maroon"> Die Desktop-Datei </font>==
  
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
+
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 bzw. angepasst werden. Durch Linksklicken auf diese Datei legt PJX dann los!
werden. Durch Linksklicken auf diese Datei legt PJX dann los!
 
  
===<font color="olive"> KDE 3.5.x </font>===
+
=== KDE 3.5.x ===
  
 
*Rechtsklick auf die Arbeitsoberfläche
 
*Rechtsklick auf die Arbeitsoberfläche
Zeile 108: Zeile 115:
 
*Einige Male auf OK drücken
 
*Einige Male auf OK drücken
  
===<font color="olive"> KDE 4.x </font>===
+
=== KDE 4.x ===
  
 
*Den Dateimanager (Dolphin) öffnen
 
*Den Dateimanager (Dolphin) öffnen
Zeile 117: Zeile 124:
 
*Den Reiter "Programm" auswählen und unter "Befehl" den Programmnamen mit vollständiger Pfadangabe eintragen (Beispiel: java -jar ~/Project-X/ProjectX.jar)
 
*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
 
*Einige Male auf OK drücken
*Die Desktop-Datei auf die Arbeitsoberfläche von KDE 4,1 (Plasma) ziehen
 
  
==<font color="green"> Die Initialisierungsdatei X.ini </font>==
+
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.
  
In dieser Datei werden PJX alle relevanten Einstellungen abgelegt, um beim nächsten Start wieder zur Verfügung zu stehen
+
Hier habe ich den Umgang mit Desktop-Dateien in KDE4 genauer beschrieben: [[K-Menü und die Desktop-Dateien]]
  
===<font color="olive"> Speicherort der X.ini ändern </font>===
+
==<font color="maroon"> Der erste Start von ProjectX </font>==
  
Die Initialisierungdatei wird normalerweise im persönlichen Home-Ordner angelegt. Es kann aber auch ein anderer Ort festgelegt werden. und das geht so:
+
=== Zustimmung zur Lizenz ===
 +
[[bild:projectx.png|thumb|right|Bedienoberfläche von ProjectX]]
  
==== Beim Start über die Desktop-Datei ====
+
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).
  
*Rechtsklick auf Datei projectx.desktop
+
=== Sprache ändern ===
*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
 
  
==<font color="green"> Die Benutzeroberfläche (GUI) von ProjectX </font>==
+
Die Sprache ist per default auf Englisch eingestellt. Das läßt sich aber leicht ändern:
[[bild:projectx.png]]
+
*Einstellungen - Sprache - de
<br>
+
Und schon ist es Deutsch
Dies ist die Oberfläche der CVS-Version (b23), auf die im Folgenden etwas näher eingegangen wird.
 
  
==<font color="green"> Arbeiten mit der GUI von PJX </font>==
+
=== Speichern der Änderungen ===
  
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:
+
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.
  
===<font color="olive"> Der erste Start </font>===
+
PJX speichert die Einstellungen automatisch beim Verlassen des Programms. Der nächste Programmstart erfolgt dann mit den gespeicherten Einstellungen.
  
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
+
=== X.ini nach dem ersten Start ===
auf Englisch.<br>
 
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
+
Nach den eben vorgenommenen Änderungen sieht die (sozusagen jungfräuliche) Konfigurationsdatei so aus:
(in der X.ini).<br>
 
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:
 
 
<pre>
 
<pre>
 
# Project-X INI
 
# Project-X INI
# ProjectX 0.90.4.00.b23 / 17.02.2008
+
# ProjectX 0.90.4.00.b32
  
 
# Application
 
# Application
Zeile 171: Zeile 171:
 
Soweit alles klar! Oder?
 
Soweit alles klar! Oder?
  
===<font color="olive"> Demultiplexen einer DVB-Aufnahme </font>===
+
==<font color="maroon"> Arbeiten mit der GUI von PJX </font>==
 +
 
 +
An einigen Beispielen soll das Arbeiten mit der GUI von PJX erläutert werden.
 +
 
 +
=== Demultiplexen einer DVB-Aufnahme ===
 +
 
 +
====<font color="gray"> Aktion Demultiplexen auswählen </font>====
 +
 
 +
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.
 +
 
 +
====<font color="gray"> Fester Zielordner </font>====
 +
 
 +
Es ist bestimmt keine schlechte Idee, das Bearbeitungsergebnis, also den demultiplexten Stream, in einem vorgegebenen Zielordner zu speichern. (Zum Beispiel: ~/filme/dvd_tmp). Dazu wird rechts unten im Hauptfenster dieser Zielordner zur Liste der Ausgabepfade hinzugefügt (zu finden unter dem Reiter "Dateiliste").
 +
 
 +
Ist der Zielordner noch nicht vorhanden, muß er vorher angelegt werden.
  
Sehen wir uns als erstes einige Grundeinstellungen an:
+
====<font color="gray"> Zu bearbeitende (DVB) Datei laden </font>====
  
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
+
Den DVB-Stream in die Dateiliste eingetragen. Dazu den Ordner-Icon mit dem grünen + drücken und das gewünscht File laden.
sehen wir das als Standard die Aktion "demultiplex" schon ausgewählt (mit einem Haken versehen) ist. Da ist also keine Änderung notwendig, das können wir so lassen.
 
  
In der X.ini wird sich nichts geändert haben. sie ist noch so frisch, wie nach dem ersten Start.
+
====<font color="gray"> Bearbeitung starten </font>====
 +
 
 +
Den Button "Quickstart" drücken
 +
 
 +
====<font color="gray"> Dazugehörige X.ini </font>====
  
Hätten wir als Aktion aber "zu TS" ausgewählt, würde jetzt (nach Beenden von PJX) in der Konfigurationsdatei zusätzlich folgender Eintrag erscheinen:
 
 
<pre>
 
<pre>
# MainPanel
+
# Project-X INI
MainPanel.ConversionMode=4
+
# ProjectX 0.90.4.00.b32
 +
 
 +
# 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
 
</pre>
 
</pre>
  
Hätten wir nun bemerkt, daß wir uns nur vertippt haben, und hätten wir den Haken wieder bei "demultiplex" gemacht, so würde in unserer X.ini aus dem Eintrag
+
=== Schneiden einer DVB-Aufnahme ===
MainPanel.ConversionMode=4 ein MainPanel.ConversionMode=0 geworden sein. Alternativ hätten wir natürlich in der X.ini diesen Eintrag auch löschen können, denn "demultiplexen" ist ja sowieso die Standardeinstellung.
 
  
Wird es langsam klarer, wie das mit der X.ini funktioniert? Wir bleiben dran...
+
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:
  
Als nächstes wollen wir die demuxten Daten nicht irgendwohin schreiben sondern in einen klar definierten Zielordner (Ich nehme mal: ~/filme/dvd_tmp). Dieser Oedner sollte natürlich zuerst angelegt werden. Sonst kann man ja nichts hineinschreiben, wenn es ihn nicht gibt.
+
====<font color="gray"> Der Weg </font>====
 +
 
 +
*Film laden
 +
*Im Hauptfenster den Reiter "Schnittsteuerung" auswählen
 +
*Über die Navigation bzw. den Laufbalken (Preview-Slider) 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".
 +
 
 +
====<font color="gray"> Tipps zum Schneiden </font>====
 +
 
 +
Die Werbung rausschneiden geht einfach, das haben wir gerade gesehen. Um sie zu entfernen, müssen wir sie aber erst einmal finden. Ich habe mir hierzu eine Methode angewöhnt, die mich sicher und vor allen Dingen schnell die gewünschnten Schnittpunkte finden läßt. Diese Methode möchte ich euch im folgenden erläutern:
 +
 
 +
Jeder Sender blendet heute irgendwo sein Logo ein. Ist kein Logo vorhanden, kann man davon ausgehen, daß gerade Werbung läuft. Und das ist eine große Hilfe bei der Suche nach einem Werbeblock, vor allem, wenn man den Film selbst nicht kennt. Also:
 +
 
 +
*Film laden
 +
*Schnittsteuerung auswählen
 +
*Filmanfang suchen und als Schnittpunkt hinzufügen
 +
*Mit dem Button >>> vorspulen, bis das Sendelogo weg ist (Werbung!)
 +
*Mit dem Button << zurückspulen, bis das Logo wieder da ist (Film)
 +
*Vorschau-Slider: Cursor irgendwohin rechts vom Reiter positionieren und linke Maustaste gedrückt halten. Damit wird der Film abgespielt.
 +
*Wenn die Werbung wieder da ist, die linke Maustaste loslassen
 +
*Cursor links neben den Reiter positionieren
 +
*Durch Linksklick Bild für Bild zurückspulen, bis der Film wieder da ist
 +
*Schnittpunkt auswählen
 +
*usw.
 +
 
 +
Das klingt vielleicht etwas kompliziert. Probiert es aber einmal aus, es ist eine schnelle Methode, bei der man nicht viel denken muß. Ein Problem gibt es aber dennoch, wenigstens bei manchen Sendern.
 +
 
 +
Es gibt einige Sender, die wiederholen nach der Werbung einen kleinen Teil des schon gezeigten Films. Das empfinde ich zwar als unsinnig, aber ich werde da leider nicht um meine Meinung gefragt. Hier hilft dann nur die genaue Suche nach dem Schnitt. Da in der CVS-Version von ProjectX die Schnittpunkte als kleine Vorschaubilder angezeigt werden, kann das aber auch relativ schnell bewältigt werden.
 +
 
 +
Wie eigentlich bei allen Dingen kann man auch hier sagen: Übung macht den Meister...
 +
 
 +
=== 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:
 +
 
 +
====<font color="gray"> Einstellung </font>====
 +
 
 +
*Einstellungen - Audio: "dekodiere MPEG Layer1,1 zu PCM".
 +
 
 +
====<font color="gray"> Dazugehörige X.ini </font>====
  
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:
 
 
<pre>
 
<pre>
Application.OutputDirectories.0=/home/meinName/filme/dvd_tmp
+
# Project-X INI
Application.OutputDirectory=/home/meinName/filme/dvd_tmp
+
# ProjectX 0.90.4.00.b32
 +
 
 +
# 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
 
</pre>
 
</pre>
  
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 dvd_tmp ansehen.
+
==<font color="maroon"> Die Konfigurationsdatei X.ini </font>==
 +
 
 +
=== Was genau ist die X.ini? ===
 +
 
 +
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:
 +
 
 +
====<font color="gray"> über die GUI </font>====
 +
 
 +
*Einstellungen - Einstellungen beim Beenden speichrn: Den Haken wegmachen
 +
*Einstellungen - Einstellungen - Datei - speichern unter: Den Pfad zur aktuellen "X.ini" eintragen
 +
*OK drücken
 +
 
 +
====<font color="gray"> durch Editieren der X.ini </font>====
  
===<font color="olive"> Schneiden einer DVB-Aufnahme </font>===
+
*PJX beenden
 +
*"X.ini" mit einem Testeditor ändern
 +
*Folgenden Eintrag hinzufügen:
 +
Application.SaveSettingsOnExit=0
 +
*Änderungen im Editor speichern
  
Wenn wir schon demultiplexen, können wir eigentlich auch gleich die Werbung aus dem Film entfernen:
+
=== Speicherort der X.ini ändern ===
  
Also, erstmal den Film laden. Wie das geht, ist ja bekannt. Dann im Hauptfenster auf den Reiter "Schnittsteuerung" drücken. Und nun kann die Sucherei losgehen. Das ist aber gar nicht so schwierig, mit ein bißchen Übung.
+
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:
  
Zuerst wählen wir also unten im Hauptfenster den Reiter "Schnittsteuerung" an.<br>
+
*Rechtsklick auf Datei projectx.desktop
Über die Navigation bzw. über den Laufbalken kann nun zum ersten Schnittpunkt gefahren werden. Das ist der Beginn des ersten Werbeblocks. Dieser Schnittpunkt wird hinzugefügt über den Film-Icon mit dem grünen "+" im Fenster "Schnittpunkte". Weiter, das Ende der Werbung gesucht und diesen Schnittpunkt, wie gerade beschrieben, hinzugefügt. Und so weiter, bis alle Schnittpunkte festgelegt sind.<br>
+
*In den "Eigenschaften" den Reiter "Programm" anwählen
Auf dem Balken unter dem Vorschaubild sehen wir den Erfolg unserer Arbeit: Was grün ist, bleibt drin und das rote wird herausgeschnitten.
+
*In das Feld "Arbeitsordner" den gewünschten zukünftigen Standort von X.ini eintragen (Beispiel: ~/PJX_demux)
 +
*OK drücken
  
Zufrieden mit der Auswahl drücken wir auf "Quickstart" und der Film wird geschnitten, demultiplext und das Ergebnis nach dvd_tmp geschrieben.
+
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.
  
 +
==<font color="maroon"> ProjectX und die Kommandozeile </font>==
  
 +
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:<br>
 +
[[dvb wiki script|Vom DVB zur DVD, ein Wikibuch]]
  
 +
=== Befehl ===
  
==<font color="green"> Arbeiten mit dem CL-Interface (Kommandozeile) von PJX </font>==
+
java -jar $pjx -demux -gui -ini $hauptverzeichnis/X.ini -out $hauptverzeichnis/tmp1 -name film "$quelldatei"
  
Zur Erläuterung der Koomanndozeilenbefehle stelle ich hier einmal folgende Anweisung vor:
 
java -jar $pjx -demux -gui  -ini $x_ini -out $tmp_pfad -name film "$quelldatei"
 
  
Und hier die Erklärung dazu:
+
=== Erläuterung ===
  
 
*java -jar
 
*java -jar
Zeile 231: Zeile 349:
 
*-gui
 
*-gui
 
Zusätzlich soll die Bedienoberfläche von PJX gestartet werden, vielleicht um Schneiden zu können.
 
Zusätzlich soll die Bedienoberfläche von PJX gestartet werden, vielleicht um Schneiden zu können.
*$x_ini
+
*-ini $hauptverzeichnis/X.ini
In diesem Pfad befindet die Konfigurationsdatei X.ini
+
Diese Datei soll als Konfigurationsdatei verwendet werden. Sie muß übrigens nicht zwingend X.ini heißen, sondern kann einen beliebigen Namen haben.
*-out $tmp_pfad
+
*-out $hauptverzeichnis/tmp1
 
In dieses Verzeichnis wird das Ergebnis gespeichert
 
In dieses Verzeichnis wird das Ergebnis gespeichert
 
*-name film
 
*-name film
Das Ergebnis bekpommt den Dateinamen "film"
+
Das Ergebnis bekommt den Dateinamen "film"
 
*$quelldatei
 
*$quelldatei
 
Datei, welche bearbeitet werden soll.
 
Datei, welche bearbeitet werden soll.
  
Die "Dinger" mit dem $ davor sind übrigens selbsterstellte Variablen. Sie stehen stellvertretend für ihren Inhalt. Ausgeschrieben könnte  
+
Die "Dinger" mit dem $ davor sind übrigens selbsterstellte Variablen. Sie stehen stellvertretend für ihren Inhalt.  
obiger Befehl also so aussehen:
+
 
 +
=== Kompletter Befehlsaufruf ===
 +
 
 +
Ausgeschrieben könnte obiger Befehl also so aussehen:
 +
 
 +
<pre>
 +
java -jar ~/Project-X/projectX.jar -demux -gui -ini ~/dvb_wiki_script/X.ini -out ~/dvb_wiki_script/tmp1 -name film ~/DVB/Aufnahme/ein_toller_film.m2t
 +
</pre>
 +
 
 +
=== Komandozeilen-Optionen ===
 +
 
 +
Hier kann nachgelesen werden, mit welchen Argumenten PJX über das CLI aufgerufen werden kann:<br>
 +
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.
 +
 
 +
==<font color="maroon"> Tips </font>==
 +
 
 +
===Ausführen der ''build.sh'' zum Kompilieren===
 +
 
 +
Das Eintippen von ''build.sh'' in eine Konsole wird selten den gewünschten Erfolg zeigen, kann dafür aber interessante Fehlermeldungen hervorbringen. So habe ich eine geschlagene Stunde versucht, folgenden Fehler zu beseitigen:
 +
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/Main
 +
Dieses Problem wäre gar nicht erst entstanden, hätte ich eine der Grundregeln im Umgang mit Linux-Dateien beachtet: Wenn du eine bestimmte Datei ansprechen willst, dann mußt du auch sagen, wo sich diese Datei befindet.
 +
 
 +
Ein Beispiel:
 +
~/DVB/Project-X/build.sh
 +
oder, wenn man sich bereits im Ordner ''~/DVB/Project-X'' befindet
 +
./build.sh
 +
Manche Fehler mußt du selber erst einmal gemacht haben, sonst glaubst du es nicht, daß das auch dir passieren kann.
 +
 
 +
Um aber gar nicht erst in diese Schwierigkeiten zu kommen ist es doch am Besten, so zu verfahren, wie es im Abschnitt Installation beschrieben ist. Schön brav in einer Konsole ins Installationsverzeichnis wechseln und dann mit sh build.sh die Installation starten. So braucht außerdem die build.sh nicht ausführbar gemacht werden.
 +
 
 +
===Welche Java-Version?===
 +
 
 +
Aktuell habe ich die folgende Version drauf:
 +
 
 +
java version "1.7.0_51"
  
java -jar /home/wo_ich_bin/Project-X/projectX.jar -demux -gui -ini /home/wo_ich_bin/Project-X/X.ini -out /filmbearbeitung/tmp
+
Wenn man die CVS-Version von project-X selber compilieren möchte, dann benötigt man zusätzlich zur Standardausstattung noch den Java-Compiler. Dieser ist in dem entsprechenden devel-Paket enthalten, also zum Beispiel in meinem aktuellen Fall:
-name film /filmbearbeitung/aufnahme/aufgenommener_film.m2t
 
  
==<font color="green"> Links </font>==
+
java-1_7_0-openjdk-devel
  
*Mögliche Optionen können hier nachgelesen werden: http://forum.dvbtechnics.info/showpost.php?p=10899&postcount=4
+
==<font color="maroon"> Links </font>==
*Eine Anwendung zur DVB-Weiterverarbeitung mit Hilfe eines Shellscripts: [[dvb_wiki_script]]
+
[http://forum.dvbtechnics.info/forumdisplay.php?f=16 Supportseite im dvbtechnics-Forum] <br>
 +
[http://forum.dvbtechnics.info/showthread.php?t=422 Einige Erläuterungen zu Project X von dvb.matt (Autor Project X)] <br>
 +
[http://forum.dvbtechnics.info/showpost.php?p=10899&postcount=4 Kommandozeilenoptionen] <br>
 +
[[dvb wiki script|Vom DVB zur DVD, ein Wikibuch]] <br>
 +
[[Projectx oder vom DVB zur DVD part 2]] <br>
 +
[[K-Menü und die Desktop-Dateien]]
  
 
----
 
----
 
[[Multimedia|Zurück zur Multimedia-Übersicht]]
 
[[Multimedia|Zurück zur Multimedia-Übersicht]]
[[Category:Multimedia]]
+
[[Kategorie:Multimedia]]
 +
[[Kategorie:DVB-Weiterverarbeitung]]

Aktuelle Version vom 6. April 2014, 21:31 Uhr

Diese Beschreibung wurde mit folgenden Distributionen getestet:

OpenSuse 10.3 (32Bit) mit KDE 3.5.x
OpenSuse 11.0 (32Bit) mit KDE 4.0, 4.1
OpenSuse 11.1 (32Bit) mit KDE 4.2
OpenSuse 11.2 (32Bit) mit KDE 4.3, 4.4
OpenSuse 11.3 (32Bit) mit KDE 4.5
OpenSuse 13.1 (64Bit) mit KDE 4.11


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

Inhaltsverzeichnis

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:
Einige Erläuterungen zu Project X von dvb.matt (Autor Project X)

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 Version 0.91.0.00" (Stand April 2014)

CVS-Version

Diese Version gibt den aktuellen Entwicklungsstand des Programms wieder. Im Moment (April 2014) ist das "Project X Version 0.91.0.10/07.02.2014".

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, der die notwendigen Dateien aus dem CVS-Repository enthält.

Kompilieren

Folgende Anweisung in eine Konsole hacken, um in den Installationsordner zu kommen:

cd ~/Project-X

Hiermit die Installation durchführen:

sh build.sh

Damit befindet sich nun im Installationsordner die eigentliche Programmdatei von PJX.

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.x (KDE 4.x)

Mit Hilfe des KDE-Startmenue's. Sollte es da Probleme geben, kann zum Starten eine Desktop-Datei erstellt werden (wie, das ist weiter unter erklärt).

Programmstart CVS-Version

bequem

Durch Klicken auf das Icon der Desktop-Datei.
Die Desktop-Datei befindet sich im Installationsordner von PJX und kann an einen beliebigen Ort, zum Beispiel auf den Desktop kopiert werden. Dabei ist zu beachten, daß in den Eigenschaften der Desktop-Datei im Reiter Programm der Startbefehl den korrekten Pfad bekommt (siehe ein paar Zeilen weiter unten im Abschnitt Die 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 bzw. angepasst 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.

Hier habe ich den Umgang mit Desktop-Dateien in KDE4 genauer beschrieben: K-Menü und die Desktop-Dateien

Der erste Start von ProjectX

Zustimmung zur Lizenz

Bedienoberfläche von ProjectX

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.b32

# 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 den demultiplexten Stream, in einem vorgegebenen Zielordner zu speichern. (Zum Beispiel: ~/filme/dvd_tmp). Dazu wird rechts unten im Hauptfenster dieser Zielordner zur Liste der Ausgabepfade hinzugefügt (zu finden unter dem Reiter "Dateiliste").

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.b32

# 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:

Der Weg

  • Film laden
  • Im Hauptfenster den Reiter "Schnittsteuerung" auswählen
  • Über die Navigation bzw. den Laufbalken (Preview-Slider) 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".

Tipps zum Schneiden

Die Werbung rausschneiden geht einfach, das haben wir gerade gesehen. Um sie zu entfernen, müssen wir sie aber erst einmal finden. Ich habe mir hierzu eine Methode angewöhnt, die mich sicher und vor allen Dingen schnell die gewünschnten Schnittpunkte finden läßt. Diese Methode möchte ich euch im folgenden erläutern:

Jeder Sender blendet heute irgendwo sein Logo ein. Ist kein Logo vorhanden, kann man davon ausgehen, daß gerade Werbung läuft. Und das ist eine große Hilfe bei der Suche nach einem Werbeblock, vor allem, wenn man den Film selbst nicht kennt. Also:

  • Film laden
  • Schnittsteuerung auswählen
  • Filmanfang suchen und als Schnittpunkt hinzufügen
  • Mit dem Button >>> vorspulen, bis das Sendelogo weg ist (Werbung!)
  • Mit dem Button << zurückspulen, bis das Logo wieder da ist (Film)
  • Vorschau-Slider: Cursor irgendwohin rechts vom Reiter positionieren und linke Maustaste gedrückt halten. Damit wird der Film abgespielt.
  • Wenn die Werbung wieder da ist, die linke Maustaste loslassen
  • Cursor links neben den Reiter positionieren
  • Durch Linksklick Bild für Bild zurückspulen, bis der Film wieder da ist
  • Schnittpunkt auswählen
  • usw.

Das klingt vielleicht etwas kompliziert. Probiert es aber einmal aus, es ist eine schnelle Methode, bei der man nicht viel denken muß. Ein Problem gibt es aber dennoch, wenigstens bei manchen Sendern.

Es gibt einige Sender, die wiederholen nach der Werbung einen kleinen Teil des schon gezeigten Films. Das empfinde ich zwar als unsinnig, aber ich werde da leider nicht um meine Meinung gefragt. Hier hilft dann nur die genaue Suche nach dem Schnitt. Da in der CVS-Version von ProjectX die Schnittpunkte als kleine Vorschaubilder angezeigt werden, kann das aber auch relativ schnell bewältigt werden.

Wie eigentlich bei allen Dingen kann man auch hier sagen: Übung macht den Meister...

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.b32

# 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 genau ist die X.ini?

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 $hauptverzeichnis/X.ini -out $hauptverzeichnis/tmp1 -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.

  • -ini $hauptverzeichnis/X.ini

Diese Datei soll als Konfigurationsdatei verwendet werden. Sie muß übrigens nicht zwingend X.ini heißen, sondern kann einen beliebigen Namen haben.

  • -out $hauptverzeichnis/tmp1

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 ~/Project-X/projectX.jar -demux -gui -ini ~/dvb_wiki_script/X.ini -out ~/dvb_wiki_script/tmp1 -name film ~/DVB/Aufnahme/ein_toller_film.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.

Tips

Ausführen der build.sh zum Kompilieren

Das Eintippen von build.sh in eine Konsole wird selten den gewünschten Erfolg zeigen, kann dafür aber interessante Fehlermeldungen hervorbringen. So habe ich eine geschlagene Stunde versucht, folgenden Fehler zu beseitigen:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/Main

Dieses Problem wäre gar nicht erst entstanden, hätte ich eine der Grundregeln im Umgang mit Linux-Dateien beachtet: Wenn du eine bestimmte Datei ansprechen willst, dann mußt du auch sagen, wo sich diese Datei befindet.

Ein Beispiel:

~/DVB/Project-X/build.sh

oder, wenn man sich bereits im Ordner ~/DVB/Project-X befindet

./build.sh

Manche Fehler mußt du selber erst einmal gemacht haben, sonst glaubst du es nicht, daß das auch dir passieren kann.

Um aber gar nicht erst in diese Schwierigkeiten zu kommen ist es doch am Besten, so zu verfahren, wie es im Abschnitt Installation beschrieben ist. Schön brav in einer Konsole ins Installationsverzeichnis wechseln und dann mit sh build.sh die Installation starten. So braucht außerdem die build.sh nicht ausführbar gemacht werden.

Welche Java-Version?

Aktuell habe ich die folgende Version drauf:

java version "1.7.0_51"

Wenn man die CVS-Version von project-X selber compilieren möchte, dann benötigt man zusätzlich zur Standardausstattung noch den Java-Compiler. Dieser ist in dem entsprechenden devel-Paket enthalten, also zum Beispiel in meinem aktuellen Fall:

java-1_7_0-openjdk-devel

Links

Supportseite im dvbtechnics-Forum
Einige Erläuterungen zu Project X von dvb.matt (Autor Project X)
Kommandozeilenoptionen
Vom DVB zur DVD, ein Wikibuch
Projectx oder vom DVB zur DVD part 2
K-Menü und die Desktop-Dateien


Zurück zur Multimedia-Übersicht