mirror of
https://github.com/vdr-projects/vdr.git
synced 2025-03-01 10:50:46 +00:00
Version 0.85
- Added Norwegian language texts (thanks to Jrgen Tvedt). - Increased the usleep value in cDvbOsd::Cmd() to 5000 in order to work on systems with the KURT/utime-patch (thanks to Guido Fiala). - Changed the check whether the driver is loaded in runvdr to check for the 'dvb' module (the last one loaded). - Fixed repeat function with LIRC (thanks to Stefan Huelswitt). - Increased the upper limit for the symbol rate to 30000 (thanks to Ulrich Rder). - Made the position of the channel display configurable (thanks to Stefan Huelswitt). - Made the width and height of the OSD configurable (thanks to Stefan Huelswitt). - DiSEqC support can now be generally enabled/disabled in the Setup menu. This may be necessary if your multiswitch gets irritated by the default DiSEqC codes '0' (thanks to Markus Lang). - Fixed replaying in case there is no index file. - Fixed jumping to an editing mark when replay has been paused. - Avoiding unnecessary code execution in the replay progress display (thanks to Guido Fiala). - When entering time values the digits that still have to be entered are now shown as '-' (as in "1-:--"). - When setting an editing mark while the progress display is not active, the display will now be turned on for a short while to indicate the successful setting of the mark. - Updated 'channels.conf' for Premiere World (thanks to Helmut Schchner). Check your timers if you use this channels.conf file, since the sequence of several PW channels has been changed. - Changed the color of "Info" messages to "black on green" and that of the confirmation messages (like "Delete...") to "black on yellow". - Fixed display with DEBUG_OSD (it still crashes sometimes, esp. when replaying, but I can't seem to find what causes this... any ideas anybody?). - Avoiding audio/video distortions in 'Transfer Mode' by no longer actually tuning the primary interface (which can't receive this channel, anyway). Apparently the driver gets irritated when the channel is switched and a replay session is started immediately after that. - Increased timeout until reporting "video data stream broken" when recording. - Explicitly switching back to the previously active channel after ending a replay session (to have it shown correctly in case it was in 'Transfer Mode').
This commit is contained in:
@@ -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.)
|
||||
|
@@ -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
|
||||
|
@@ -1,2 +1,2 @@
|
||||
#!/bin/sh
|
||||
cat cut | head -n 1 | tr -d [\\\\]
|
||||
cat cut2 | head -n 1 | tr -d [\\\\]
|
||||
|
@@ -1,4 +1,2 @@
|
||||
#!/bin/sh
|
||||
cutdir=/x1/video/
|
||||
|
||||
find $cutdir -name "cut" -exec cutall2 {} \;
|
||||
find /x1/video/ -name "cut" -exec cutall2 {} \;
|
||||
|
@@ -1,5 +1,5 @@
|
||||
#!/bin/sh
|
||||
a=`echo $1 | cut -d / -f1-5`
|
||||
cd $a
|
||||
cutt
|
||||
cutall3.pl
|
||||
mv cut cut.bak
|
||||
|
@@ -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
|
||||
cut2.pl "$name"
|
||||
if [ -d 2 ]; then
|
||||
count=1
|
||||
cond=0
|
||||
|
||||
sync
|
||||
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
|
||||
|
||||
cd $DIRA
|
||||
cd $DIRA
|
||||
|
||||
if [ -f part2 ]; then
|
||||
count=1
|
||||
cond=0
|
||||
if [ -f part2 ]; then
|
||||
count=1
|
||||
cond=0
|
||||
|
||||
while [ "$cond" != "1" ]
|
||||
do
|
||||
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
|
||||
|
||||
|
@@ -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;
|
||||
|
@@ -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
|
||||
|
@@ -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";
|
||||
|
@@ -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;
|
||||
|
||||
|
@@ -5,7 +5,7 @@ do
|
||||
if [ -f newpic ]; then
|
||||
killall xli
|
||||
rm -f newpic
|
||||
xli output.ppm &
|
||||
xli output000.ppm &
|
||||
fi
|
||||
sleep 24h
|
||||
done
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user