Dvb wiki script/Script
| Vom DVB zur DVD, ein Wikibuch: Übersicht - Der Weg - Die Helferprogramme - Das Script - Installation - Bedienungsanleitung - Programmieranleitung |
Bitte die Installationsanleitung beachten!
#!/bin/bash
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++BESCHREIBUNG ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#Name: DVB_Wiki_Buch_Script
#Version: 0.7.0
#Erstellungsdatum: 29.8.2008
#Autor: escho (www.linux-club.de)
#Benutzung auf eigene Gefahr
#Dieses Shell Script automatisiert weitgehend die Vorgänge, die nötig sind, um aus einer DVB-Aufnahme
#eine abspielbare Video-DVD zu erzeugen
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Funktionen++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#
#°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°Für's Austesten°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
stop ()
{
kdialog --msgbox "Programm unterbrochen"
}
#°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°Initialisierung°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
#-----Basisverzeichnis festlegen beim ersten Scriptaufruf-----
basisverzeichnis_festlegen ()
{
echo "*** Festlegen des Basisverzeichnisses ***"
if [ ! -e ~/.dvb_wiki_script_arbeitsverzeichnis.txt ]
then
hilfsverzeichnis=`kdialog --caption "Name des Arbeitsverzeichnisses" --inputbox ~/ dvb_wiki_script`
if [ $? = 0 ]
then
basisverzeichnis=~/`echo $hilfsverzeichnis | tr -d " "`
if [ -e ${basisverzeichnis} ]
then
kdialog --passivepopup "Verzeichnis existiert schon! Bitte neu wählen" 3
basisverzeichnis_festlegen
else
kdialog --passivepopup "Die Verzeichnisstruktur wird in folgendem Arbeitsverzeichnis erstellt: ${basisverzeichnis}" 3
echo ${basisverzeichnis} > ~/.dvb_wiki_script_arbeitsverzeichnis.txt
fi
else
kdialog --passivepopup "Abbruch durch den Benutzer. Das Script wird nun beendet." 3
exit
fi
fi
echo "*** erledigt" ; echo
}
#-----Basisverzeichnis und Arbeitsverzeichnisse anlegen-----
arbeitsverzeichnisse_erstellen ()
{
basisverzeichnis=`cat ~/.dvb_wiki_script_arbeitsverzeichnis.txt`
if [ ! -e ${basisverzeichnis} ] ; then mkdir ${basisverzeichnis} ; fi
if [ ! -e ${basisverzeichnis}/dvd_aufnahme ] ; then mkdir ${basisverzeichnis}/dvd_aufnahme ; fi
if [ ! -e ${basisverzeichnis}/dvd_tmp ] ; then mkdir ${basisverzeichnis}/dvd_tmp ; fi
if [ ! -e ${basisverzeichnis}/dvd_tmp1 ] ; then mkdir ${basisverzeichnis}/dvd_tmp1 ; fi
if [ ! -e ${basisverzeichnis}/dvd_struktur ] ; then mkdir ${basisverzeichnis}/dvd_struktur ; fi
if [ ! -e ${basisverzeichnis}/dvd_sicherung ] ; then mkdir ${basisverzeichnis}/dvd_sicherung ; fi
if [ ! -e ${basisverzeichnis}/dvd_default ] ; then mkdir ${basisverzeichnis}/dvd_default ; fi
if [ ! -e ${basisverzeichnis}/dvd_screenshot ] ; then mkdir ${basisverzeichnis}/dvd_screenshot ; fi
}
programmerkennung ()
{
echo "*** Programmerkennung ***"
name[0]=mplex
name[1]=tcrequant
name[2]=dvdauthor
name[3]=ProjectX.jar
name[4]=normalize
name[5]=ffmpeg
name[6]=growisofs
name[7]=kdialog
name[8]=kaffeine
for ((i=0 ; i<9 ; i++))
do
touch $basisverzeichnis/dvd_default/pfad[$i].txt
pfad[i]=`cat $basisverzeichnis/dvd_default/pfad[$i].txt`
if [ ! -e ${pfad[i]}/${name[i]} ]
then
echo "${name[i]}: Datei wird gesucht"
gefundene_pfade=`find /bin /home /opt /usr -type f -name ${name[i]} -printf "%h " 2>/dev/null`
pfadanzahl=`echo "$gefundene_pfade" | wc -w`
case "$pfadanzahl" in
0) kdialog --passivepopup "Das Programm wurde nicht gefunden. Bitte installieren." 3
exit ;;
1) echo "${name[i]}: Datei gefunden" ; echo
echo $gefundene_pfade > $basisverzeichnis/dvd_default/pfad[$i].txt ;;
*) auswahl_gefundene_pfade=`kdialog --caption "${name[i]}" --combobox "Bitte Pfad auswählen" $gefundene_pfade --default $gefundene_pfade`
if [ $? = 0 ]
then
echo ${auswahl_gefundene_pfade} > $basisverzeichnis/dvd_default/pfad[$i].txt
else
kdialog --passivepopup "Abbruch durch den Benutzer. Das Script wird nun beendet." 3
exit
fi
echo "${name[i]}: Datei gefunden" ; echo ;;
esac
fi
done
echo "*** erledigt" ; echo
}
#-----Variablenzuweisungen zur besseren Lesbarkeit des Scriptes-----
variablenzuweisungen ()
{
mplex=${pfad[0]}/${name[0]}
tcrequant=${pfad[1]}/${name[1]}
dvdauthor=${pfad[2]}/${name[2]}
pjx=${pfad[3]}/${name[3]}
normalize=${pfad[4]}/${name[4]}
ffmpeg=${pfad[5]}/${name[5]}
growisofs=${pfad[6]}/${name[6]}
kdialog=${pfad[7]}/${name[7]}
kaffeine=${pfad[8]}/${name[8]}
aufnahme_pfad=${basisverzeichnis}/dvd_aufnahme
tmp_pfad=${basisverzeichnis}/dvd_tmp
dvdstruktur_pfad=${basisverzeichnis}/dvd_struktur
sicherungs_pfad=${basisverzeichnis}/dvd_sicherung
screenshot_pfad=$basisverzeichnis/dvd_screenshot
default_pfad=${basisverzeichnis}/dvd_default
clip_pfad=~/Videoclips_mp2_ac3
}
#-----Vorbereiten der X.ini's für ProjectX----
konfiguration ()
{
#---X.ini für Filmbearbeitung---
echo \
"# Application
Application.Agreement=1
Application.Language=de
# WindowPosition
WindowPosition.Main.Height=670
WindowPosition.Main.Width=866
WindowPosition.Main.X=500
WindowPosition.Main.Y=0
# OptionPanel
OptionPanel.NormalLog=0
OptionPanel.closeOnEnd=1" > ${default_pfad}/X.ini.film
#---Voreinstellungen---
brenngeschwindigkeit=8 #maximale Brenngeschwindigkeit
maxgroesse=4600000000 #für DVD5
}
#°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°Verwaltung / Löschen°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
loeschen_temporaere_arbeitsordner ()
{
echo "*** Löschen der temporären Arbeitsordner (kann etwas dauern)***"
rm ${basisverzeichnis}/dvd_tmp/* 2>/dev/null
rm ${basisverzeichnis}/dvd_tmp1/* 2>/dev/null
rm -r ${basisverzeichnis}/dvd_struktur/* 2>/dev/null
rmdir ${basisverzeichnis}/dvd_struktur/* 2>/dev/null
echo "*** erledigt" ; echo
}
loeschen_dvd_sicherung ()
{
loeschordner="dvd_sicherung"
anzeige_was_wird_geloescht
wirklich
rm -r ${basisverzeichnis}/dvd_sicherung/*
}
loeschen_dvd_screenshot ()
{
loeschordner="dvd_screenshot"
anzeige_was_wird_geloescht
wirklich
rm $basisverzeichnis/dvd_screenshot/*
}
basisverzeichnis_aendern ()
{
kdialog --msgbox "Es wird folgende Datei gelöscht:
~/.dvb_wiki_script_arbeitsverzeichnis.txt
Beim nächsten Scriptstart wird sie neu angelegt.
Dann muß ein neues Arbeitsverzeichnis gewählt werden
"
wirklich
rm ~/.dvb_wiki_script_arbeitsverzeichnis.txt
}
deinstallation ()
{
kdialog --msgbox "Es werden folgende Dateien gelöscht:
~/.dvb_wiki_script_arbeitsverzeichnis.txt
${basisverzeichnis}
DEINSTALLATION DES SCRIPTS
Alle Scriptordner werden gelöscht.
Das Aufnahmeverzeichnis wird gelöscht.
"
wirklich
rm ~/.dvb_wiki_script_arbeitsverzeichnis.txt
rm -r ${basisverzeichnis}/*
rmdir ${basisverzeichnis}
}
anzeige_was_wird_geloescht ()
{
cd ~/dvb_wiki_script_basisordner/$loeschordner
ordnerinhalt=`ls -d1 * `
kdialog --msgbox "$loeschordner enthält folgende Dateien:
$ordnerinhalt"
}
wirklich ()
{
kdialog --yesno "??? WIRKLICH LÖSCHEN ???"
if [ $? != 0 ]
then
kdialog --passivepopup "Abbruch durch den Benutzer. Das Script wird nun beendet." 3
exit
fi
}
#°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°Aufgabenmenues°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
hauptmenue ()
{
auswahl_hauptmenue=`kdialog --caption "Hauptmenue" --geometry 200x250+500+400 --radiolist "Bitte einen Aufgabenbereich wählen" \
1 "VIDEO-DVD" on \
2 "TS-Stream" off \
3 "Videoclips" off \
9 "Verwaltung" off`
if [ $? != 0 ]
then
kdialog --passivepopup "Abbruch durch den Benutzer. Das Script wird nun beendet." 3
exit
fi
}
untermenue_video_dvd ()
{
brenn_pfad=${dvdstruktur_pfad}
was_tun=`kdialog --caption "Video_DVD" --geometry 600x250+400+400 --radiolist "Was also soll genau getan werden?" \
11 "VIDEO-DVD........Fernsehaufnahme schneiden --> als Video-DVD brennen" on \
12 "VIDEO-DVD........Fernsehaufnahme schneiden --> DVD-Struktur in Datei sichern" off \
13 "VIDEO-DVD........Sicherung brennen" off`
if [ $? != 0 ]
then
kdialog --passivepopup "Abbruch durch den Benutzer. Das Script wird nun beendet." 3
exit
fi
}
untermenue_ts ()
{
was_tun=`kdialog --caption "Daten-DVD" --geometry 600x250+400+400 --radiolist "Was also soll genau getan werden?" \
21 "TS-Stream..........Fernsehaufnahme schneiden --> TS als Daten-DVD brennen" on \
22 "TS-Stream..........Fernsehaufnahme schneiden --> TS sichern" off \
23 "TS-Stream..........Sicherung als Daten-DVD brennen" off`
if [ $? != 0 ]
then
kdialog --passivepopup "Abbruch durch den Benutzer. Das Script wird nun beendet." 3
exit
fi
}
untermenue_videoclip ()
{
was_tun=`kdialog --caption "Videoclips" --geometry 600x250+400+400 --radiolist "Was also soll genau getan werden?" \
31 "Videoclip.............Schneiden und speichern (Ton: MP2 normalisiert + AC3)" on \
32 "Videoclip............ Schneiden und speichern (Ton: AC3)" off \
33 "Videoclip............ Schneiden und speichern (Ton: MP2 normalisiert)" off \
34 "Mpeg1-Clip............Schneiden und speichern (Ton: MP2 normalisiert)" off`
if [ $? != 0 ]
then
kdialog --passivepopup "Abbruch durch den Benutzer. Das Script wird nun beendet." 3
exit
fi
}
untermenue_verwaltung ()
{
was_tun=`kdialog --caption "Verwaltung" --geometry 600x250+400+400 --radiolist "Was also soll genau getan werden?" \
91 "Inhalte löschen...... Temporäre Arbeitsordner" on \
92 "Inhalte löschen...... gesicherte Aufnahmen (dvd_sicherung)" off \
93 "Inhalte löschen...... Screenshots (dvd_screenshot)" off \
94 "Basisverzeichnis..... ändern" off \
95 "Deinstallation" off`
if [ $? != 0 ]
then
kdialog --passivepopup "Abbruch durch den Benutzer. Das Script wird nun beendet." 3
exit
fi
}
#°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°Auswahl der Eingangsdateien°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
filmauswahl_dvd ()
{
brenn_pfad=${dvdstruktur_pfad}
filmauswahl
}
filmauswahl_ts ()
{
brenn_pfad=${tmp_pfad}
filmauswahl
}
filmauswahl_clip ()
{
filmauswahl
}
filmauswahl ()
{
quelldatei=`kdialog --caption "Filmauswahl" --geometry 600x500-0+0 --getopenfilename ${aufnahme_pfad}`
if [ $? != 0 ]
then
kdialog --passivepopup "Abbruch durch den Benutzer. Das Script wird nun beendet." 3
exit
fi
}
verzeichnisauswahl_dvd ()
{
verzeichnistyp="*_dvd"
verzeichnisauswahl
}
verzeichnisauswahl_ts ()
{
verzeichnistyp="*_ts"
verzeichnisauswahl
}
verzeichnisauswahl ()
{
anzahl_der_sicherungen=`find $sicherungs_pfad/$verzeichnistyp -maxdepth 0 -type d | wc -l`
hilfsverzeichnis=`find $sicherungs_pfad/$verzeichnistyp -maxdepth 0 -type d`
case $anzahl_der_sicherungen in
0) kdialog --passivepopup "Es gibt nichts passendes zum Brennen. Das Script wird nun beendet." 3
exit ;;
1) kdialog --passivepopup "Folgende Sicherung wird gebrannt: $hilfsverzeichnis" 3
verzeichnis=$hilfsverzeichnis ;;
*) verzeichnis=`kdialog --combobox "Welche Datei soll gebrannt werden?" $hilfsverzeichnis`
if [ $? != 0 ]
then
kdialog --passivepopup "Abbruch durch den Benutzer. Das Script wird nun beendet." 3
exit
fi ;;
esac
brenn_pfad=$verzeichnis
}
#°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°Eingangsverarbeitung°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
#-----Schneiden und Demultiplexen-----
pjx_demux_gui ()
{
echo "*** DVB mit PJX ***"
java -jar ${pjx} -demux -gui -ini ${default_pfad}/X.ini.film -out ${tmp_pfad} -name film "$quelldatei" 1>/dev/null
echo "*** erledigt" ; echo
}
#-----Schneiden und Wandeln nach TS-----
pjx_ts_gui ()
{
echo "*** TS mit PJX ***"
java -jar ${pjx} -tots -gui -split 4300 -ini ${default_pfad}/X.ini.film -out ${tmp_pfad} -name film "$quelldatei" 1>/dev/null
echo "*** erledigt" ; echo
}
mpeg1_input ()
{
echo "*** mpeg1 demultiplexen ( Video copy, Ton --> wav) ***"
${ffmpeg} -i "${quelldatei}" ${tmp_pfad}/film.mp2 -vcodec copy ${tmp_pfad}/film.m1v
echo "*** erledigt" ; echo
}
#°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°Bearbeitung°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
requantisieren ()
{
videogroesse=`du -bc ${tmp_pfad}/*.m2v | cut -f1 | tail -n 1` #Berechnung des Requantisierungsfaktors
audio_summe=`du -bc ${tmp_pfad}/*.ac3 ${tmp_pfad}/*.mp2 | cut -f1 | tail -n 1`
audio_video_summe=`du -bc ${tmp_pfad}/*.ac3 ${tmp_pfad}/*.mp2 ${tmp_pfad}/*.m2v | cut -f1 | tail -n 1`
requantisierungsfaktor=`echo "scale=8 ; ${videogroesse}/$((maxgroesse-audio_summe))*1.04" | bc`
if [ $audio_video_summe -ge $maxgroesse ] #Wenn der Film zu gross für eine einzige DVD ist, Requantisierung anstossen
then
echo "*** Requantisieren ***"
kdialog --passivepopup "Es wird mit folgendem Faktor requantifiziert: ${requantisierungsfaktor}" 3
${tcrequant} -d2 -i ${tmp_pfad}/film.m2v -o ${tmp_pfad}/film.requant -f ${requantisierungsfaktor}
mv ${tmp_pfad}/film.requant ${tmp_pfad}/film.m2v
echo "*** erledigt" ; echo
fi
}
#........mp2-Ton auf einheitliche Lautstärke bringen (-12dBfs)..........
normalisieren ()
{
mv ${basisverzeichnis}/dvd_tmp/film.mp2 ${basisverzeichnis}/dvd_tmp1 2>/dev/null
rm ${basisverzeichnis}/dvd_tmp/*.mp2 2>/dev/null
echo "*** Ton decodieren ***"
${ffmpeg} -i ${basisverzeichnis}/dvd_tmp1/film.mp2 ${basisverzeichnis}/dvd_tmp1/film.mp2.wav 2>/dev/null
echo "*** Ton normalisieren ***"
${normalize} ${basisverzeichnis}/dvd_tmp1/film.mp2.wav
echo "*** Ton encodieren ***"
${ffmpeg} -i ${basisverzeichnis}/dvd_tmp1/film.mp2.wav -acodec mp2 -ab 192k ${tmp_pfad}/film.mp2 2>/dev/null
rm ${basisverzeichnis}/dvd_tmp1/*
echo "*** erledigt" ; echo
}
ac3_behalten ()
{
if [ ! -e ${basisverzeichnis}/dvd_tmp/*.ac3 ]
then
kdialog --passivepopup "Der Clip enthält keinen AC3-Ton. Das Script wird nun beendet." 3
exit
fi
rm ${basisverzeichnis}/dvd_tmp/*.mp2
}
mp2_behalten ()
{
if [ ! -e ${basisverzeichnis}/dvd_tmp/*.mp2 ]
then
kdialog --passivepopup "Der Clip enthält keinen mp2-Ton. Das Script wird nun beendet." 3
exit
fi
rm ${basisverzeichnis}/dvd_tmp/*.ac3
}
#°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°Multiplexen, Codieren°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
multiplexen ()
{
echo "*** Multiplexen ***"
echo "***Bearbeitung läuft - kann etwas dauern"
mpeg1_video=
mpeg2_video=
mp2_audio=
ac3_audio=
mpeg1_video=`find ${tmp_pfad} | grep "m1v"`
mpeg2_video=`find ${tmp_pfad} | grep "m2v"`
mp2_audio=`find ${tmp_pfad} | grep "mp2"`
ac3_audio=`find ${tmp_pfad} | grep "ac3"`
${mplex} -v1 -f8 -o ${tmp_pfad}/film.mpg ${mpeg1_video} ${mpeg2_video} ${mp2_audio} ${ac3_audio} 2>/dev/null
if [ ! -e ${tmp_pfad}/film.mpg ]
then
echo "*** Fehler *** Error ***Fehler ***"
kdialog --error "Es konnte keine Datei multiplext werden!"
exit
fi
echo "*** erledigt" ; echo
}
#°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°Author'n°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
authoring_ohne_menue ()
{
echo "*** Authoring der DVD ***"
${dvdauthor} -o ${dvdstruktur_pfad} -t ${tmp_pfad}/film.mpg #VOBs und "Kapitel"-IFOs
${dvdauthor} -o ${dvdstruktur_pfad} -T #VIDEO_TS.BUP und VIDEO_TS.IFO
echo "*** erledigt" ; echo
}
#°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°Ergebniskontrolle°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
abspielen ()
{
echo "*** Abspielen ***"
echo
echo "*****************************************"
echo "*** Screenshot mit Strg + s ***"
echo "*** Weiter mit Strg + q ***"
echo "*****************************************"
echo
$kaffeine -nofork --geometry 600x500-0+0 ${brenn_pfad}
echo "*** erledigt" ; echo
}
#°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°Brennen°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
brennen_video_dvd ()
{
echo "*** Video-DVD brennen ***"
kdialog --msgbox "Bitte leere DVD einlegen"
${growisofs} -speed=${brenngeschwindigkeit} -dvd-compat -Z /dev/dvd -dvd-video ${brenn_pfad}
kdialog --msgbox "Bitte DVD entnehmen"
echo "*** erledigt" ; echo
}
brennen_ts ()
{
echo "*** Daten-DVD brennen ***"
dvdzahl=`find ${brenn_pfad} -type f | wc -l`
kdialog --msgbox "Anzahl der notwendigen DVDs: ${dvdzahl}"
for((i=1; i<=${dvdzahl}; i++))
do
kdialog --msgbox "Bitte DVD Nr.: $i einlegen"
${growisofs} -speed=${brenngeschwindigkeit} -Z /dev/dvd -allow-limited-size -R -J ${brenn_pfad}/"film($((i-1)))"*
kdialog --msgbox "Bitte DVD entnehmen"
done
kdialog --msgbox "fertig"
echo "*** erledigt" ; echo
}
#°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°Sichern°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
sichern_dvd_struktur ()
{
echo "*** DVD-Struktur sichern ***"
sicherungsordner="$(date +%Y%m%d%H%M%S)_dvd"
mkdir ${sicherungs_pfad}/${sicherungsordner}
mv ${dvdstruktur_pfad}/* ${sicherungs_pfad}/${sicherungsordner}
kdialog --msgbox "Datei gesichert nach "${sicherungs_pfad}/${sicherungsordner}
echo "*** erledigt" ; echo
}
sichern_ts ()
{
echo "*** TS sichern ***"
sicherungsordner="$(date +%Y%m%d%H%M%S)_ts"
mkdir ${sicherungs_pfad}/${sicherungsordner}
mv ${tmp_pfad}/*.ts ${sicherungs_pfad}/${sicherungsordner}
kdialog --msgbox "Datei gesichert nach "${sicherungs_pfad}/${sicherungsordner}
echo "*** erledigt" ; echo
}
sichern_clip ()
{
clipspeicher=`kdialog --title "$quelldatei" --getsavefilename ${clip_pfad}`
mv ${tmp_pfad}/film.mpg "${clipspeicher}"
}
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Hauptprogramm++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#-----Initialisierung-----
basisverzeichnis_festlegen
arbeitsverzeichnisse_erstellen
programmerkennung
variablenzuweisungen
konfiguration
loeschen_temporaere_arbeitsordner
#-----Hauptmenue-----
hauptmenue
case $auswahl_hauptmenue in
1) untermenue_video_dvd ;;
2) untermenue_ts ;;
3) untermenue_videoclip ;;
9) untermenue_verwaltung ;;
esac
#-----untermenue_video_dvd-----
case $was_tun in
11) filmauswahl_dvd #Fernsehaufnahme schneiden und als Video-DVD brennen
pjx_demux_gui
requantisieren
multiplexen
authoring_ohne_menue
abspielen
brennen_video_dvd ;;
12) filmauswahl_dvd #Fernsehaufnahme schneiden und DVD-Struktur in Datei sichern
pjx_demux_gui
requantisieren
multiplexen
authoring_ohne_menue
abspielen
sichern_dvd_struktur ;;
13) verzeichnisauswahl_dvd #DVD-Struktur brennen
abspielen
brennen_video_dvd ;;
esac
#-----untermenue_ts-----
case $was_tun in
21) filmauswahl_ts #Fernsehaufnahme schneiden, TS als Daten-DVD brennen
pjx_ts_gui
brennen_ts ;;
22) filmauswahl_ts #Fernsehaufnahme schneiden, TS und sichern
pjx_ts_gui
sichern_ts ;;
23) verzeichnisauswahl_ts #gesichertes TS-file als Daten-DVD brennen
brennen_ts ;;
esac
#-----untermenue_videoclip-----
case $was_tun in
31) filmauswahl_clip #DVB-Clip: Schneiden und speichern (Ton: MP2 normalisiert + AC3)
pjx_demux_gui
normalisieren
multiplexen
sichern_clip ;;
32) filmauswahl_clip #DVB-Clip: Schneiden und speichern (Ton: AC3)
pjx_demux_gui
ac3_behalten
multiplexen
sichern_clip ;;
33) filmauswahl_clip #DVB-Clip: Schneiden und speichern (Ton: MP2 normalisiert)
pjx_demux_gui
mp2_behalten
multiplexen
sichern_clip ;;
34) filmauswahl #Mpeg1-Clip: Schneiden und speichern (Ton: MP2 normalisiert)
mpeg1_input
normalisieren
multiplexen
sichern_clip ;;
esac
#-----untermenue_verwaltung-----
case $was_tun in
91) loeschen_temporaere_arbeitsordner
wirklich ;;
92) loeschen_dvd_sicherung ;;
93) loeschen_dvd_screenshot ;;
94) basisverzeichnis_aendern ;;
95) deinstallation ;;
esac
kdialog --passivepopup "Bearbeitung beendet." 3
exit
| Vom DVB zur DVD, ein Wikibuch: Übersicht - Der Weg - Die Helferprogramme - Das Script - Installation - Bedienungsanleitung - Programmieranleitung |