Video8 Bearbeitung

  • Habe die Video8 Kamera an die Graka geklemmt und mir das Video von meiner Tochter captured. Dann nach stundenlangen Durchforsten sämtlicher Beitrage über Capturen, Avisynth usw. mit folgendem Script das YUY2-Capture-Avi encoden lassen.


    Ich bin soweit schon glücklich das dabei überhaupt was raus gekommen ist.
    Nur habe ich ein komisches gefühl das ich was falsch mache.
    Ich will aber auch nichts versauen da die V8-Kamera nicht mein ist und ich mir so den Film auf eine DVD sichere.

    Unsicherheit ??? Chromashift wie bei VHS? oder vieleicht Phaseshift übersehen?

    Ganz unbeleckt bin ich mit Avisynth und cce auch nicht, aber hier ist Schluß.

    Ich hänge mal noch 4 Frames unbearbeitetes Rohmat. an

  • tach auch !


    Bist Du sicher , daß das BFF ist?
    Meine Analog 8 über eine TV-Karte kam immer TFF.
    Versuch mal das Ding in Virtual Dub zu laden und einen Field Swap, dann weißt Du , ob Du das hast.
    TFF in AVisynth und auch mal probieren.
    Das das ECHTES INTERLACED MATERIAL ist , ist Dir klar ?
    Da hilft kein Deinterlacen. :)

    Gruss BergH

  • Das kann ich jetzt garnicht verstehen!

    Ein einfaches .info() nach AviSource() sagt mir das Quelle BFF sein soll. Den Clip hab ich mit VirtualDubMod -Range Settings und Direct Stream Copy erstellt. Kann das damit zusammen hängen das AviSynth und Du anderer Meinung sind?

    Was mach ich den nun mit dem ChromaShift ? Soll ich oder nicht und wenn wie viel und in welche Richtung?

    Warscheinlich hab ich schon zu viel darüber nachgelesen so das ich völlig verwirrt bin.:hm:

    Die Quelle ist interlace das ist mir schon klar! In einigen Beiträgen hier im Forum wird diese Methode von Scharfis_Brain u.a. empfohlen.
    Deinterlacen->Resize->Filter->Reinterlacen
    Mir kam es so auch gelegen um die Fieldorder von BFF nach TFF zu wechseln uns so die Quelle für CCE aufzubereiten.

    mfg Webboy
    "meinen" tuhe ich das, was ich "ausdrücken" möchte. :rolleyes:

  • Zitat von Webboy

    Ein einfaches .info() nach AviSource() sagt mir das Quelle BFF sein soll.

    Ist m.W. ein Bug (?) in AvisSource - das liefert angebl. immer BFF. Um die tats. Fieldorder festzustellen versuch mal folgendes:

    Code
    ##### TFF-Test #####  SegmentedAVISource("e:\capture1\capture.avi")  AssumeTFF()  SeparateFields()  Bob()  ##### TFF-Test #####  ##### BFF-Test #####  SegmentedAVISource("e:\capture1\capture.avi")  AssumeBFF()  SeparateFields()  Bob() ##### BFF-Test #####

    Sollte eines der beiden Scripte beim Ansehen mit VirtualDub ruckelnde Bilder erzeugen, dan weißt du, das die Field-Order falsch war.

    Ich hab dir mal meine Vorgehensweise bei Bearbeitung solcher Videos als PDF angehängt. Dieses berücksichtigt auch diesen AviSource-BFF Bug.

    Als Bobber verwende ich dabei aber neuerdings nicht mehr TMCBob() sondern TDeintBob() mit TDeint Version 0.9.7 (keine ältere, da geänderte Default-Settings):

    Code
    function TDeintBob(clip a, bool "tff") {
      	tff = Default(tff,true)
      	a = tff ? a.AssumeTFF() : a.AssumeBFF()		
      	a.TDeint(mode=1)
      }



    Und als Rauschfilter für analoges Capture z.B. UnDot().PeachSmoother()

    cu, grua

  • Zitat von grua

    Sollte eines der beiden Scripte beim Ansehen mit VirtualDub ruckelnde Bilder erzeugen, dan weißt du, das die Field-Order falsch war.
    cu, grua



    tach nochmal !

    grua
    Genau so hab ich es gemacht deswegen das "IMHO TFF",
    bei BFF springen die Fields vor und wieder zurück. :D

    Gruss BergH

  • Moin,

    AVISynth geht immer von bff aus, außer er bekommt gültige Infos über die fieldparity (z.B. bei neueren MPEG2Dec bzw. DGDecode-Versionen).
    Bei AVI kann er das definitv nicht wissen, da es solche Infos in AVIs gar nicht gibt.

    Das Beispiel hier ist TFF!

    Gruß Karl

  • OK das mit dem Fieldordertest hab ich verstanden, kannte das Ding auch schon, bin eben nur davon ausgegangen das Avisynth die "Warheit" sagt. Deshalb hatte ich auch nicht nach der Fieldorder gefragt. Danke somit der Aufklärung. Hat das gefühl nicht getäuscht.

    Die .pdf hab ich mir durchgeschaut und hab nun Doch noch eine Frage dazu.
    Ist der erste Bob() nur nötig bei Anwendung von Rauschfiltern? Bob() benutzt Bicubic Resize, wird das Bild dadurch nicht zusätzlich unscharf.
    Was würde den passieren wenn die Filter dann vor dem Resizen, also nach dem TMCBob() angewendet werden.

    Ich würde auch mal TDeint() ausprobieren doch ich kann die *.dll auf Avisynth-Plugins nicht finden. Wo kann man diese herunderladen?

    Sollte man wie bei VHS-Captureaufnahmen auch des Chroma um 1 Zeile nach oben schieben.

    Fragen über Fragen:(

    mfg Webboy
    "meinen" tuhe ich das, was ich "ausdrücken" möchte. :rolleyes:

  • Zitat von Der Karl



    Das Beispiel hier ist TFF!

    Gruß Karl


    Warum glaubt mir eigentlich keiner ? :rolleyes:

    Avisynth Filter:
    Du hast meine Signatur immer noch nicht gelesen, oder ?
    Aus einem Link darinnen:
    http://www.videohelp.com/forum/userguides/99389.php#download

    usw.
    Googel hilft auch bei
    Avisynth+plugins+download
    http://www.avisynth.org/vion11/aveguide.html
    usw.

    Das Chroma eine Zeile nach oben ?
    Ist der Fehler immer noch in CCE ?
    Ich benutze TMPGENC der hat den Bug nicht und man kann alles so schön einstellen.
    Wie ?

    Schau mir in die Augen ähhhh Signatur Kleiner . ;)

    Gruss BergH

  • jepp, bei VHS. S-VHS, Hi-8 und Video-8 muss man das Chroma um zwei zeilen, also eine zeile pro field noch oben schieben.

    das geht so:
    mergechroma(crop(0,2,0,0).addborders(0,0,0,2))

    und bitte mach kein resizing. einfach nur den muell ringsrum wegcroppen und durch schwarze balken ersetzen.

  • Zitat

    Ist der erste Bob() nur nötig bei Anwendung von Rauschfiltern?

    Jo - bei "herkömmlichem Rauschen":
    SmartBob().Denoisen().Resize().Reinterlace()
    und bei sehr starkem Rauschen:
    Bob().Denoisen().Reinterlacen().SmartBob().Resize().Reinterlace()

    Letzteres soll lt. früherer Aussagen seitens Scharfis_brain bei starkem Rauschen bessere Ergebnisse geben, hab das 2fache Bobbing aber nie durchgeführt, sondern immer die Variante mit einfachem (Smart)Bob verwendet und war damit eigentlich recht zufrieden.

    TDeint findest du unter http://forum.doom9.org/showthread.php?s=&threadid=82264


    Aber jetzt auch noch von mir eine Frage bzgl. Chromashift:

    Zitat

    Das Chroma eine Zeile nach oben ?

    Zitat von Scharfis_brain

    jepp, bei VHS. S-VHS, Hi-8 und Video-8 muss man das Chroma um zwei zeilen, also eine zeile pro field noch oben schieben.

    das geht so:
    mergechroma(crop(0,2,0,0).addborders(0,0,0,2))

    Hör ich zum ersten Mal - könnt ihr das etwas erläutern? Wann (immer?) sollte man das machen und warum?

    cu, grua

  • Hab das jetzt mal mit dem Beispiel-Clip aus dem ersten Posting in diesem Thread versucht:

    Code
    avisource("clip.avi",false,"YUY2")
      AssumeTFF()
      Bob()
    
      mergechroma(crop(0,2,0,0).addborders(0,0,0,2))	# S-VHS, Hi-8, Video-8
     #mergechroma(crop(0,1,0,0).addborders(0,0,0,1))	# VHS

    Der Chromashift ist aber noch immer deutlich zu sehen - oder mach ich das was falsch?

    cu, grua

  • ich hab mal schnell gewurschtelt:

    - macht den chromashift ein wenig besser (das chroma ist eh total kaputt)
    - entfernt die horizontalen chroma-streifen
    - entrauscht rudimentaer.
    - schneidet die kaputten raender weg
    - reduziert die uebertriebene farbsaettigung auf ein natuerliches masz.

  • Danke für die Mühen! Bin gerade erst dazu gekommen mal rein zu schauen. Werd das jetzt mal so encoden.

    Wenn ich nun immer von der gleichen Kamera capture müsste das Script für diese Kamera allgemein gültig sein. (Wenn die Kamera auch kompletter Schrott ist! Aber einem ausgeborgtem Gaul schaut man nicht... ...auf die Pixel):zwingern:

    mfg Webboy
    "meinen" tuhe ich das, was ich "ausdrücken" möchte. :rolleyes:

  • Zitat von scharfis_brain

    und bitte mach kein resizing. einfach nur den muell ringsrum wegcroppen und durch schwarze balken ersetzen.

    Ich nehme an, dass bezieht sich v.a. auf vertikales Resizing. Worauf begründet sich jedoch im Detail die Empfehlung nicht zu resizen?

    Z.B. um "schöne" Borders für TV-Overscan zu kriegen verwenden viele FitCD bzw. Fit2Disc. Insb. wenn man eben TV-Overscan auf > 0 stellt findet dann unverweigerlich auch vertikales Resizing statt.

    In welchen Fällen sollte man nun deines Erachtens generell die Finger von vertikalem Resizing lassen? Z.B. immer bei interlaced Material welches zwecks Filterung gebobbt u. anschl. wieder reinterlaced wird od. hat das ganz andere Gründe?

    Man könnte dann ja evtl. so eine Art Richtlinie erarbeiten:
    Bobben + SelectOdd (Ziel deinterlaced) --> vertikales Resizing zulässig
    Bobben + Reinterlaced (Ziel interlaced) --> nicht vertikal resizen

    Od. hängt das auch von der Art der Quelle ab usw. usf...

    cu, grua

    PS.: hatte früher nie gedacht, dass Resizing mal so kompliziert werden kann ;)

  • Das passt jetzt nicht ganz in die Rubrik doch ich möchte nicht gleich einen neuen Beitrag aufmachen es geht ja noch ums gleiche Material.

    Durch das ganze Filtern braucht das Encoden nun schon seine Zeit, was ist nun theoretisch schneller?
    1. Avs-Script einfach in den Encoder laden und los? oder
    2. Avs-Script in VD laden und mit Direktstreamcopy unkomprimiert abspeichern und dann erst Avi in den Encoder laden und los.

    Ich könnte mir vorstellen das Variante 2. zeitlich besser ausgeht.

    Möchte mich nochmal für die prommte Hilfe bedanken, ich glaub ich hätte noch viele Versuche starten müssen und wäre doch nicht zu diesem Ergebnis gekommen.

    P.S. Seit 31Stunden werkelt der CCE schon und meint er brauch noch 21 Std. Also viel Zeit für Kaffee und Forum Durchstöbern. :D

    mfg Webboy
    "meinen" tuhe ich das, was ich "ausdrücken" möchte. :rolleyes:

  • grua:
    ich generell kein freund von resizern.
    egal ob progressive oder interlaced. bei letzterem sind die wirkungen nur viel gravierender!

    Und resizen tue ich schon garnicht, wenn es sich dabei nur um wenige prozente handelt. Denn dann bekommt man gaaaaaaaaaaanz schnell einen - ich nenns mal: - crispness-jitter ins bild.

    also je nach scalierungsfaktor hat man dann sich periodisch abwechselnde scharfe und unscharfe bild bereiche.
    das ist mir zum ersten mal beim interlaced-deshaking (internes interlace des deshakers) aufgefallen, als ich einen additional zoom factor definiert hatte.
    eine detaillierte mauer sah dann gaaanz ekelig am TV aus. ich sach nur :
    pumpendes/wellendes detail :(

    also: wenn resizing sein muss, dann aber richtig!
    also faktoren ab mind. zwanzig prozent oder so.
    dann stoert der jitter nichtmehr so arg.

  • OK, hast mich überzeugt ;)

    Früher hatte ich mir das Resizing stets mit FitCD/Fit2dDisc berechnet und dabei TV-Overscan auf 2 gestellt. Da ist Resizing so gut wie immer notwendig.

    Da ich aber ohnehin später mal einen Beamer verwenden will, ist das ja hinfällig. D.h. ich kann künftig ebenfalls aufs Resizing verzichten. Bleiben dann nur noch kleine schwarze Borders welche dahin gesetzt werden wo zuvor gecroppt wurde.

    Um das künftig zu vereinfachen möchte ich eine AviSynth-Funktion "Mod8Crop" schreiben welche folgendes macht:

    Eingangsgrößen:
    clip c
    int l, o, r, u

    Ausgangsgröße:
    c.crop(li, ob, w, h)

    wobei gilt:
    li >= l und durch 2 teilbar
    ob >= o und durch 2 teilbar
    w ist durch 8 teilbar
    h ist durch 8 teilbar
    w <= c.width - l - r
    h <= c.heigth - o - u

    D.h. ich will mind. l (links), o (oben), r (rechts) und u (unten) croppen wobei links, oben, rechts und unten jeweils durch 2 teilbare Beträge gecroppt wird und die Höhe und Breite des Ausgangsclips durch 8 teilbar ist.

    Die Funktion brauche ich v.a. für ein paar Kumpels von mir: das sind absolute Videobearbeitungs-Anfänger die von mir diesbezüglich betreut werden und denen will ich's so bequem und DAU-sicher wie möglich machen...

    Gibts sowas schon od. muss ich mir das selber basteln?
    (sollte ja kein großes Problem sein, aber Mann will sich ja Arbeit sparen ;))

    cu, grua

  • Na ja, nachdem ich gerade nichts anderes zu tun hatte ;) hab ich mal schnell diese Funktion geschrieben - vielleicht kann sie ja auch jemand anderer gebrauchen:

    Mod8Crop

    cu, grua

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!