Form2 Form2 0 0 520 519 2 Filme auf DVD @StatusBar1.setText("Bereit.") StatusBar1 0 500 390 22 LiveKonsole 390 500 130 20 Zeige &Konsole Unsichtbar konsole --nomenubar --notabbar --notoolbar -e TabWidget1 0 10 520 490 tab MPE&G bearbeiten ButtonGroup2 10 100 500 110 Schritt 2 - Dateien auswählen Label2 10 30 44 20 <b>Video</b> Label5 10 70 44 20 <b>Audio</b> M2vVideo 60 30 420 25 @widgetText *.m2v |Video (*.m2v) MpaAudio 60 70 420 25 @widgetText *.mpa |Audio (*.mpa) ButtonGroup3 10 230 500 110 Schritt 3 - Verkleinern Label4_2 10 30 53 20 <b>Faktor</b> RequantWert 240 60 30 20 <b>1</b> <b>@expr(@Slider1.text / 100.0)</b> Slider1 70 28 410 29 100 300 10 100 Horizontal Below @widgetText ExecButton2 190 80 100 25 &OK @StatusBar1.setText("Arbeite...") @Kleiner.execute @StatusBar1.setText("Bereit.") Kleiner 460 70 32 32 @switch(@String.contains("@LiveKonsole", "Unsichtbar")) @case(1) Verkleinern=`tcrequant -i @M2vVideo -o /tmp/neu.m2v -f @expr(@Slider1.text / 100.0)` @case(0) Verkleinern=`@LiveKonsole tcrequant -i @M2vVideo -o /tmp/neu.m2v -f @expr(@Slider1.text / 100.0)` @end if $Verkleinern; then mv /tmp/neu.m2v @M2vVideo kdialog --msgbox "Video wurde verkleinert und unter @M2vVideo gespeichert." fi ButtonGroup4 10 360 500 90 Schritt 4 - Neue MPEG Datei erstellen Label5_2 10 30 69 20 <b>Ausgabe</b> FinalMPEG 80 30 410 25 @widgetText Save ExecButton3 190 60 100 25 &Multiplex @StatusBar1.setText("Arbeite...") @Multiplexer.execute @StatusBar1.setText("Bereit.") Multiplexer 460 60 32 32 @switch(@String.contains("@LiveKonsole", "Unsichtbar")) @case(1) Packen=`mplex -f 8 -o @FinalMPEG @M2vVideo @MpaAudio` @case(0) Packen=`@LiveKonsole mplex -f 8 -o @FinalMPEG @M2vVideo @MpaAudio` @end if $Packen; then kdialog --msgbox "@FinalMPEG wurde erstellt." fi ButtonGroup1 10 10 501 70 Schritt 1 - MPEG Stream korrigieren ExecButton1 140 30 210 25 Demultiplex mit &ProjectX @exec(projectx) tab &SVCD zu DVD ButtonGroup8 10 10 500 150 SVCD Video Label13 10 30 52 20 <b>Video</b> Label14 10 70 69 20 <b>Ausgabe</b> SVCDVideo 80 30 400 25 @widgetText SVCDVerzeichnis 80 70 400 25 @widgetText Directory ExecButton5 200 110 80 25 &OK @StatusBar1.setText("Arbeite...") @SVCDWandler.execute @StatusBar1.setText("Bereit.") SVCDWandler 470 420 32 32 @switch(@String.contains("@LiveKonsole", "Unsichtbar")) @case(1) bbdmux @SVCDVideo 0xe0 @SVCDVerzeichnis/newsvcd.m2v transcode -i @SVCDVideo -x null,mp3 -y null,mp2enc -E 48000 -b 224 -o @SVCDVerzeichnis/svcdton FINAL=`tcmplex-panteltje -i @SVCDVerzeichnis/newsvcd.m2v -p @SVCDVerzeichnis/svcdton.mpa -o @SVCDVerzeichnis/Final.mpeg -m d` rm @SVCDVerzeichnis/newsvcd.m2v @SVCDVerzeichnis/svcdton.mpa @case(0) echo "#!/bin/bash" > /tmp/svcdscript.sh echo "bbdmux @SVCDVideo 0xe0 @SVCDVerzeichnis/newsvcd.m2v" >> /tmp/svcdscript.sh echo "transcode -i @SVCDVideo -x null,mp3 -y null,mp2enc -E 48000 -b 224 -o @SVCDVerzeichnis/svcdton" >> /tmp/svcdscript.sh chmod u+x /tmp/svcdscript.sh @LiveKonsole /tmp/svcdscript.sh FINAL=`tcmplex-panteltje -i @SVCDVerzeichnis/newsvcd.m2v -p @SVCDVerzeichnis/svcdton.mpa -o @SVCDVerzeichnis/Final.mpeg -m d` rm @SVCDVerzeichnis/newsvcd.m2v @SVCDVerzeichnis/svcdton.mpa /tmp/svcdscript.sh @end if $FINAL;then kdialog --msgbox "@SVCDVerzeichnis/Final.mpeg wurde erstellt." fi tab XviD &zu DVD ButtonGroup9 10 10 500 190 XviD Video Label16 10 70 51 20 <b>Video</b> Label15 10 30 60 20 <b>Bitrate</b> Label17 10 110 70 20 <b>Ausgabe</b> Label18 160 30 51 20 kbit/s XviDBitrate 80 30 80 22 @widgetText XviDVideo 80 70 410 24 @widgetText XviDVerzeichnis 80 110 410 24 @widgetText Save ExecButton6 210 150 71 24 &OK @StatusBar1.setText("Arbeite...") @XviDWandler.execute @StatusBar1.setText("Bereit.") XviDWandler 470 420 32 32 @switch(@String.contains("@LiveKonsole", "Unsichtbar")) @case(1) FINAL=`ffmpeg -i @XviDVideo -target pal-dvd -b @XviDBitrate @XviDVerzeichnis` @case(0) FINAL=`@LiveKonsole ffmpeg -i @XviDVideo -target pal-dvd -b @XviDBitrate @XviDVerzeichnis` @end if $FINAL;then kdialog --msgbox "@XviDVerzeichnis wurde erstellt." fi tab D&VD erstellen ButtonGroup6 10 180 500 150 Film 2 Label6_2 10 30 44 20 <b>Video</b> Label7_2 10 70 88 20 <b>Screenshot</b> Label8_2 10 110 37 20 <b>Titel</b> DVDVideo2 100 30 380 25 @widgetText Bild2 100 70 380 25 @widgetText Titel2 100 110 290 23 @widgetText ButtonGroup7 10 350 500 90 DVD erstellen Label12 10 30 70 20 <b>Ausgabe</b> DVDSpeicher 100 30 380 25 @widgetText Directory ExecButton4 210 60 70 25 &OK @execBegin cd @DVDSpeicher convert @Bild1 -geometry 242x192! -bordercolor gray25 -border 5x5 screen1.jpg convert @Bild2 -geometry 242x192! -bordercolor gray25 -border 5x5 screen2.jpg convert -size 720x576 null:black black.jpg composite -geometry +400+50 screen1.jpg black.jpg back2.jpg composite -geometry +400+300 screen2.jpg back2.jpg back3.jpg convert -font "-adobe-avantgarde-medium-r-normal-*-*-180-*-*-p-*-iso8859-15" -fill white -draw "text 60,150 '@Titel1'" back3.jpg back4.jpg convert -font "-adobe-avantgarde-medium-r-normal-*-*-180-*-*-p-*-iso8859-15" -fill white -draw "text 60,400 '@Titel2'" back4.jpg back5.jpg convert -size 720x576 null:transparent mask.png convert -size 242x192 xc:transparent -bordercolor white -border 5x5 high1.png composite -geometry +400+50 high1.png mask.png maskhigh1.png composite -geometry +400+300 high1.png maskhigh1.png high.png convert -size 242x192 xc:transparent -bordercolor green -border 5x5 sel1.png composite -geometry +400+50 sel1.png mask.png masksel1.png composite -geometry +400+300 sel1.png masksel1.png sel.png cat <<EOF > spumux.xml <subpictures> <stream> <spu start="0" force="yes" highlight="high.png" select="sel.png" autoorder="rows" autooutline="infer" outlinewidth="7" /> </stream> </subpictures> EOF dd if=/dev/zero bs=4 count=19200 | toolame -b 128 -s 48 /dev/stdin silence.mp2 1>/dev/null || error_out convert back5.jpg background.ppm; ppmtoy4m -n 30 -F 25:1 -r background.ppm | mpeg2enc -a 2 -n p -f 8 -o vmgm.m2v || error_out mplex -f 8 -o /dev/stdout vmgm.m2v silence.mp2 | spumux -v4 spumux.xml > vmgm.mpg || error_out cat <<EOF > dvdauthor.xml <dvdauthor dest="@DVDSpeicher"> <vmgm> <menus> <video format="pal" resolution="704x576"/> <pgc> <vob file="vmgm.mpg" pause="inf"/> <button> jump title 1; </button> <button> jump title 2; </button> </pgc> </menus> </vmgm> <titleset> <titles> <pgc> <vob file="@DVDVideo1" chapters="0,0:15:00,0:30:00,0:45:00,1:00:00,1:15:00,1:30:00,1:45:00"/> <post>call vmgm menu 1;</post> </pgc> </titles> </titleset> <titleset> <titles> <pgc> <vob file="@DVDVideo2" chapters="0,0:15:00,0:30:00,0:45:00,1:00:00,1:15:00,1:30:00,1:45:00"/> <post>call vmgm menu 1;</post> </pgc> </titles> </titleset> </dvdauthor> EOF DVD=`dvdauthor -x dvdauthor.xml` if $DVD; then kdialog --title "Fertig" --yesno "Die DVD wurde erstellt. Das Menu anzeigen? " if [ "$?" = "0" ]; then kuickshow @DVDSpeicher/back5.jpg fi fi @execEnd ButtonGroup5 10 10 500 150 Film 1 Label6 10 30 44 20 <b>Video</b> Label7 10 70 88 20 <b>Screenshot</b> Label8 10 110 37 20 <b>Titel</b> Titel1 100 110 290 23 @widgetText DVDVideo1 100 30 380 25 @widgetText Bild1 100 70 380 25 @widgetText Slider1 valueChanged(int) RequantWert populate()