Projectx: Unterschied zwischen den Versionen
Escho (Diskussion | Beiträge) (Weiter) |
Escho (Diskussion | Beiträge) (nähert sich dem Ende) |
||
Zeile 242: | Zeile 242: | ||
</pre> | </pre> | ||
+ | ==<font color="green"> ProjectX in einem Bash-Script </font>== | ||
+ | ===<font color="olive"> Das Ziel </font>=== | ||
− | ==<font color=" | + | 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. | ||
+ | |||
+ | ===<font color="olive"> Der Weg </font>=== | ||
+ | |||
+ | 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. | ||
+ | |||
+ | ===<font color="olive"> Das Ergebnis </font>=== | ||
+ | |||
+ | 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.<br> | ||
+ | Sehen wir uns also einen Befehlsaufruf von PJX aus diesem Script etwas genauer an: | ||
+ | |||
+ | ===<font color="olive"> Arbeiten mit dem CL-Interface (Kommandozeile) von PJX </font>=== | ||
− | |||
java -jar $pjx -demux -gui -ini $x_ini -out $tmp_pfad -name film "$quelldatei" | java -jar $pjx -demux -gui -ini $x_ini -out $tmp_pfad -name film "$quelldatei" | ||
Zeile 268: | Zeile 284: | ||
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. Ausgeschrieben könnte obiger Befehl also so aussehen: |
− | obiger Befehl also so aussehen: | ||
− | + | <pre> | |
− | + | 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 | |
+ | </pre> | ||
− | ==<font color=" | + | ===<font color="olive"> Weitere Komandozeilen-Optionen </font>=== |
− | + | http://forum.dvbtechnics.info/showpost.php?p=10899&postcount=4 | |
− | |||
---- | ---- | ||
[[Multimedia|Zurück zur Multimedia-Übersicht]] | [[Multimedia|Zurück zur Multimedia-Übersicht]] | ||
[[Category:Multimedia]] | [[Category:Multimedia]] |
Version vom 11. Juli 2008, 18:23 Uhr
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.
Inhaltsverzeichnis
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
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