Dvb script gui/anleitung: Unterschied zwischen den Versionen

Aus Linupedia.org
Wechseln zu: Navigation, Suche
(Angepasst an Scriptversion 0.2.0)
(Aktualisiert)
Zeile 1: Zeile 1:
 
{{Box Test||
 
{{Box Test||
 
OpenSuse 11.0 (32Bit) mit KDE 3.9.x <br>
 
OpenSuse 11.0 (32Bit) mit KDE 3.9.x <br>
OpenSuse 11.0 (32Bit) mit KDE 4.1
+
OpenSuse 11.0 (32Bit) mit KDE 4.1 <br>
 +
OpenSuse 11.0 (32Bit) mit KDE 4.2
 
}}
 
}}
  
Zeile 22: Zeile 23:
 
Im ''Debug-Fenster'' fallen noch die zwei Knöpfe ''Ein'' und ''Aus'' auf. Mit ihnen hat es folgende Bewandnis:
 
Im ''Debug-Fenster'' fallen noch die zwei Knöpfe ''Ein'' und ''Aus'' auf. Mit ihnen hat es folgende Bewandnis:
  
*'''Vor Drücken auf Go''': Das Debug-Fenster kann ein- oder ausgeschaltet werden
+
*''Vor Drücken auf Go'': Das Debug-Fenster kann ein- oder ausgeschaltet werden
*'''Nach Programmende''': Der Scrollmodus des Fensters kann ein- oder ausgeschaltet werden
+
*''Nach Programmende'': Der Scrollmodus des Fensters kann ein- oder ausgeschaltet werden
  
 
Zum Scroll-Modus ist noch folgendes zu sagen:
 
Zum Scroll-Modus ist noch folgendes zu sagen:
Zeile 59: Zeile 60:
 
Diese Gruppe habe ich eingeführt, um Musik-Videoclips schneiden und in einer Playlist organisieren zu können. Dazu wird der Eingangsstream nach dem Schneiden in eine mpeg-Datei umgewandelt und auf Festplatte gespeichert. Zusätzlich kann der Ton [http://wiki.linux-club.de/opensuse/Dvb_wiki_script/Programmieranleitung#normalisieren_.28.29 normalisiert] werden. Die angebotenen Auswahlmöglichkeiten unterscheiden sich nach der Art des Eingangssignals und danach, welche Tonspuren verwendet werden sollen:
 
Diese Gruppe habe ich eingeführt, um Musik-Videoclips schneiden und in einer Playlist organisieren zu können. Dazu wird der Eingangsstream nach dem Schneiden in eine mpeg-Datei umgewandelt und auf Festplatte gespeichert. Zusätzlich kann der Ton [http://wiki.linux-club.de/opensuse/Dvb_wiki_script/Programmieranleitung#normalisieren_.28.29 normalisiert] werden. Die angebotenen Auswahlmöglichkeiten unterscheiden sich nach der Art des Eingangssignals und danach, welche Tonspuren verwendet werden sollen:
  
'''Mpeg2-Stream schneiden und im Videoclip-Ordner speichern. Dabei folgende Tonspuren verwenden''':
+
''Mpeg2-Stream schneiden und im Videoclip-Ordner speichern. Dabei folgende Tonspuren verwenden'':
 
* Alle ac3 und mp2
 
* Alle ac3 und mp2
 
* Nur ac3
 
* Nur ac3
Zeile 65: Zeile 66:
 
* Nur mp2 normalisiert
 
* Nur mp2 normalisiert
  
'''Mpeg1-Stream schneiden und im Videoclip-Ordner speichern. Dabei folgende Tonspuren verwenden''':
+
''Mpeg1-Stream schneiden und im Videoclip-Ordner speichern. Dabei folgende Tonspuren verwenden'':
 
* Nur mp2
 
* Nur mp2
 
* Nur mp2 normalisiert
 
* Nur mp2 normalisiert
Zeile 83: Zeile 84:
  
 
Man sieht also, daß es gut 20 Minuten dauert, bis ein Film, der eine DVD fast ganz ausfüllt, auf eben dieser DVD ist. Wie lange man dann noch zum Schneiden braucht, das hängt vom Geschick des Anwenders und von der Anzahl der Werbeunterbrechungen ab.
 
Man sieht also, daß es gut 20 Minuten dauert, bis ein Film, der eine DVD fast ganz ausfüllt, auf eben dieser DVD ist. Wie lange man dann noch zum Schneiden braucht, das hängt vom Geschick des Anwenders und von der Anzahl der Werbeunterbrechungen ab.
 
==<font color="maroon"> Playlist für mplayer </font>==
 
 
=== Playlist erzeugen ===
 
 
Die Musikclips befinden sich alle im Videoclipordner. Jedesmal, wenn auf den ''Go-Button'' gedrückt wird, werden die Namen und Pfade der dort gespeicherten Dateien in eine Textdatei geschrieben, die ''mplayer'' als Playlist verwendet.
 
find $videoclips/* > ~/.mplayer/playlist
 
 
=== Playlist abspielen ===
 
 
Diese Wiedergabeliste kann mit folgendem Befehl abgespielt werden:
 
mplayer -xy 1280 -playlist ~/.mplayer/playlist -shuffle -vf pp=lb -fixed-vo
 
 
*''mplayer:'' Aufruf von mplayer.
 
*''-xy 1280:'' Grösse des Ausgabefensters. Es genügt die Angabe der horizontalen Pixelzahl, die vertikale Anzahl der Bildpunkte wird dann automatisch eingestellt.
 
*''~/.mplayer/playlist:'' Hier ist die Wiedergabeliste gespeichert.
 
 
Alle Angaben, die nach der Playlist kommen, beziehen sich auf die komplette Wiedergabeliste, nicht auf ein einzelnes Lied aus der Liste.
 
 
*''-shuffle:'' Die Auswahl der Videoclips erfolgt nach dem Zufallsprinzip.
 
*''-vf pp=lb:'' Einschalten eines linearen Deinterlace-Filters.
 
*''-fixed-vo:'' Alle Clips werden in einem einzigen Fenster abgespielt.
 
 
Diesen Befehl habe ich in eine Desktop-Datei eingegeben, mit der ich die Wiedergabe starte.
 
  
 
==<font color="maroon"> Das Bedrucken von DVDs </font>==
 
==<font color="maroon"> Das Bedrucken von DVDs </font>==
Zeile 114: Zeile 91:
 
==<font color="maroon"> Der Programmcode des Arbeits-Scriptes </font>==
 
==<font color="maroon"> Der Programmcode des Arbeits-Scriptes </font>==
  
Der Aufbau des Bash-Scriptes wurde in einem [[Dvb wiki script/Programmieranleitung|Artikel]] im DVB_Wiki_Buch beschrieben. Dort ist genau erklärt, was welcher Befehl wie bewirkt. Da es jedoch einige nicht unerhebliche Anderungen gibt, wird die Funktionsweise des Scriptes noch einmal kurz umrissen.  
+
Der Aufbau und die genaue Funktionsweise des Bash-Scriptes wird in einem [[Dvb wiki script/Programmieranleitung|Artikel]] im DVB_Wiki_Buch beschrieben. Um dieses Script zur Zusammenarbeit mit Kommander zu überreden, waren ein paar Änderungen notwendig.
 +
 
 +
===Hauptmenue und Untermenues===
 +
Dies Auswahl dessen, was das Script tun soll, wird nun in der GUI getroffen. Die zur gewählten Funktion gehörige Kennziffer wird dem Arbeitsscript beim Aufruf übergeben.
  
===Vorbereitungen (Installationsroutine)===
+
===Übernahme der Kennziffer===
 +
Die Übernahme erfolgt im Script-Widget mit folgendem Befehl:
 +
was_tun=`echo @Self.item(0)`
  
*'''Übernahme von Kommander''': Die von der GUI übergebene Kennzahl wird übernommen. An Hand dieser Kennzahl werden die Aufgaben gestartet
+
===Anzeige der Betriebsmeldungen===
*'''Voreinstellungen''': Einstellungen, die von Benutzer angepasst werden müssen (Ist in der Installationsanleitung beschrieben)
 
*'''Verzeichnisstruktur erstellen''': Haupt- und Arbeitsverzeichnisse werden erstellt
 
*'''Anzeigefenster leeren und einstellen''': Erzeugen der Textdateien für die Logs, die von der GUI periodisch abgefragt und zur Anzeige gebracht werden. Umleiten von stderr in das Debug-Log
 
*'''Hilfsprogramme festlegen''': Suchen, ob die Helferprogramme vorhanden sind. Den Pfad der Programme nach ''~/.dvb_script_kommander/$var'' speichern
 
*'''Hilfsprogramme laden''': Laden der Pfade zu den Helferprogrammen aus den Sicherungsfiles und zuweisen zu Variablen, die dann im weiteren Scriptverlauf benutzt werden
 
*'''X.ini erzeugen''': Die Initialisierungsdatei für ProjectX erzeugen. Sie sorgt unter anderem dafür, daß pjx (aktuelle CVS-Version vorausgesetzt) mit einem maximierten Vorschaufenster startet
 
*'''Playlist für mplayer''' Das erzeugen eine Playlist wurde oben schon erklärt
 
*'''Löschen''': Löschen des Inhalts der Arbeitsverzeichnisse für einen sauberen Start der Bearbeitung
 
  
===Funktionen (die eigentlichen Bearbeitungsschritte)===
+
Beim dvb_wiki_script erfolgt die Ausgabe der Betriebsmeldungen über ein Konsolenfenster. die GUI enthält zwei Fenster für diesen Zweck:
 +
*Fortschrittfenster
 +
*Debugfenster
 +
Im Fortschrittfenster werden explizit im Script programmierte Meldungen ausgegeben. Alles, was vorher mit ''echo'' auf das Konsolenfenster ausgegeben wurde, erscheint nun im Fortschrittfenster.<br>
 +
Das Debugfenster zeigt die Meldungen an, die von den beteiligten Befehlen / Programmen ausgegeben wurden.
  
*'''benutzerabbruch ()''': Programmabbruch durch den Benutzer
+
Genauere Erklärungen dazu können im Artikel nachgelesen werden, der sich mit der Entstehung der GUI beschäftigt: [[Kommander/GUI]]
*'''funktionsabbruch ()''': Programmabbruch, erzwungen durch das Programm
 
*'''programmende ()''': wird von den beiden obigen Funktionen aufgerufen
 
.
 
*'''filmauswahl ()''': Der zu bearbeitende Film wird geladen. Zudem wird in Abhängigkeit von der Kennzahl das Quellverzeichnis für das Brennen festgelegt.
 
*'''verzeichnisauswahl ()''': Auswahl der Sicherungen. Weiterverarbeitung in Abhängigkeit vom Dateityp. Festlegen des Quellverzeichnisses für das Brennen.
 
 
*'''pjx_demux_gui ()''': Starten von projectX zum Schneiden und Demultiplexen. Überprüfung, ob das Schnittergebnis auf eine einzelne DVD passt.
 
*'''pjx_ts_gui ()''': Starten von projectX zum Schneiden. Wandeln nach TS für eine Daten-DVD
 
*'''mpeg1_input ()''': Demultiplexen eines mpeg1-Files. Decodieren der Audio-Spur
 
.
 
*'''normalisieren ()''': Die Tonspur wird normalisiert. Dazu wird sie mit ffmpeg decodiert, mit normalize auf eine definierte Lautstärke gebracht und anschließend mit ffmpeg wieder codiert.
 
*'''ac3_behalten ()''': nur die ac3-Tonspuren werden behalten und weiterverarbeitet
 
*'''mp2_behalten ()''': nur die mp3-Tonspuren werden behalten und weiterverarbeitet
 
.
 
*'''multiplexen ()''': Bild und Ton werden multiplext. Dabei wird das Ergebnis schon für das Authorn vorbereitet.
 
.
 
*'''authoring_ohne_menue ()''': Die DVD-Struktur wird erzeugt (ohne DVD-Menue)
 
.
 
*'''brennen_video_dvd ()''': Die DVD-Struktur wird als Video-DVD gebrannt
 
*'''brennen_ts ()''': Das ts-file wird als Daten-DVD gebrannt
 
.
 
*'''sichern_dvd_struktur ()''': Die DVD-Struktur wird gesichert. Der Name des Sicherungsordners ist das aktuelle Datum und die aktuelle Uhrzeit
 
*'''sichern_ts ()''': Das ts-file wird gesichert. Der Name des Sicherungsordners ist das aktuelle Datum und die aktuelle Uhrzeit
 
*'''sichern_clip ()''': Der Videoclip wird im Clipordner gespeichert. Dabei wird überprüft, ob ein Clip gleichen Namens dort schon existiert
 
  
===Hauptprogramm (Aufruf der Funktionen)===
+
==<font color="maroon"> Links </font>==
 +
In der Artikelübersicht ist eine ausführliche Linkliste enthalten: [[vom DVB zur DVD: Vorstellung der Wiki-Artikel in dieser Serie]]
  
In Abhängigkeit von der Aufgabe und der damit von der GUI übernommenen Kennzahl werden die Funktionen in der richtigen Reihenfolge abgearbeitet. Im Falle des Direktdrucks wird openoffice-draw über die jeweilige Druckschablone gestartet
 
  
 
{{dvb_script_gui_navibox}}
 
{{dvb_script_gui_navibox}}
 
[[Multimedia|Zurück zur Multimedia-Übersicht]]
 
[[Multimedia|Zurück zur Multimedia-Übersicht]]
 
[[Category:DVB-Weiterverarbeitung]]
 
[[Category:DVB-Weiterverarbeitung]]

Version vom 4. Februar 2009, 21:42 Uhr

Diese Beschreibung wurde mit folgenden Distributionen getestet:

OpenSuse 11.0 (32Bit) mit KDE 3.9.x
OpenSuse 11.0 (32Bit) mit KDE 4.1
OpenSuse 11.0 (32Bit) mit KDE 4.2


Vom DVB zur DVD, die GUI: Anleitungen - Installation - GUI-Kommanderscript - Arbeitsscript - Dokumentation



Bedienungsanleitung

Die GUI

Die Bedienung des Programms gestaltet sich sehr einfach:

  • Programm starten
  • Gewünschte Aufgabe auswählen
  • Auf den Go-Button drücken

Im linken Fenster wird der aktuelle Bearbeitungsfortschritt angezeigt. Die Meldungen, die hier erscheinen, wurden vom Progrmmierer (also von mir) explizit so festgelegt.

Das rechte Fenster zeigt Meldungen der beteiligten Programme, die über stderr ausgegeben wurden. Diese Meldungen können sehr gut beim Programmieren zur Fehlersuche verwendet werden, deshalb auch der Name Debug-Fenster.

Im Debug-Fenster fallen noch die zwei Knöpfe Ein und Aus auf. Mit ihnen hat es folgende Bewandnis:

  • Vor Drücken auf Go: Das Debug-Fenster kann ein- oder ausgeschaltet werden
  • Nach Programmende: Der Scrollmodus des Fensters kann ein- oder ausgeschaltet werden

Zum Scroll-Modus ist noch folgendes zu sagen:

Da von den Programmen sehr viele Meldungen kommen, wird der Fokus auf die letzen Meldungen gesetzt, damit die Anzeige immer aktuell ist. Nach Programmende läßt sich diese Fokussierung ausschalten, damit man im Debug-Log nach oben Scrollen kann.

Die Aufgaben

Die Aufgaben sind in drei Gruppen eingeteilt:

Video-DVD

Ziel ist es, den aufgenommenen Film zu schneiden und daraus eine Video-DVD zu machen. Folgende Möglichkeiten werden hier angeboten:

  • Den Film schneiden und daraus eine Video-DVD brennen
  • Das Bearbeitungsergebnis im Sicherungsordner zwischenspeichern
  • Die gesicherte DVD-Struktur als Video-DVD brennen
  • Die DVD bedrucken

Der grundsätzliche Weg zu einer Video-DVD ist in einem Artikel im DVB_Wiki_Buch beschrieben.

Daten-DVD

Hier kann der Film als TS-File auf DVD gebrannt werden. Diese Möglichkeit verwende ich dazu, einen geschnittenen Film sozusagen im "Rohformat" zu sichern. Auch hier gibt es verschiedene Auswahlmöglichkeiten:

  • Den Film schneiden und daraus eine Daten-DVD brennen
  • Das Bearbeitungsergebnis im Sicherungsordner zwischenspeichern
  • Das gesicherte File als Daten-DVD brennen
  • Die DVD bedrucken

Eine solche Daten-DVD ist in einem normalen DVD-Spieler nicht abspielbar!

Videoclip

Diese Gruppe habe ich eingeführt, um Musik-Videoclips schneiden und in einer Playlist organisieren zu können. Dazu wird der Eingangsstream nach dem Schneiden in eine mpeg-Datei umgewandelt und auf Festplatte gespeichert. Zusätzlich kann der Ton normalisiert werden. Die angebotenen Auswahlmöglichkeiten unterscheiden sich nach der Art des Eingangssignals und danach, welche Tonspuren verwendet werden sollen:

Mpeg2-Stream schneiden und im Videoclip-Ordner speichern. Dabei folgende Tonspuren verwenden:

  • Alle ac3 und mp2
  • Nur ac3
  • Nur mp2
  • Nur mp2 normalisiert

Mpeg1-Stream schneiden und im Videoclip-Ordner speichern. Dabei folgende Tonspuren verwenden:

  • Nur mp2
  • Nur mp2 normalisiert

Bearbeitungszeiten

Um eine Vorstellung zu vermitteln, wie lange es dauert, bis aus dem Film eine Video-DVD wird, habe ich die Zeiten aufgelistet, die von den einzelnen Bearbeitungsschritten benötigt werden. Das Laden der Quelldatei und das Schneiden habe ich dabei weggelassen. Die Stopuhr startet exakt in dem Moment, in dem ich in projectx auf den Quickstart-Button drücken.

Die Interna des verwendeten Rechners sind: Athlon64 3000+ / 1MB Arbeitsspeicher / NVidia GeForce 6600GT / OpenSuse 11.0 / KDE 4.1.3 Die Quelldatei enthält 3 Tonspuren (davon 1 AC3-Spur) und 1 Videospur. Dateigrösse: 3952MB. Filmlänge: 1h42min

  • 00:00 min: Druck auf Quickstart fürs Demultiplexen mit projectx
  • 05:36 min: Demultiplexen fertig. Start mplex (mplex zeigt übrigens keinen Bearbeitungsfortschritt an. Also: Geduld haben!)
  • 09:38 min: Multiplexen fertig. Start dvdauthor
  • 13:44 min: Authorn fertig. Start growisofs für das Brennen mit 8facher Geschwindigkeit
  • 21:02 min: Brennen fertig. Ende der Bearbeitung

Man sieht also, daß es gut 20 Minuten dauert, bis ein Film, der eine DVD fast ganz ausfüllt, auf eben dieser DVD ist. Wie lange man dann noch zum Schneiden braucht, das hängt vom Geschick des Anwenders und von der Anzahl der Werbeunterbrechungen ab.

Das Bedrucken von DVDs

Ich verwende DVDs, die mit einem Tintenstrahler bedruckt werden können. Dazu verwende ich selbst erstellte Druckschablonen für oodraw. Den Aufruf dieser Schablonen habe ich unter den Menuepunkten DVD bedrucken in der GUI realisiert.

Der Programmcode des Arbeits-Scriptes

Der Aufbau und die genaue Funktionsweise des Bash-Scriptes wird in einem Artikel im DVB_Wiki_Buch beschrieben. Um dieses Script zur Zusammenarbeit mit Kommander zu überreden, waren ein paar Änderungen notwendig.

Hauptmenue und Untermenues

Dies Auswahl dessen, was das Script tun soll, wird nun in der GUI getroffen. Die zur gewählten Funktion gehörige Kennziffer wird dem Arbeitsscript beim Aufruf übergeben.

Übernahme der Kennziffer

Die Übernahme erfolgt im Script-Widget mit folgendem Befehl:

was_tun=`echo @Self.item(0)`

Anzeige der Betriebsmeldungen

Beim dvb_wiki_script erfolgt die Ausgabe der Betriebsmeldungen über ein Konsolenfenster. die GUI enthält zwei Fenster für diesen Zweck:

  • Fortschrittfenster
  • Debugfenster

Im Fortschrittfenster werden explizit im Script programmierte Meldungen ausgegeben. Alles, was vorher mit echo auf das Konsolenfenster ausgegeben wurde, erscheint nun im Fortschrittfenster.
Das Debugfenster zeigt die Meldungen an, die von den beteiligten Befehlen / Programmen ausgegeben wurden.

Genauere Erklärungen dazu können im Artikel nachgelesen werden, der sich mit der Entstehung der GUI beschäftigt: Kommander/GUI

Links

In der Artikelübersicht ist eine ausführliche Linkliste enthalten: vom DVB zur DVD: Vorstellung der Wiki-Artikel in dieser Serie


Vom DVB zur DVD, die GUI: Anleitungen - Installation - GUI-Kommanderscript - Arbeitsscript - Dokumentation


Zurück zur Multimedia-Übersicht