summaryrefslogtreecommitdiff
path: root/Tools/schnitt
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/schnitt')
-rw-r--r--Tools/schnitt/README63
-rwxr-xr-xTools/schnitt/cut.pl19
-rwxr-xr-xTools/schnitt/cut22
-rwxr-xr-xTools/schnitt/cutall4
-rwxr-xr-xTools/schnitt/cutall22
-rwxr-xr-xTools/schnitt/cutt129
-rwxr-xr-xTools/schnitt/getpreviframe.pl6
-rwxr-xr-xTools/schnitt/mv235
-rwxr-xr-xTools/schnitt/schnitt.pl3
-rwxr-xr-xTools/schnitt/schnitt2.pl2
-rwxr-xr-xTools/schnitt/show2
-rwxr-xr-xTools/schnitt/vmount2
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