Hallo,
um beim Schneiden und Weiterverarbeiten Zeit zu sparen versuche ich den VDR über die Recording-Hooks für SD-Aufnahmen automatisch eine index-Datei und eine Projektdatei mit den Schnittmarkierungen aus der marks-Datei für dvbcut erzeugen zu lassen.
Natürlich soll der Prozess nur angestoßen werden, wenn die Aufnahme eine SD-Aufnahme ist - nur wie unterscheide ich diese von Radio- und HDTV-Aufnahmen schnell und zuverlässig?
Momentan werte ich die Framerate-Information ("F") aus der info-Datei aus (SD=25, HD=50, Radio ~13.89) - gibt es da noch eine bessere Methode?
Beste Methode, um Aufnahmen-Typen für Shell-Script zu unterscheiden (HD/SD/Radio)?
- seahawk1986
- Geschlossen
-
-
Ja gibt es, die X 02 .... /X 05 .... Felder geben dir exakt die Information. F XX ist da eher unbrauchbar.
-
Momentan werte ich die Framerate-Information ("F") aus der info-Datei aus (SD=25, HD=50, Radio ~13.89)
IMHO ist das so nicht richtig, auch HD Aufnahmen können 25 Fps haben (1080i?)
Radio kann man einfach filtern da sie kein "X 1 ..." Tag für Video haben
HD kann man relativ gut erkennen am "X 5 ..." da Streamtype 5 für H.64 Video steht. Oder einfach nur alle "X 1 ..." nehmen, da 1 für Mpeg2 Video steht. Mpeg2-HD-Aufnahmen dürften recht selten seinSo, nachdem ich's hergeleitet habe die kurze Antwort: nimm alle die "X 1..." haben
-
Vielen Dank für die Antworten und die Erklärung zu den Werten,
dann probiere ich es mal mit den X Feldern. -
Hi
schon mal in die info.vdr geschaut?
da steht doch alles drinnHolger
-
Hi
schon mal in die info.vdr geschaut?
da steht doch alles drinn
Ja, das war mein Ansatz - da der Wiki-Artikel zur info.vdr aber HDTV nicht berücksichtigt, sondern nur zwischen 1=Video und 2=Audio unterscheidet bin ich nicht gleich dahinter gekommen und hab anhand von Aufnahmen erst mal so nach Merkmalen ausschau gehalten. -
Ja, das war mein Ansatz - da der Wiki-Artikel zur info.vdr aber HDTV nicht berücksichtigt, sondern nur zwischen 1=Video und 2=Audio unterscheidet bin ich nicht gleich dahinter gekommen und hab anhand von Aufnahmen erst mal so nach Merkmalen ausschau gehalten.
nanja aber es wird ein unterschied gemacht zwischen HD 4:3 und HD 16:9 und > HD 16:9 ergo wird hd beruecksichtigt .ich habe das z.b in perl so gebaut zum parsen
@content ist die eingelesene info.vdr
Code
Alles anzeigenforeach my $i (@content) { given ($i) { # video when ( $_ =~ /^T\s/smx ) { my ($a,$title) = split /^[T]\s/smx ,$_; $rcdb->{'titel'} = $title; } when ( $_ =~ /^X\s[1]\s[0](?:[1]|[5])\s/smx ) { $rcdb->{'aspect'} = '4:3'; $rcdb->{'HD'} = q{} ; } when ( $_ =~ /^X\s[1]\s[0](?:[2]|[3]|[6]|[7])\s/smx ) { $rcdb->{'aspect'} = '16:9'; $rcdb->{'HD'} = q{} ; } when ( $_ =~ /^X\s[1]\s[0](?:[4]|[8])\s/smx ) { $rcdb->{'aspect'} = '>16:9'; $rcdb->{'HD'} = q{} ; } when ( $_ =~ /^X\s[1]\s[0](?:[9]|[D])\s/smx ) { $rcdb->{'aspect'} = '4:3'; $rcdb->{'HD'} = 'true' ; } when ( $_ =~ /^X\s[1]\s[0](?:[A]|[B]|[E]|[F])\s/smx ) { $rcdb->{'aspect'} = '16:9'; $rcdb->{'HD'} = 'true' ; } when ( $_ =~ /^X\s[1]\s(?:[0][C]|[1][0])\s/smx ) { $rcdb->{'aspect'} = '>16:9'; $rcdb->{'HD'} = 'true' ; } # audio when ( $_ =~ /^X\s[2]\s[0][1]\s/smx ) { $rcdb->{"audiotrack$atrack"} = 'mono'; $atrack++; } when ( $_ =~ /^X\s[2]\s[0][3]\s/smx ) { $rcdb->{"audiotrack$atrack"} = 'stereo'; $atrack++; } when ( $_ =~ /^X\s[2]\s[0][5]\s/smx ) { $rcdb->{"audiotrack$atrack"} = 'dolby digital'; $atrack++; } when ( $_ =~ /^E\s\d+\s\d+\s\d+/smx ) { $rcdb->{'idnr'} =~ /^[E]\s(\d+)\s/smx ; $rcdb->{'starttime'} =~ /^[E]\s\d+\s(\d+)\s/smx ; $rcdb->{'duration'} =~ /^[E]\s\d+\s\d+\s(\d+)\s/smx ; } } # end given } # end foreach @content
vieleicht hift es ja ein wenig weiter.
holger
-
Danke an alle, mittlerweile macht das Skript, was es soll. Es ist schon deutlich komfortabler, wenn man für dvbcut den Index automatisch erzeugen und die Schnittmarken als Markierungen übernehmen kann
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!