Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
ByteRider 
Anmeldungsdatum: 10.10.2002 Beiträge: 20
|
Beitrag 0 - Verfasst am: So Sep 21, 2003 10:42 Titel: |
 |
|
Hallo,
wenn man AVI´s aus verschiedenen Quellen besitzt z.B. :
- DV - Material ( meist BFF )
- gecaptured über DV-Camera von Video
- gecaptured über DV-Camera von TV
- geripped mit FlaskMpeg von eigener DVD
- geripped mit FlaskMpeg von Kauf-DVD
Wie kann man herausfinden welche Fieldorder in den
Files verwendet wird ?! ( Und ich meine nicht die Flags, sondern die tatsächliche ! )
Gibt es da ein kleines Programm, oder hilft alles nichts und
man muss es am TV testen ??
Gibt es Erfahrungswerte ( welches Material grundsätzlich welche Fieldorder ist ?? )
Gruß
Byte |
|
 |
dvdmaster 
Anmeldungsdatum: 16.03.2002 Beiträge: 722
|
Beitrag 1 - Verfasst am: So Sep 21, 2003 12:34 Titel: |
 |
|
bei filmdvd mit kinofilmen is es egal da progressiv
analogtv TFF
DV meist BFF
Interlaced DVD auch meisst TFF
cu _________________ Mein HiFi / HomeCinema
TV: Sanyo 82 cm
CD+DVD+VCR: HTPC+Foobar
AMP: Pioneer VSX-609
SPEAKER: Canton Movie 10mx
LP: Project 1.2 + Grado Prestige Black
Phono Pre: Project Tubebox |
|
 |
dvdmaster 
Anmeldungsdatum: 16.03.2002 Beiträge: 722
|
Beitrag 2 - Verfasst am: So Sep 21, 2003 12:41 Titel: |
 |
|
bei mpegs kannst du sie mit dem bitrate viewer feststellen bei avis musst du raten
cu _________________ Mein HiFi / HomeCinema
TV: Sanyo 82 cm
CD+DVD+VCR: HTPC+Foobar
AMP: Pioneer VSX-609
SPEAKER: Canton Movie 10mx
LP: Project 1.2 + Grado Prestige Black
Phono Pre: Project Tubebox |
|
 |
Tsunami 
Anmeldungsdatum: 12.02.2002 Beiträge: 1759
|
Beitrag 3 - Verfasst am: Mo Sep 22, 2003 0:18 Titel: |
 |
|
Das kommt auf den Treiber an, der btwincap erzeugt wohl immer tff, aber bei den Original Hauppauge Treibern ist es Zufall.
Ich mache das bisher mit einer Avisynth-Funktion :
Code: |
#----- cut -----
function CheckTopFirst3(clip v1){
global top_hits=1
global bot_hits=1
global text = ""
global text2 = ""
v1 = assumeframebased(v1)
global tff=assumetff(v1).separatefields().bob()
global bff=assumebff(v1).separatefields().bob()
istff = tff.subtitle("Is frame TFF: TRUE").frameevaluate("top_hits=top_hits+1.0")
isnottff = tff.subtitle("Is frame TFF: FALSE").frameevaluate("bot_hits=bot_hits+1.0")
outclip = conditionalfilter(tff,istff, isnottff, "yDifferenceFromPrevious(tff)+ydifferenceToNext(tff)","<","yDi
fferenceFromPrevious(bff)+yDifferenceToNext(bff)",false)
outclip = frameevaluate(outclip,"text = "+chr(34)+"STATS: TFF = "+chr(34)+" + string(100.0*top_hits/(top_hits+bot_hits)) + " + chr(34) + "%"+chr(34))
outclip = frameevaluate(outclip,"text2 = "+chr(34)+"STATS: BFF = "+chr(34)+" + string(100.0*bot_hits/(top_hits+bot_hits)) + " + chr(34) + "%"+chr(34))
outclip = scriptclip(outclip, "Subtitle(text,y=50)")
outclip = scriptclip(outclip, "Subtitle(text2,y=70)")
return outclip
}
#----- cut -----
|
Diese Funktion speicherst du im Avisynth-Plugin-Ordner mit dem Namen 'CheckTopFirst3.avsi'.
Diese Funktion rufe ich mit folgendem Script auf :
#----- cut -----
v=SegmentedAVISource("e:\capture1\capture.avi")
v2=ConvertToYV12(v)
CheckTopFirst3(v2)
#----- cut -----
Solltest du eine Fehlermeldung erhalten, das der YV12-Farbraum nicht verfügbar ist, dann musst du einen Codec installieren, der diesen Farbraum kennt, das sind zum Beispiel der DivX oder der XviD Codec.
Ich arbeite noch an einer weiteren Automatisierung.
Wenn du kein Avi hast, sondern ein MPEG, dann musst du den Befehl SegmentedAVISource natürlich ersetzen durch
mpeg2source("E:\DVD\vts_01.d2v")
oder ähnliche geeignete Befehle.
Man sollte beachten, das diese Funktion bei echtem Interlace recht gut funktioniert, wenn Bewegung im Bild zu sehen ist, aber nicht, wenn sich fast nichts bewegz oder wenn das Video gar progressiv encodet wurde.
Solltest du ein tff-Video haben, dann kannst du es so lassen wie es ist, bei einem bff-video allerdings solltest du erstmal die Field-Order auf tff bringen, damit der CCE keine Mätzchen macht :
#----- cut -----
SegmentedAVISource("e:\capture1\capture.avi")
DoubleWeave().SelectOdd()
#----- cut ----- |
|
 |
ByteRider 
Anmeldungsdatum: 10.10.2002 Beiträge: 20
|
Beitrag 4 - Verfasst am: Mo Sep 22, 2003 15:55 Titel: |
 |
|
Danke für die schnelle Antwort...
Wenn die Verzeichnistiefe zu groß ist ( ?? ) Findet er das Avi
nicht !
Dann habe ich es einfach auf C: gelegt. Dann encodet er.
Im fertigen AVI steht dann :
SegmentedAVISource: no files found !
(C:FieldOrder TEST.avs, line1)
------------------------------------------
FieldOrder Test.avs ist der Name des Skriptes,
welches ich in den Encoder lade ...
Ich komme also irgendwie nicht weiter...
Gruß
Byte |
|
 |
ByteRider 
Anmeldungsdatum: 10.10.2002 Beiträge: 20
|
Beitrag 5 - Verfasst am: Mo Sep 22, 2003 16:33 Titel: |
 |
|
... es funktioniert also irgendwie nicht ...
UND NOCH EINE FRAGE ...
Ich capture viel mit meiner DV-Camera ( Canon )
d.h. ich benutze sie als echtzeit-Wandler..
Analoges Signal-> Camera ->Firewire PC
( Das Signal läuft also ohne Umweg, also ohne Speicherung
auf Band, in den PC )
Ändert die Camera die Fieldorder oder übernimmt sie
die vom Quellmaterial ?
-> wird die Fieldorder ggf. beim Zwischenspeichern auf Band geändert ??
Standardmäßig ist ja gefilmtes DV-Material BFF..
Gruß
Byte
Zuletzt bearbeitet von ByteRider |
|
 |
dirk67 
Anmeldungsdatum: 01.03.2002 Beiträge: 173
|
Beitrag 6 - Verfasst am: Mo Sep 22, 2003 16:45 Titel: |
 |
|
Hi,
setz mal alle deine Pfade/Datein in Gänsefüsschen.
Dirk |
|
 |
ByteRider 
Anmeldungsdatum: 10.10.2002 Beiträge: 20
|
Beitrag 7 - Verfasst am: Mo Sep 22, 2003 18:06 Titel: |
 |
|
der Pfad ist in Gänsefüsschen !
Der ist auch korrekt, denn das Script zum "Fieldorder-Drehen" funktioniert !
------------
#AviSource("F:\deineQuelle.avi") < funktioniert bei mir NICHT
DirectShowSource("F:\deineQuelle.avi")
DoubleWeave().SelectOdd()
--------------
Was die Frage aufwirft, was der Unterschied zw.
SegmentedAVISource("e:\capture1\capture.avi")
und
AviSource("F:\deineQuelle.avi")
ist. Warum bei mir AviSource nicht funktioniert, sondern
die DirectShowSource Variante...
Gruß
Byte
Zuletzt bearbeitet von ByteRider |
|
 |
Tsunami 
Anmeldungsdatum: 12.02.2002 Beiträge: 1759
|
Beitrag 8 - Verfasst am: Mo Sep 22, 2003 21:58 Titel: |
 |
|
Zitat: |
#AviSource("F:\deineQuelle.avi") < funktioniert bei mir NICHT
|
Merke:
steht eine Raute '#' am Zeilenanfang eines Avisynth-Scriptes,
dann gilt diese zeile als Kommentar und wird nicht beachtet.
Wenn man diese Raute entfernt, dann funktioniert auch der Befehl. |
|
 |
mb1 
Anmeldungsdatum: 06.06.2001 Beiträge: 3708 Wohnort: München
|
Beitrag 9 - Verfasst am: Mo Sep 22, 2003 22:24 Titel: |
 |
|
Der MS-DV ist nunmal ein DirectShow-DV-Codec.
Für AviSource musst du den Panasonic-, Mainconcept- oder Canopus-DV-Codec installieren, die auch das VfW-Modell beherrschen. _________________ Grüße
mb1
Prophet Mohammed:
"Ein für den Wissenserwerb verbrachter Tag ist Gott lieber als 100 Kriege für Gott." |
|
 |
ByteRider 
Anmeldungsdatum: 10.10.2002 Beiträge: 20
|
Beitrag 10 - Verfasst am: Di Sep 23, 2003 6:55 Titel: |
 |
|
... das ´ne Raute ein Kommentar ist, weiss ich..
Da der Befehl nicht funktionert, habe ich ihn "auskommentiert" !!!
Byte |
|
 |
|