Dvb script gui/anleitung: Unterschied zwischen den Versionen

Aus Linupedia.org
Wechseln zu: Navigation, Suche
K (Link hinzugefügt)
(Aktualisierung KDE-Version)
 
(13 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Box Test||
+
{{dvb_script_gui_testbox}}
OpenSuse 11.0 (32Bit) mit KDE 3.9.x <br>
 
OpenSuse 11.0 (32Bit) mit KDE 4.1
 
}}
 
  
 
{{dvb_script_gui_navibox}}
 
{{dvb_script_gui_navibox}}
  
==<font color="green"> Was macht dieses Programm </font>==
+
==<font color="maroon"> Bedienungsanleitung </font>==
  
Hauptzweck des Programmes ist es, aufgenommene DVB-Filme so zu bearbearbeiten, daß sie ohne störende Werbung auf DVD gebrannt werden können. Diese Video-DVD ist dann auch in einem Stand-alone Player abspielbar.
+
===Die GUI===
  
==<font color="green"> Weitere Features </font>==
+
Die Bedienung des Programms gestaltet sich sehr einfach:
  
*Aufnahmen brennen bzw. sichern als Daten-DVD (Die ist dann nicht in einem Stand-alone-Player abspielbar).
+
* Programm starten
*Auswahl, welche Tonspuren verarbeitet werden sollen (mp2 und/oder AC3)
+
* Gewünschte Aufgabe auswählen
*Aufnahmen als Videoclips speichern und eine Playlist für mplayer anlegen
+
* Auf den Go-Button drücken
*Mpeg1-Aufnahmen (SVCD) als Videoclips speichern und in die Playlist aufnehmen
 
*Normalisieren der mp2-Tonspur
 
*Requantisierung, wenn der Film zu lang für eine einzige DVD wird
 
*Screenshots aus dem Film erstellen
 
*Direktdruck auf DVD (Das Vorhandensein von Druckschablonen wird dabei vorausgesetzt)
 
*Schneiden der Aufnahme (nicht bei mpeg1)
 
  
==<font color="green"> Der tiefere Sinn des Ganzen </font>==
+
Im linken Fenster wird der aktuelle Bearbeitungsfortschritt angezeigt. Die Meldungen, die hier erscheinen, wurden vom Progrmmierer (also von mir) explizit so festgelegt.
  
An Hand dieses Programmes soll gezeigt werden, wie mit einem Bash-Script die Verarbeitung einer DVB-Aufnahme zu einer Video-DVD automatisiert werden kann. Und um alles noch ein bißchen interessanter zu machen, ist eine Bedienoberfläche (GUI) hinzugekommen, mit der sich das Script mühelos bedienen läßt.
+
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''.
Der dornenreiche Weg zu dieser GUI, die mit Kommander erstellt wurde, wird in einem [[Kommander|seperaten Artikel]] behandelt.
 
  
==<font color="green"> Gliederung des Programmes </font>==
+
Im ''Debug-Fenster'' fallen noch die zwei Knöpfe ''Ein'' und ''Aus'' auf. Mit ihnen hat es folgende Bewandnis:
  
Das Programm setzt sich aus drei Teilen zusammen, die nur gemeinsam funktionsfähig sind:
+
*''Vor Drücken auf Go'': Das Debug-Fenster kann ein- oder ausgeschaltet werden
 +
*''Nach Programmende'': Der Scrollmodus des Fensters kann ein- oder ausgeschaltet werden
  
*'''Installations-Script:''' Dieses Bash-Script dient, wie der Name schon sagt, der Installation des Ganzen.
+
Zum Scroll-Modus ist noch folgendes zu sagen:
*'''Kommander-Script:''' Programmcode der GUI.
 
*'''Arbeits-Script:''' Bash-Script, mit dem die eigentliche Arbeit verrichtet wird.
 
  
==<font color="green"> Kurzanleitung </font>==
+
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.
  
===<font color="olive"> Hilfsprogramme </font>===
+
===Die Aufgaben===
  
Es müssen folgende Programme installiert sein:
+
Die Aufgaben sind in drei Gruppen eingeteilt:
  
*mplex
+
====<font color="gray"> Video-DVD </font>====
*tcrequant
 
*dvdauthor
 
*ProjectX.jar
 
*normalize
 
*ffmpeg
 
*growisofs
 
*vlc
 
*mplayer
 
  
Hier steht, wo diese Programme zu finden sind: [[dvb wiki script/Helferprogramme|Die Helferprogramme]]
+
Ziel ist es, den aufgenommenen Film zu schneiden und daraus eine Video-DVD zu machen. Folgende Möglichkeiten werden hier angeboten:
  
Zusätzlich sind notwendig:
+
* Den Film schneiden und daraus eine Video-DVD brennen
 +
* Das Bearbeitungsergebnis im Sicherungsordner zwischenspeichern (sichern)
 +
* Die gesicherte DVD-Struktur als Video-DVD brennen
  
*kdialog (kde4-kdialog)
+
Der grundsätzliche Weg zu einer Video-DVD ist in  [[Dvb wiki script/Weg|diesem Artikel]] im DVB_Wiki_Buch beschrieben.
*kommander
 
  
Beide Programme gehören zur Standardausstattung von OpenSuse 11.0 (mit KDE) und können mit Yast installiert werden.
+
====<font color="gray"> Daten-DVD </font>====
  
===<font color="olive"> Installation </font>===
+
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:
  
*Leere Textdatei erzeugen, irgendwo im Heimatverzeichnis
+
* Den Film schneiden und daraus eine Daten-DVD brennen
*An den Namen der Textdatei ein .sh anhängen (im Worten: Punkt sh ohne Leerzeichen dazwischen)
+
* Das Bearbeitungsergebnis im Sicherungsordner zwischenspeichern
*Die Textdatei ausführbar machen (Damit ist aus der Textdatei eine ausführbare Script-Datei geworden, bei der nur noch der Inhalt fehlt)
+
* Das gesicherte File als Daten-DVD brennen
*Den [[dvb script gui/inst_code|Installationcode]] aus dem Wiki in diese Datei kopieren.
 
*Die Script-Datei in einem Terminal starten (oder Rechtsklick auf die Datei, Öffnen mit Sonstige, sh, Im Terminal ausführen)
 
*Wenn danach gefragt wird, einen Pfad für das Hauptverzeichnis festlegen.
 
*Wenn danach gefragt wird, Pfade zu Hilfsprogrammen auswählen.
 
*Das Ende der Installation mit OK bestätigen.
 
  
===<font color="olive"> Kopieren der Programm-Codes </font>===
+
Eine solche Daten-DVD ist in einem normalen DVD-Spieler nicht abspielbar!
  
'''Kommander-Code'''
+
====<font color="gray"> Videoclip </font>====
*Den [[dvb script gui/guicode|guicode]] aus dem Wiki in folgende Textdatei kopieren: ''~/DVB_Script/GUI/guicode.kmdr''
 
*Die Textdatei ausführbar machen.
 
  
'''Bashscript-Code'''
+
Diese Gruppe verwende ich dazu, Musik-Videoclips zu schneiden und als mpeg-Datei auf die Festplatte zu speichern.. Zusätzlich kann der Ton [[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:
*Den [[dvb script gui/scriptcode|scriptcode]] aus dem Wiki in folgende Textdatei kopieren: ''~/DVB_Script/Script/scriptcode.sh''
 
*Die Textdatei ausführbar machen.
 
  
(''~/DVB_Script'' abändern, wenn während der Installation ein anderes Hauptverzeichnis gewählt wurde)
+
''Mpeg2-Stream schneiden und im Videoclip-Ordner speichern. Dabei folgende Tonspuren verwenden'':
 +
* Alle ac3 und mp2
 +
* Nur ac3
 +
* Nur mp2
 +
* Nur mp2 normalisiert
  
===<font color="olive"> Start </font>===
+
''Mpeg1-Stream schneiden und im Videoclip-Ordner speichern. Dabei folgende Tonspuren verwenden'':
 +
* Nur mp2
 +
* Nur mp2 normalisiert
  
Das Programm kann auf mehrere Arten gestartet werden. Hier eine Auswahl:
+
==<font color="maroon"> Bearbeitungszeiten </font>==
  
*Recommanded: Linksklick auf die Desktop-Datei im Verzeichnis ''~/Desktop''
+
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.
*Terminal: ''kmdr-executor ~/DVB_Script/GUI/guicode.kmdr'' (''~/DVB_Script'' abändern, wenn während der Installation ein anderes Hauptverzeichnis gewählt wurde)
 
*Linksklick auf die gerade erwähnte kmdr-Datei. Es öffnet sich das Editor-Fenster von Kommander. Hier auf Exec drücken.
 
  
===<font color="olive"> Bedienung des Programms </font>===
+
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
  
*Starten des Programms
+
* 00:00 min: Druck auf Quickstart fürs Demultiplexen mit projectx
*Auswählen der gewünschten Aktion
+
* 05:36 min: Demultiplexen fertig. Start mplex (mplex zeigt übrigens keinen Bearbeitungsfortschritt an. Also: Geduld haben!)
*Klicken auf ''Go''
+
* 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
  
Im Fortschrittfenster wird angezeigt, wie weit die Bearbeitung fortgeschritten ist.
+
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. <br>
 +
Wird der Film wegen "Überlänge" requantisiert, müssen noch ein paar Minuten zugegeben werden.
  
Im Debugfenster kann der Fortschritt noch genauer beobachtet werden. Dieses Fenster ist beim Programmstart aktiviert. Man kann es über den ''Aus-Knopf'' deaktivieren. Das Debugfenster zeigt immer die neuesten Meldungen an. Möchte man ältere Meldungen sehen, so kann dies ebenfalls über den ''Aus-Knopf'' erreicht werden.
+
==<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]]
Die GUI kann keine zweite Aufgabe starten, solange die gerade laufende Arbeit nicht erledigt ist. Das bedeutet auch, daß die Einstellungen am Debugfenster vor dem Drücken des ''Go-Knopfes'' zu erfolgen haben. Nach Beenden der Aufgabe kann der Fensterinhalt auch noch angesehen werden (Fehlersuche), solange das Programm nicht vollständig beendet wurde (nach Ablauf von 1000 Sekunden oder nach Drücken auf das Popupfenster, welches das Ende ankündigt).
 
 
 
Es ist zu beachten, daß die Bearbeitung eines längeren Filmes auch länger dauern kann. Das Tool mplex hat leider die Angewochnheit, keine Fortschrittanzeige zu produzieren. Man darf aber von folgenden Zeiten ausgehen: Das Multiplexen wird ebenso lange dauern wie das Demultiplexen mit ProjectX. Und das können schon einmal 5 bis 10 Minuten sein (in Abhängigkeit von Rechner und Filmgrösse). Also, nicht die Geduld verlieren!
 
 
 
==<font color="green"> Die Details: Das Installations-Script </font>==
 
 
 
===<font color="olive"> Hauptprogramm </font>===
 
 
 
Hier werden die einzelnen Funktionen des Scriptes nacheinander aufgerufen und ausgeführt. Erst wenn eine Funktion abgearbeitet ist, wird die nächste aufgerufen. Das Hauptprogramm befindet sich am Ende des Scriptes. Das ist notwendig, da beim Scriptstart erst alle Funktionen geladen werden müssen, um verwendet werden zu können.
 
 
 
Hier die einzelnen Funktionen in der Reihenfolge, in der sie vom Hauptprogramm abgerufen werden.
 
 
 
*defaultwerte_laden
 
*verzeichnisstruktur_inifiles
 
*hauptverzeichnis_festlegen
 
*verzeichnisstruktur_hauptfiles
 
*ini_file_pjx
 
*hilfsprogramme_abfragen
 
*desktop_datei_anlegen
 
*hinweis
 
 
 
===<font color="olive"> Funktionen </font>===
 
 
 
Schauen wir nun, was in den Funktionen geschieht:
 
 
 
'''defaultwerte_laden ()'''
 
 
 
Viele User werden ihre Aufnahmen, Videoclips und OpenOffice-Dateien an Orten abspeichern, die ihnen sinnvoll erscheinen. Hier kann der Nutzer diese Pfade eingegen. Ändert er nichts, werden Default-Einstellungen verwendet:
 
*''aufnahmeordner:'' Hier speichert das Aufnahmeprogramm (z.B. kaffeine) die DVB-Aufnahmen.
 
*''schablonenordner:'' Hier befinden sich die Druckschablonen für den DVD-Direktdruck. Wie solche Schablonen selber gebaut werden können, steht hier: [[DVD Direktdruck]]
 
*''clipordner:'' Hier werden die fertigen Videoclips gepeichert
 
 
 
'''verzeichnisstruktur_inifiles ()'''
 
 
 
Um die Kommunikation zwischen Arbeitsscript und GUI zu gewährleisten, müssen einige Dateien an fest definierten Orten stehen. Hierzu wird das Verzeichnis ''~/.dvb_script_gui.ini'' erstellt, das einige Unterverzeichnisse besitzt:
 
 
 
*''fortschrittfenster:'' Diese Datei enthält den im Script festgelegten Text, der dann in der GUI angezeigt werden kann
 
*''debugfenster:'' In diese Datei wird die Standard-Fehlerausgabe der verwendeten Scriptbefehle umgeleitet. Sie kann in der GUI angezeigt werden.
 
*''pfad_hauptverzeichnis:'' Hier steht der Pfad zum Hauptverzeichnis drin, der im nächsten Schritt festgelegt wird
 
*''X.ini.film:'' Das ist die Initialisierungdatei für ProjectX
 
*''aufnahme-, schlablonen, clipordner:'' Hier stehen die vorhin festgelegten Default-Pfade
 
*''hilfsprogramme:'' Hier sind die Pfade zu den Hilfsprogrammen enthalten, die nachher noch abgefragt werden
 
 
 
'''hauptverzeichnis_festlegen ()'''
 
 
 
In dieser Funktion wird der Pfad zum und der Name des Hauptverzeichnisses abgefragt und angelegt. Die prinzipielle Wirkungsweise dieser Funktion kann hier nachgelesen werden: [http://wiki.linux-club.de/opensuse/Dvb_wiki_script/Programmieranleitung#basisverzeichnis_festlegen_.28.29 Basisverzeichnis_festlegen]
 
 
 
'''verzeichnisstruktur_hauptfiles ()'''
 
 
 
Die vom Programm benötigte Verzeichnisstruktur wird nun erzeugt. Hier die Erläuterung zu einigen der Verzeichnisse:
 
 
 
*''${hauptverzeichnis}/gui/guicode.kmdr:'' In diese Datei muß der User den Programmcode der Bedienoberfläche kopieren (siehe die Kurzanleitung oben)
 
*''${hauptverzeichnis}/script/scriptcode.sh:'' In diese Datei muß der User den Programmcode des Arbeitsscriptes kopieren (siehe die Kurzanleitung oben)
 
*''${hauptverzeichnis}/save:'' Enthält die fertig bearbeiteten Files (DVD-Struktur und/oder TS-Files), die noch gebrannt werden müssen
 
*''${hauptverzeichnis}/screenshot:'' Hier findet man die Screenshots, die dann für den DVD-Direktdruck verwendet werden können
 
*''${hauptverzeichnis}/temp/*:'' Temporäre Ordner, die beim Programmstart geleert werden
 
 
 
So noch nicht vorhanden, werden noch die Verzeichnisse für Aufnahhme, Videoclips und Druckschablonen angelegt.
 
 
 
'''ini_file_pjx ()'''
 
 
 
Die Initialisierungsdatei für ProjectX ist hier erklärt: [http://wiki.linux-club.de/opensuse/Dvb_wiki_script/Programmieranleitung#X.ini_f.C3.BCr_Filmbearbeitung X.ini]
 
 
 
'''hilfsprogramme_abfragen ()'''
 
 
 
Die prinzipielle Wirkungsweise dieser Funktion kann hier nachgeschlagen werden: [http://wiki.linux-club.de/opensuse/Dvb_wiki_script/Programmieranleitung#programmerkennung_.28.29 Programmerkennung]
 
 
 
'''desktop_datei_anlegen ()'''
 
 
 
Eine Desktop-Datei ist eine Startdatei für ein Programm. Sie kann in KDE einfach erstellt werden, in dem man mit der rechten Maustaste auf die Arbeitsfläche klickt und im Kontextmenue dann auswählt: < Neu erstellen - Verknüpfen mit Programm > Dann einfach alles Notwendige ausfüllen.
 
 
 
Der Code einer solchen Startdatei kann mit kate angesehen werden. Hier die Erklärung der wichtigsten Einstellungen für unseren speziellen Fall, nämlich den Start des DVB-Script-Programmes:
 
 
 
*''Exec=kmdr-executor ${hauptverzeichnis}/gui/guicode.kmdr:'' Mit diesem Eintrag startet das Programm
 
*''Icon=kcmperformance:'' Eine kleine Rakete wurde als Icon für die Startdatei ausgewählt
 
*''Terminal=false:'' Das Programm nicht in einem Terminal ausführen
 
 
 
Das Startprogramm wird hier angelegt: ~/Desktop/DVB-Script
 
 
 
Nach erfolgreicher Installation kann das Programm durch Linksklick auf diese Datei gestartet werden.
 
 
 
==<font color="green"> Die Details: Der Guicode </font>==
 
 
 
In der Datei ''${hauptverzeichnis}/gui/guicode.kmdr'' findet man den für die Bedienoberfläche verantwortlichen Programmcode. Dabei handelt es sich eigentlich um ein XML-File, dessen Struktur mit einem Texteditor (kate) angesehen werden kann.
 
 
 
Diese Datei kann auf zwei Arten, abhängig von den Intentionen des Nutzers, gestartet werden:
 
 
 
*''kmdr-executor ${hauptverzeichnis}/gui/guicode.kmdr'' Damit wird die GUI und damit das DVB-Programm gestartet
 
*''kmdr-editor ${hauptverzeichnis}/gui/guicode.kmdr'' Die Bedienoberfläche öffnet im Editor-Modus und kann verändert (umprogrammiert) werden
 
 
 
In einem seperaten Artikel (ist noch am entstehen) wird gezeigt, wie mit Hilfe eines kmdr-Kommander-Programmes eine GUI für ein Shellscript erstellt werden kann. Die Benutzeroberfläche für das DVB-Script wird dann als Beispiel dienen und ausführlich erklärt werden.
 
 
 
Wenn ich diesen Artikel hochgeladen habe, stelle ich hier einen Link ein.
 
 
 
==<font color="green"> Die Details: Der Scriptcode </font>==
 
 
 
Bei diesem Bashscript handelt es sich um eine angepasste Version des [[dvb wiki script/Script|DVB-Wiki-Scriptes]]. Die Funktionsweise des Scriptes kann im [[dvb wiki script|Wikibuch]] nachgelesen werden werden. Einige Änderungen waren notwendig, um das Script zur Zusammenarbeit mit der GUI zu bewegen. Diese Änderungen werden hier kurz beschrieben:
 
 
 
===<font color="olive"> Start der gewünschten Aufgaben </font>===
 
 
 
Das Script aus dem Wiki-Buch war ein einziges großes Script, das alles enthielt: Installation, Auswahl der Aufgaben, Ausführung der Aufgaben.
 
 
 
Die Auswahl der Aufgaben wird nunmehr in der GUI erledigt. Es wird dabei eine Kennzahl (z.B. 11 für das Bearbeiten und Brennen einer Video-DVD) an des Arbeitsscript übergeben. Diese Kennzahl wird in der schon vom DVB-Wiki-Script bekannten Variablen ''was_tun'' gespeichert. Damit kann die Struktur des restlichen Wiki-Scriptes ohne große Änderungen verwendet werden.
 
 
 
Die Übernahme der Kennzahl erfolgt mit dem Befehl
 
was_tun=$1
 
Altbekannt und problemlos also!
 
 
 
===<font color="olive"> Texte zur Information des Benutzers </font>===
 
 
 
Um den User immer auf dem Laufenden zu halten, wie weit die Bearbeitung schon fortgeschritten ist, ist es notwendig, das Wiki-Buch-Script in einer Konsole zu starten. Das Konsolenfenster dient dann als Fortschrittfenster. Ein und Ausgaben erfolgen mit kdialog.
 
 
 
Im neuen Script wurde die Verwendung von kdialog für Ein- und Ausgaben beibehalten. Die Fortschrittanzeige dagegen wurde an die GUI übergeben.Und das funktioniert so:
 
 
 
'''Das Fortschrittfenster'''
 
 
 
Der Inhalt der Datei ''~/.dvb_script_gui.ini/fortschrittfenster'' wird in der GUI periodisch abgefragt und dann in einem Fenster zur Anzeige gebracht. Diese Datei wird vom Arbeitsscript mit Text gefüllt:
 
 
 
'''Die Scriptfunktion fenster1 ()'''
 
 
 
<pre>
 
fenster1 ()
 
{
 
echo "$1" > ~/.dvb_script_gui.ini/fortschrittfenster
 
}
 
</pre>
 
 
 
Die Datei ''~/.dvb_script_gui.ini/fortschrittfenster'' wird mit dem Text gefüllt, welcher beim Aufruf der Funktion übergeben wird. Der alte Inhalt der Datei wird dabei gnadenlos und ohne Rückfrage überschrieben.
 
 
 
'''Die Scriptfunktion fenster1_mehr ()'''
 
 
 
<pre>
 
fenster1_mehr ()
 
{
 
echo "$1" >> ~/.dvb_script_gui.ini/fortschrittfenster
 
}
 
</pre>
 
 
 
Der an diese Funktion übergebene Text wird an den schon in der Datei ''~/.dvb_script_gui.ini/fortschrittfenster'' vorhandenen Text angehängt. So kann ein wunderschönes Fortschrittslog erzeugt werden.
 
 
 
'''Die Scriptfunktion programmende ()'''
 
 
 
<pre>
 
programmende ()
 
{
 
fenster1_mehr ""
 
fenster1_mehr "Ende"
 
kdialog --passivepopup "Programmende" 1000
 
fenster1 ""
 
exit
 
</pre>
 
 
 
An Hand dieser Funktion soll gezeigt werden, wie das Ganze funktioniert. Diese Funktion wird im Script dann aufgerufen, wenn durch irgend einen Umstand das Programm beendet werden soll. Sie macht dann Folgendes:
 
*''fenster1_mehr "":'' Der Funktion ''fenster1_mehr'' wird "nichts" übergeben. Das äußert sich in einer Leerzeile in der Datei ''~/.dvb_script_gui.ini/fortschrittfenster'' und damit im Anzeigefenster in der GUI.
 
*''fenster1_mehr "Ende":'' Nun wird in die nächste Zeile der Datei ''~/.dvb_script_gui.ini/fortschrittfenster'' der Text "Ende" geschrieben.
 
*''kdialog --passivepopup "Programmende" 1000:'' Mit einem Popup wird die Anzeige "Programmende" auf den Bildschirm gebracht. Diese Anzeige bleibt 1000s lang stehen, wenn nicht auf das Popup-Fenster geklickt wird. Ist diese Zeit abgelaufen oder ein Ungeduldiger hat doch auf das Popup geklickt, dann gehts weiter mit der Funktion ''fenster1''.
 
*''fenster1 "":'' Es wird eine Leerzeile in die Datei ''~/.dvb_script_gui.ini/fortschrittfenster'' geschrieben. Diesmal wird der alte Dateitext aber überschrieben. Der Inhalt der Datei wird also quasi gelöscht.
 
*''exit:'' Dasx Arbeitsscript wird verlassen und die Steuerung an die GUI übergeben. Dort kann eine neue Aufgabe angewählt werden oder Feierabend gemacht werden.
 
 
 
Alles klar?
 
 
 
'''Das Debugfenster'''
 
 
 
Ein zweites Textfenster ist in der GUI vorhanden, das ebenso funktioniert wie das Fortschrittfenster. Dazu wird die Datei ''~/.dvb_script_gui.ini/debugfenster'' von der GUI periodisch abgefragt und der Inhalt dieser Datei im Debugfenster zur Anzeige gebracht.
 
 
 
Der Sinn des Ganzen ist es, Meldungen der gerade laufenden Hilfsprogramme in einem Log anzuzeigen. Dies kann gut zur Fehlersuche bei der Scriptprogrammierung oder auch nur als eine erweiterte Fortschrittanzeige genutzt werden, ganz nach den Notwendigkeiten und Wünschen des Nutzers.
 
 
 
Mit folgender Anweisung werden die Meldungen, welche die Hilfsprogramme über den Standard-Fehlerkanal absetzen, zeilenweise in die Datei ''~/.dvb_script_gui.ini/debugfenster'' geschrieben:
 
 
 
exec 2> ~/.dvb_script_gui.ini/debugfenster
 
 
 
===<font color="olive"> Playlist für mplayer </font>===
 
 
 
'''Playlist erzeugen'''
 
 
 
<pre>
 
playlist_aktualisieren ()
 
{
 
find $clip_pfad/* > ~/.mplayer/playlist
 
}
 
</pre>
 
 
 
Für Mplayer gibt es das versteckte Verzeichnis ''~/.mplayer''. In diesem Verzeichnis kann eine Wiedergabeliste angelegt werden mit dem Name ''playlist''. Die abzuspielenden Videoclips müssen zeilenweise in dieser Datei stehen.
 
 
 
In der Variablen ''clip_pfad'' ist der Pfad zu dem Verzeichnis enthalten, in dem die fertig bearbeiteten Videoclips gespeichert werden. Diese Clips werden mit ''find'' gesucht und in die Datei ''~/.mplayer/playlist'' geschrieben.
 
 
 
Diese Aktualisierung wird jedesmal ausgeführt, wenn im Programm eine neue Aufgabe gestartet wird.
 
 
 
'''Playlist abspielen'''
 
 
 
Die 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.
 
  
 +
{{dvb_script_gui_navibox}}
 
[[Multimedia|Zurück zur Multimedia-Übersicht]]
 
[[Multimedia|Zurück zur Multimedia-Übersicht]]
[[Category:Multimedia]]
+
[[Category:DVB-Weiterverarbeitung]]

Aktuelle Version vom 3. April 2010, 20:01 Uhr

Diese Beschreibung wurde mit folgenden Distributionen getestet:

OpenSuse 11.0 (32Bit) mit KDE 3.9.x / 4.1 / 4.2
OpenSuse 11.1 (32Bit) mit KDE 4.3
OpenSuse 11.2 (32Bit) mit KDE 4.3 / 4.4
OpenSuse 11.3 (32Bit) mit KDE 4.5


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 (sichern)
  • Die gesicherte DVD-Struktur als Video-DVD brennen

Der grundsätzliche Weg zu einer Video-DVD ist in diesem 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

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

Videoclip

Diese Gruppe verwende ich dazu, Musik-Videoclips zu schneiden und als mpeg-Datei auf die Festplatte zu speichern.. 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.
Wird der Film wegen "Überlänge" requantisiert, müssen noch ein paar Minuten zugegeben werden.

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