From 8f9cc68f76c4fd0960f919a77fb16a6455922deb Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 29 Jul 2001 18:00:00 +0200 Subject: =?UTF-8?q?Version=200.85=20-=20Added=20Norwegian=20language=20tex?= =?UTF-8?q?ts=20(thanks=20to=20J=F8rgen=20Tvedt).=20-=20Increased=20the=20?= =?UTF-8?q?usleep=20value=20in=20cDvbOsd::Cmd()=20to=205000=20in=20order?= =?UTF-8?q?=20to=20work=20on=20=20=20systems=20with=20the=20KURT/utime-pat?= =?UTF-8?q?ch=20(thanks=20to=20Guido=20Fiala).=20-=20Changed=20the=20check?= =?UTF-8?q?=20whether=20the=20driver=20is=20loaded=20in=20runvdr=20to=20ch?= =?UTF-8?q?eck=20for=20the=20=20=20'dvb'=20module=20(the=20last=20one=20lo?= =?UTF-8?q?aded).=20-=20Fixed=20repeat=20function=20with=20LIRC=20(thanks?= =?UTF-8?q?=20to=20Stefan=20Huelswitt).=20-=20Increased=20the=20upper=20li?= =?UTF-8?q?mit=20for=20the=20symbol=20rate=20to=2030000=20(thanks=20to=20U?= =?UTF-8?q?lrich=20=20=20R=F6der).=20-=20Made=20the=20position=20of=20the?= =?UTF-8?q?=20channel=20display=20configurable=20(thanks=20to=20Stefan=20?= =?UTF-8?q?=20=20Huelswitt).=20-=20Made=20the=20width=20and=20height=20of?= =?UTF-8?q?=20the=20OSD=20configurable=20(thanks=20to=20Stefan=20Huelswitt?= =?UTF-8?q?).=20-=20DiSEqC=20support=20can=20now=20be=20generally=20enable?= =?UTF-8?q?d/disabled=20in=20the=20Setup=20menu.=20This=20=20=20may=20be?= =?UTF-8?q?=20necessary=20if=20your=20multiswitch=20gets=20irritated=20by?= =?UTF-8?q?=20the=20default=20DiSEqC=20=20=20codes=20'0'=20(thanks=20to=20?= =?UTF-8?q?Markus=20Lang).=20-=20Fixed=20replaying=20in=20case=20there=20i?= =?UTF-8?q?s=20no=20index=20file.=20-=20Fixed=20jumping=20to=20an=20editin?= =?UTF-8?q?g=20mark=20when=20replay=20has=20been=20paused.=20-=20Avoiding?= =?UTF-8?q?=20unnecessary=20code=20execution=20in=20the=20replay=20progres?= =?UTF-8?q?s=20display=20(thanks=20=20=20to=20Guido=20Fiala).=20-=20When?= =?UTF-8?q?=20entering=20time=20values=20the=20digits=20that=20still=20hav?= =?UTF-8?q?e=20to=20be=20entered=20are=20now=20=20=20shown=20as=20'-'=20(a?= =?UTF-8?q?s=20in=20"1-:--").=20-=20When=20setting=20an=20editing=20mark?= =?UTF-8?q?=20while=20the=20progress=20display=20is=20not=20active,=20the?= =?UTF-8?q?=20=20=20display=20will=20now=20be=20turned=20on=20for=20a=20sh?= =?UTF-8?q?ort=20while=20to=20indicate=20the=20successful=20=20=20setting?= =?UTF-8?q?=20of=20the=20mark.=20-=20Updated=20'channels.conf'=20for=20Pre?= =?UTF-8?q?miere=20World=20(thanks=20to=20Helmut=20Sch=E4chner).=20=20=20C?= =?UTF-8?q?heck=20your=20timers=20if=20you=20use=20this=20channels.conf=20?= =?UTF-8?q?file,=20since=20the=20sequence=20of=20=20=20several=20PW=20chan?= =?UTF-8?q?nels=20has=20been=20changed.=20-=20Changed=20the=20color=20of?= =?UTF-8?q?=20"Info"=20messages=20to=20"black=20on=20green"=20and=20that?= =?UTF-8?q?=20of=20the=20=20=20confirmation=20messages=20(like=20"Delete..?= =?UTF-8?q?.")=20to=20"black=20on=20yellow".=20-=20Fixed=20display=20with?= =?UTF-8?q?=20DEBUG=5FOSD=20(it=20still=20crashes=20sometimes,=20esp.=20wh?= =?UTF-8?q?en=20replaying,=20=20=20but=20I=20can't=20seem=20to=20find=20wh?= =?UTF-8?q?at=20causes=20this...=20any=20ideas=20anybody=3F).=20-=20Avoidi?= =?UTF-8?q?ng=20audio/video=20distortions=20in=20'Transfer=20Mode'=20by=20?= =?UTF-8?q?no=20longer=20actually=20=20=20tuning=20the=20primary=20interfa?= =?UTF-8?q?ce=20(which=20can't=20receive=20this=20channel,=20anyway).=20?= =?UTF-8?q?=20=20Apparently=20the=20driver=20gets=20irritated=20when=20the?= =?UTF-8?q?=20channel=20is=20switched=20and=20a=20=20=20replay=20session?= =?UTF-8?q?=20is=20started=20immediately=20after=20that.=20-=20Increased?= =?UTF-8?q?=20timeout=20until=20reporting=20"video=20data=20stream=20broke?= =?UTF-8?q?n"=20when=20recording.=20-=20Explicitly=20switching=20back=20to?= =?UTF-8?q?=20the=20previously=20active=20channel=20after=20ending=20a=20?= =?UTF-8?q?=20=20replay=20session=20(to=20have=20it=20shown=20correctly=20?= =?UTF-8?q?in=20case=20it=20was=20in=20'Transfer=20Mode').?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Tools/schnitt/README | 63 ++++++++++++++------ Tools/schnitt/cut.pl | 19 +++--- Tools/schnitt/cut2 | 2 +- Tools/schnitt/cutall | 4 +- Tools/schnitt/cutall2 | 2 +- Tools/schnitt/cutt | 129 ++++++++++++++++++++++++----------------- Tools/schnitt/getpreviframe.pl | 6 -- Tools/schnitt/mv2 | 35 ++++++----- Tools/schnitt/schnitt.pl | 3 +- Tools/schnitt/schnitt2.pl | 2 + Tools/schnitt/show | 2 +- Tools/schnitt/vmount | 2 +- 12 files changed, 157 insertions(+), 112 deletions(-) (limited to 'Tools/schnitt') 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 -- cgit v1.2.3