Ähhh ...
sorry, bei Serien ist das natürlich ok !!!
Vergesst einfach was ich geschrieben habe ...
Cheers, aunone
Ähhh ...
sorry, bei Serien ist das natürlich ok !!!
Vergesst einfach was ich geschrieben habe ...
Cheers, aunone
Hi,
ich nochmal ...
Das konvertieren hat nun geklappt, eines hätte ich da noch ...
Der Filename enthält auch den Directoryname.
Beispiel:
/srv/vdr/video.00/Breaking_Bad/(10~14)_Gedächtnisschwund/2010-11-06.22.40.21-0.rec/... wird zu Breaking_Bad-(10~14)_Gedächtnisschwund.mkv. Da würde mir der letzte Teil reichen ...
Cheers, aunone
Hi Alex,
ich habe das script angepasst :
- es wurden nicht alle *.vdr file in die Filecollection von ProjectX mit aufgenommen, immer nur 001.vdr
- seit vdr 1.7.3 ist das recording dir umbenannt worden, das habe ich auch hier gemacht
- file permissions habe ich für das erzeugte .ts file vorsichtshalber angepasst (wie 001.vdr)
Ich habe auch dein server perl script aus deinem letzten posting genommen, der konvertiert noch ...
#!/usr/bin/perl -w
use warnings ;
use strict ;
use File::Find ;
use File::Copy;
my $Indir = $ARGV[0] ;
my @VideoList ;
find ( \&funcfind , "$Indir" ) ; # alle /.*rec\/001.vdr/ Dateien finden
foreach my $CurrDir ( @VideoList ) {
print "found $CurrDir\n" ;
# for shell
$CurrDir = dosh($CurrDir) ;
system ("java -Djava.awt.headless=true -jar /usr/share/java/ProjectX.jar -tots ${CurrDir}0*.vdr") ;
my $_xxx = ${CurrDir};
$_xxx =~ s/\\//g;
$_xxx = "$_xxx/001[pes][remux].ts";
if( -e "$_xxx" )
{
$CurrDir =~ s/\/$//;
$CurrDir =~ s/\\//g;
my $owner = (stat("$CurrDir/001.vdr"))[4];
my $group = (stat("$CurrDir/001.vdr"))[5];
move("$_xxx","$CurrDir/00001.ts") die "can not move $_xxx to 00001.ts\n";
chown($owner, $group, "$CurrDir/00001.ts");
unlink("$CurrDir/001_log.txt");
my $recdirpath = mydirname($CurrDir);
my $newrecdir = myrendir($CurrDir);
chomp($newrecdir);
rename("$CurrDir","$recdirpath/$newrecdir") die "can't rename $CurrDir to $recdirpath/$newrecdir";
}
}
sub mydirname {
my $_tmp = shift;
$_tmp =~ s!/?[^/]*/*$!!;
return $_tmp;
}
sub myrendir {
my $orgdir = shift;
my @_dir = split(/\//,$orgdir);
my @_tmp = split(/\./,$_dir[$#_dir]);
return(sprintf("%s.%s.%s.0-0.rec\n","$_tmp[0]",$_tmp[1],$_tmp[2]));
}
#################################################################
sub dosh { my $in = $_[0] ; #$in =~ s/\s+/\ /g ;
$in =~ s/(\(\d+)\/(\d+\))/${1}\/${2}/g ; ## das (1/5) problem
$in =~ s/([\s \( \) \$ \& \§ \" \! \? \[ \] \' \,\@ \| \> \<])/\\$1/g;
$in =~ s/\\\\/\\/g ;
return $in ;
}
#################################################################
sub funcfind {
return unless ( $File::Find::name =~ /.*\/.*rec\/001.vdr$/ ) ;
$File::Find::name=~s/001.vdr// ;
push ( @VideoList , $File::Find::name ) ;
}
#################################################################
Cheers, aunone
Hi Alex,
## General settings
Indir = /srv/vdr/video.00/
Outdir = /srv/vdr/video.00/film/
PES -> TS mache ich mit ProjectX :
java -Djava.awt.headless=true -jar /usr/share/java/ProjectX.jar -tots 0*.vdr
Dann muss ich leider auch noch das .rec Verzeichniss umbenennen, weil sonst ein vdr --genindex nicht geht (kann ich mir aber auch schenken ... da ich ja eh in .mkv umwandel möchte !), dennoch sucht dein perl script nach dem index File !!!
Distri.: yavdr-0.3
project-x:
Installiert: 0.90.4.00b+cvs2009-10-09-1ubuntu1
Ich würde mich echt freuen wenn das rund läuft, dann kann ich alle meine alten SD Aufnahmen bequem umwandeln ...
Cheers, aunone
Hi,
ich habe mal vdrtranscode ausprobiert, leider habe ich noch sehr viele alte .vdr Aufnahmen, die musste ich erst ins .ts Format wandeln um dann mit vdrtranscode weiter zu machen.
Soweit geht das echt gut, nur ist das fertige File irgendwie nicht im $Outdir gelandet ... was ich gefunden habe ist eine File 'filmvdrtrancode_tmp.mkv' im $Indir !!! Im vdrtranscode_server.log konnte ich nicht auffälliges finden, sah alles soweit ganz ok aus.
Schön wäre da wenn der transcode Server auch diese Aufgabe übernehmen könnte (PES -> TS).
Cheers, aunone