diff options
Diffstat (limited to 'Tools')
-rw-r--r-- | Tools/schnitt/README | 63 | ||||
-rwxr-xr-x | Tools/schnitt/cut.pl | 19 | ||||
-rwxr-xr-x | Tools/schnitt/cut2 | 2 | ||||
-rwxr-xr-x | Tools/schnitt/cutall | 4 | ||||
-rwxr-xr-x | Tools/schnitt/cutall2 | 2 | ||||
-rwxr-xr-x | Tools/schnitt/cutt | 129 | ||||
-rwxr-xr-x | Tools/schnitt/getpreviframe.pl | 6 | ||||
-rwxr-xr-x | Tools/schnitt/mv2 | 35 | ||||
-rwxr-xr-x | Tools/schnitt/schnitt.pl | 3 | ||||
-rwxr-xr-x | Tools/schnitt/schnitt2.pl | 2 | ||||
-rwxr-xr-x | Tools/schnitt/show | 2 | ||||
-rwxr-xr-x | Tools/schnitt/vmount | 2 |
12 files changed, 157 insertions, 112 deletions
diff --git a/Tools/schnitt/README b/Tools/schnitt/README index 29953e0..8e1cacc 100644 --- a/Tools/schnitt/README +++ b/Tools/schnitt/README @@ -1,4 +1,6 @@ Sammlung von "Hilfs"-Scripten + von Matthias Schniedermeyer + ms@citd.de Diese Sammlung an "Hilfs"-Scripten habe ich mir zum scheiden und anderen Zwecken zusammengeschrieben. @@ -10,10 +12,10 @@ Ich bin nicht sonderlich gut im "Dokumentieren". Also gilt die Devise Ein paar Worte zu den "Hart"-Codierten Pfaden. -/yele/video (/video/video0) -/yelg/video (/video/video1) +/dvb/video +/dvb2/video -Sind die 2 Pfade auf meinem DVB-Rechner +Sind die 2 DVB-Rechner. /x1/video @@ -30,14 +32,23 @@ Enthalten sind folgende Scripte: cutall -> "Master"-Script zum starten des Scheide vorgangs. Ist ein "find" nach "cut" -Dateien cutt -> Das "eigentliche" Schnitt-Script - Scheidet die Stuecke aus, demultipext, remultipext, - splitted die Dateien und macht am Ende ein - ISO-Image daraus + Bei einem einzelnen Block wird diese direkt + gesplitet und dann zu einem ISO-Image verarbeitet + Wenn mehrere Teile (=War mit Werbung) vorhanden + sind, dann werden zuerst die einzelnen Teile, + legt nummerierte Verzeichniss ein und kopiert bzw + splitet die einzelnen Dateien in die Verzeichniss + und macht dann daraus die ISO-Images + (Leider funktioniert das aus irgendwelche Gruenden + (noch) nicht mit Serien die nur eine CD gross sind + aber das wird noch) index.php -> PHP-Script zum finden der Schnitt-Punkte, mit Testmoeglichkeit ob erfolgreich an diesem Punkt geschnitten werden kann -mv2 -> Zum Moven der Aufnahmen von meinem DVB-Rechner +mv2 -> Zum Moven der Aufnahmen von meinen DVB-Rechnern auf mein "Arbeitsrechner" +play -> Zum Abspielen einer Aufnahme von meinem Recher auf + dem "Frontend" DVB-Rechner schnitt.pl -> Extraiert ein einzelnes Bild um es anzuzeigen (Fuer index.php) schnitt2.pl -> Gibt alles zwischen 2 Schnittpunkten auf STDOUT aus @@ -58,27 +69,43 @@ vdr2 -> Start-Script vmount -> Mounten aller zusammengehoeriger ISO-Images zum abspielen -Hilsscripte: +Hilfsscripte: ------------ cut.pl -> Entspricht weitestgehend "split" aber mit "Nummer" anstatt Buchstaben cut2 -> Entfernt escapende Backslashes +cut2.pl/cut3.pl -> Fuer Aufnehmen die aus mehreren Bloecken bestehen + (=Mit Werbung) cutall2 -> Springt ins Schnitt-Verzeichniss und ruft das "eigentliche" Schnitt-Script auf -lmplex -> Multiplexed Datenstrome unter Zurhilfename - saemtlicher CPUs +cutall3.pl -> Wenn in einem Verzeichniss mehrere Aufnahmen sind + splitet dies Programm diese und ruft fuer jede + Aufnahme das "cutt"-Script auf schnittcommon.pli -> Das "Common" Script fuer schnitt?.pl getpreviframe.pl -> Findet das vorherige I-Frame. unsort -> Macht das Gegenteil von sort. +dump.c -> Muss in der "libmpeg3"-Verzeichniss des + "mpeg2-movie"-Packets kopiert werden und dann mit + "make" compilieren + Dieses C-Programm ist dafuer da um fuer das + PHP-Script das Bild anzuzeigen wo man gerade ist. + Da mir der "urspruengliche" Source-Code dafuer + abhanden gekommen ist und ich den Patch neumachen + musste (Wie immer mit "Verbesserungen") ist index.php + nocht nicht auf die neue Version angepasst. Die + Anpassung besteht aber nur darin eine "1" an die + Kommandozeile anzuhaengen. -Die ganze "Schnittloesung" ist leider etwas "unbrauchbar", weil ich aus -Unachtsamkeit leider die gepatchten Sourcen von 2 wichtigen Programm -geloescht habe. -dumpfrage -> Extraiert das erste Frage in eine Datei zum - anzeigen (gepatchtes dump aus "libmpeg3" -pvademux -> gepatcht um eine Pfad-Angabe +Im Gegensatz zur "alten"-Version ist diese Version "vollstaendig" +einsatzfaehig! -Entweder macht jemand/ich patchen "nochmal" oder ich kann auch die -Binaries zur Verfuegung stellen. + +Wenn jemand Fragen zum Einsatz hat dann "loechern Sie mich" + +ms@citd.de + + +Ich kann auch gerne die Einrichtung per "Fernwartung" (=ssh) uebernehmen. +(Wenn noetig compiliere ich auch auch apache mit PHP usw.) diff --git a/Tools/schnitt/cut.pl b/Tools/schnitt/cut.pl index dd62c18..e055076 100755 --- a/Tools/schnitt/cut.pl +++ b/Tools/schnitt/cut.pl @@ -1,30 +1,25 @@ -#!/usr/bin/perl -w +#!/usr/bin/perl -use strict; +chdir ($ARGV[0]) if ($ARGV[0]); -my $maxsize = 660 * 1024 * 1024; +$read = $size = 1024*1024; -my $read = 1024*1024; -my $size = 1024*1024; - -my $filenum = "1"; -my $count = 0; - -my ($fi,$data); +$filenum = "1"; +$count = 0; $fi = sprintf ("part%d",$filenum); open (FI,">$fi"); while ($read == $size) { - if ($count < $maxsize) + if ($count < 660*1024*1024) { $read = read (STDIN,$data,$size); print FI $data; $count += $size; $a = $count /1024/1024; if ($a % 10 == 0) { - print STDERR "File: $filenum Size: ${a}MB\n"; + print stderr "File: $filenum Size: ${a}MB\n"; } } else diff --git a/Tools/schnitt/cut2 b/Tools/schnitt/cut2 index 0193ac0..09e9acb 100755 --- a/Tools/schnitt/cut2 +++ b/Tools/schnitt/cut2 @@ -1,2 +1,2 @@ #!/bin/sh -cat cut | head -n 1 | tr -d [\\\\] +cat cut2 | head -n 1 | tr -d [\\\\] diff --git a/Tools/schnitt/cutall b/Tools/schnitt/cutall index 355935f..a6803e2 100755 --- a/Tools/schnitt/cutall +++ b/Tools/schnitt/cutall @@ -1,4 +1,2 @@ #!/bin/sh -cutdir=/x1/video/ - -find $cutdir -name "cut" -exec cutall2 {} \; +find /x1/video/ -name "cut" -exec cutall2 {} \; diff --git a/Tools/schnitt/cutall2 b/Tools/schnitt/cutall2 index 90b0f46..962d577 100755 --- a/Tools/schnitt/cutall2 +++ b/Tools/schnitt/cutall2 @@ -1,5 +1,5 @@ #!/bin/sh a=`echo $1 | cut -d / -f1-5` cd $a -cutt +cutall3.pl mv cut cut.bak diff --git a/Tools/schnitt/cutt b/Tools/schnitt/cutt index 4e89b7a..1942437 100755 --- a/Tools/schnitt/cutt +++ b/Tools/schnitt/cutt @@ -3,10 +3,13 @@ DIRA=/x2/temp DIRB=/x1/temp -if [ -f cut ]; then +if [ ! -f cut2 ]; then + echo Keine Beschreibungsdatei + exit 1 +else name="`cut2`" echo $name - count=`cat cut | wc -l` + count=`cat cut2 | wc -l` let count=count-1 let test=count%2 if [ "$test" == "1" ]; then @@ -16,70 +19,88 @@ if [ -f cut ]; then file=1 - while [ "$count" != "0" ] - do - start=`cat cut | tail -n $count | head -n 1` + if [ "$count" == "2" ]; then + start=`cat cut2 | tail -n $count | head -n 1` let count=count-1 - end=`cat cut | tail -n $count | head -n 1` - let count=count-1 - echo Cutting\&Demuxing from $start to $end - schnitt2.pl $start $end | pvademux $DIRA teil$file -# schnitt2.pl $start $end | pes2av_pes | pvademux $DIRA teil$file - let file=file+1 - done -else - echo Keine Beschreibungsdatei - exit 1 + end=`cat cut2 | tail -n $count | head -n 1` + schnitt2.pl $start $end | avpes2mpeg | cut.pl $DIRA + secondway=2 + else + while [ "$count" != "0" ] + do + start=`cat cut2 | tail -n $count | head -n 1` + let count=count-1 + end=`cat cut2 | tail -n $count | head -n 1` + let count=count-1 + echo Cutting \& Converting from $start to $end + schnitt2.pl $start $end | avpes2mpeg > $DIRA/teil$file.mpg +# schnitt2.pl $start $end | pvademux $DIRA teil$file + let file=file+1 + done + fi fi # Ab hier mkimg -sync - -lmplex $DIRA $DIRB `ls -la $DIRA/teil*.m2v | cut -b 30- | sort -n -r | cut -d / -f4` - -echo Multiplexing DONE - -rm -f $DIRA/teil*.m2v $DIRA/teil*.mp2 +rm cut2 sync -if [ -f $DIRB/teil1.mpg ]; then - echo Splitting +if [ "$secondway" != "2" ]; then cd $DIRA -# cat $DIRB/teil*.mpg | split -b 723517440 - cat $DIRB/teil*.mpg | cut.pl - rm $DIRB/teil* -fi - -sync - -cd $DIRA + cut2.pl "$name" + if [ -d 2 ]; then + count=1 + cond=0 + + while [ "$cond" != "1" ] + do + echo mkisofs Teil $count + mkisofs -r -o $DIRB/image1.raw $count + rm -rf $count + mv -- $DIRB/image1.raw "$DIRB/${name} CD $count" + sync + let count=count+1 + if [ ! -d $count ]; then + cond=1 + fi + done + else + echo mkisofs + mkisofs -r -o $DIRB/image1.raw $count + rm -rf $count + mv -- $DIRB/image1.raw "$DIRB/${name}" + fi +else -if [ -f part2 ]; then - count=1 - cond=0 + cd $DIRA - while [ "$cond" != "1" ] - do + if [ -f part2 ]; then + count=1 + cond=0 + + while [ "$cond" != "1" ] + do + mkdir a + mv "part$count" "a/${name} CD $count.mpg" + echo mkisofs Teil $count + mkisofs -r -o $DIRB/image1.raw a + rm -rf a + mv -- $DIRB/image1.raw "$DIRB/${name} CD $count" + sync + + let count=count+1 + if [ ! -f "part$count" ]; then + cond=1 + fi + done + else mkdir a - mv "part$count" "a/${name} Teil $count" - echo mkisofs Teil $count + mv part1 "a/${name}.mpg" + echo mkisofs mkisofs -r -o $DIRB/image1.raw a rm -rf a - mv -- $DIRB/image1.raw "$DIRB/${name} Teil $count" - sync - - let count=count+1 - if [ ! -f "part$count" ]; then - cond=1 - fi - done -else - mkdir a - mv part1 "a/${name}" - echo mkisofs - mkisofs -r -o $DIRB/image1.raw a - rm -rf a - mv -- $DIRB/image1.raw "$DIRB/${name}" + mv -- $DIRB/image1.raw "$DIRB/${name}" + fi fi + diff --git a/Tools/schnitt/getpreviframe.pl b/Tools/schnitt/getpreviframe.pl index 6774f31..4829304 100755 --- a/Tools/schnitt/getpreviframe.pl +++ b/Tools/schnitt/getpreviframe.pl @@ -1,18 +1,12 @@ #!/usr/bin/perl -use strict; - -my ($index, $oindex); - require "/usr/local/bin/my/schnittcommon.pli"; if (!open (INDEX,"index.vdr")) { exit 1; } - $index = $oindex = $ARGV[0]; - if ($index > 0) { &prevI; diff --git a/Tools/schnitt/mv2 b/Tools/schnitt/mv2 index a0cefba..c27a9ff 100755 --- a/Tools/schnitt/mv2 +++ b/Tools/schnitt/mv2 @@ -1,23 +1,30 @@ #!/bin/sh +# +# Move files from DVB-Computer(s) to localmachine into $LOCALDIR +# -DIR = /x1/video +LOCALDIR=/x1/video if [ ! "$UID" = 0 ]; then if [ -d "$1" ]; then - cd $DIR - a=`echo "$1" | cut -d / -f4-` - mkdir -p "$a" - cd "$a" - (echo cd "$1"; echo mget \*)| ftp -i dvb - cd $DIR - ls -Ls $1 > /tmp/yele - ls -Ls $a > /tmp/x1 - a=`echo "$1" | cut -d \/ -f3-` - diff -u /tmp/yele /tmp/x1 &> /dev/null && rm -rfv /yel?/$a - rm /tmp/yele - rm /tmp/x1 - rmdir /yel?/video/* + if [ -f "$1/index.vdr" ]; then + cd $LOCALDIR + recdir=`echo "$1" | cut -d / -f4-` + mkdir -p "$recdir" + cd "$recdir" + dvbcomp=`echo "$1" | cut -d / -f2` + (echo cd "/video/video0/$recdir"; echo mget \*)| ftp -i $dvbcomp + cd $LOCALDIR + ssh $dvbcomp ls -Ls /video/video0/$recdir > /tmp/dvb + ls -Ls $recdir > /tmp/local + diff -u /tmp/dvb /tmp/local &> /dev/null && rm -rfv /$dvbcomp/video?/$recdir + rm /tmp/dvb + rm /tmp/local + rmdir --ignore-fail-on-non-empty `find /$dvbcomp/video?/ -type d -mindepth 1 | cut -d \/ -f-4 | grep -v temp | sort | uniq` + fi fi else echo Not as root fi + +/usr/local/bin/my/process_summary.pl diff --git a/Tools/schnitt/schnitt.pl b/Tools/schnitt/schnitt.pl index d5521eb..ac72a14 100755 --- a/Tools/schnitt/schnitt.pl +++ b/Tools/schnitt/schnitt.pl @@ -21,6 +21,7 @@ syswrite (FO,$temp,200000); close (FI); close (FO); -`/usr/local/bin/pvademux.old /x2/temp bild`; +`cat bild | /usr/local/bin/avpes2mpeg > avpes`; +`/usr/local/bin/my/dumpframe avpes 1`; #`/usr/local/bin/pes2av_pes bild | /usr/local/bin/pvademux /x2/temp bild`; print "$index\n"; diff --git a/Tools/schnitt/schnitt2.pl b/Tools/schnitt/schnitt2.pl index e52b245..d81b5fd 100755 --- a/Tools/schnitt/schnitt2.pl +++ b/Tools/schnitt/schnitt2.pl @@ -10,10 +10,12 @@ if (!open (INDEX,"index.vdr")) $index = $ARGV[0]; &nextI; +#&readnext; $file1 = $file; $offset1 = $offset; $index = $ARGV[1]; &nextI; +#&readnext; $file2 = $file; $offset2 = $offset; diff --git a/Tools/schnitt/show b/Tools/schnitt/show index afed79b..bfcc58a 100755 --- a/Tools/schnitt/show +++ b/Tools/schnitt/show @@ -5,7 +5,7 @@ do if [ -f newpic ]; then killall xli rm -f newpic - xli output.ppm & + xli output000.ppm & fi sleep 24h done diff --git a/Tools/schnitt/vmount b/Tools/schnitt/vmount index 6b79064..ab16e45 100755 --- a/Tools/schnitt/vmount +++ b/Tools/schnitt/vmount @@ -4,7 +4,7 @@ cond=0 if [ -f "$1" ]; then mount "$1" /mnt/1 -o loop - $cond = 1 + cond=1 else while [ "$cond" != "1" ] do |