Eure Erfahrungen mit deshaker

  • Hallo Leute,

    ich forste mich gerade durch den deshaker durch und wollte mal eure Erfahrungen hören.
    Mein Ziel: Die verwackelten DV Aufnahmen, die ich mache, zu stabilisieren.
    Ich filme meistens meine Tochter (momentan 10 Monate alt) und da sind wackeln, zoomen und schnelle Bewegungen mit im spiele.
    Vielleicht hat ja auch einer settings zu empfehlen.
    Danke euch.

  • Hab ich mal zusammengefasst, siehe: http://web.utanet.at/grundlau/Deshaken von interlaced Video.pdf

    Bzgl. der darin verwendeten Bob-Funktionen halte dich aber besser an den Letztstand im Anhang.

    Übrigens wurde das im Forum schon mal behandelt (in irgendeinem anderen Unterforum als DV). Such mal danach.

    cu, grua

  • Servus Grua,

    bin Grad am Test. Ich übernehm für den deshaker die Einstellungen wie im screenshot deiner Anleitung. Wenn ich das so mach, wie beschrieben, dann brauche ich nach dem schneiden nicht mehr zu filtern, da das ja schon mit erledigt wird. Oder hab ich da was falsch verstanden
    Wenn ich reinterlace, ist das ja einmal rendern mehr, weil ich ja zum cutten wieder ein avi interlaced mit 25fps brauche. Das dann schon wieder mit dem DV-Codec, oder lieber nen anderen?

    Grüße nach Österreich...

  • Zitat

    Wenn ich das so mach, wie beschrieben, dann brauche ich nach dem schneiden nicht mehr zu filtern, da das ja schon mit erledigt wird.



    Gemeint ist in der PDF folgendes:

    1) Ein Script erstellen welches nur AviSource (das originale DV-Video öffnen) und TMCBob enthält. Da es sich bei dir um ein DV (= BFF) handelt wieder TMCBob(tff=false) verwenden!

    2) Dieses Script in VirtualDub öffnen und im Full Processing Mode erst mal den ersten Pass des DeShakers und anschl. den zweiten Pass durchlaufen. Dabei das Video möglichst verlustfrei, also möglichst mit Huffy od. zur Not mit PicVideo MJPEG (Stufe 20, 19 od. min. 18) abspeichern. Dieses AVI hat dann 50 fps.

    3) Dieses riesengroße entwackelte AVI dann in einem neuen Script wiederum mit AviSource öffnen, schneiden mit Trim, Ränder säubern mit Crop, Rauschfiltern je nach Bedarf anwenden. Die im PDF angegebenen Rauschfilter sind lediglich irgendwelche Beispiele - die musst du schon nach deinen Bedürfnissen anpassen! Der PeachSmoother z.B. ist ganz brauchbar für analoge Captures, würde ich aber nicht für DV einsetzen. Guck mal in die DV-FAQ, da steht ein Vorschlag mit Convolution3D.
    Ans Ende dieses Scripts stellst du dann den Befehl ReinterlaceBob(fps=false) (dadurch werden aus den 50 fps wieder 25 fps) und fügst die zuvor mit Crop abgeschnittenen Ränder wieder mir Addborders hinzu um wieder auf saubere DVD-Auflösung 720x576 zu kommen (das war ja nehme ich an auch deine Ausgangs-Auflösung bei DV).
    Wenn du dann im CCE encoden willst zusätzlich am Ende auch noch DoubleWeave.SelectOdd() hinzufügen um das Video von BFF auf TFF zu drehen.

    4) Das unter Punkt 3 erstellte Script im CCE öffnen und in MPEG2 encoden.

    cu, grua

  • Ja das was du beschrieben hast, funtz fast schon. Ich bekommen jedoch beim öffnen der AVIs immer nen Fehler und musste "ConvertToYUY2(interlaced=true)" ergänzen, damits funtz. Auch beim Befehl "crop" kommt ne Fehlermeldung: "Crop: you cannt use crop to enlarge or 'shift' a clip", wie so auch immer.
    Aber das war ja nicht meine eigentliche Frage.

    Ich wollte "gute" settings für deshaker in erfahrung bringen. Momentan bekomme ich meist nur unbrauchbares z.B. Schlierbildung wenn deshaker entwackelt. Das ist nicht so toll.

  • ac-chan:

    Ja, für den Pass 1 reicht das schon. Ausser man will mehrere AVIs nacheinander, dann muss man halt ein Pseudo-AVI erstellen (ich nehme z.B. xvid Null-Test das braucht nur paar MB).
    Nimmst du den deshaker auch her?

  • Zitat

    Ich wollte "gute" settings für deshaker in erfahrung bringen. Momentan bekomme ich meist nur unbrauchbares z.B. Schlierbildung wenn deshaker entwackelt. Das ist nicht so toll.

    Ich hoffe, du resizt nicht? Denn gerade vertikales Resizing nach Deshaker sollte unbedingt vermieden werden!

    Zitat

    Ich bekommen jedoch beim öffnen der AVIs immer nen Fehler und musste "ConvertToYUY2(interlaced=true)" ergänzen, damits funtz

    Welchen Fehler?

    Zitat

    Auch beim Befehl "crop" kommt ne Fehlermeldung: "Crop: you cannt use crop to enlarge or 'shift' a clip", wie so auch immer.

    Hört sich an also ob dein Crop-Befehl ein Resizing macht, welches ja wie oben erwähnt unbedingt vermieden werden soll. Daraus könnten such die Schlieren usw. kommen.

    Poste doch mal die beiden von dir verwendeten Scripte. (Jenes für den Deshake-Vorgang und jenes zur Nachbearbeitung).

    cu, grua

  • Das erste Script ist:


    AviSource("f:\DV-type2_test.avi",true)
    ConvertToYUY2(interlaced=true)
    a=AssumeBFF()
    f = a.TomsMoComp(-1,5,0)
    e = a.DoubleWeave().SelectOdd().TomsMoComp(-1,5,0)
    Interleave(f,e).AssumeFrameBased()

    Wenn AviSource("...",true,"YUY2") schreib, bringt VD 1.5.10 die Meldung: AVISOURCE: the video decompressor couldn't produce YUY2 output
    => Zeile 2 ConvertToYUY2 sonst mult VD: TomsMoComp: Support YUY2 and Yv12 color formats only.

    dann kommt deshaker pass1 und pass 2 mit Huffyuv

    Dann folgendes Script:

    AVIsource("d:\test deshaker - HQ\test_2.avi",true,"YUY2")
    #Crop(0,6,744,544)
    UnDot()
    #LanczosResize(488,544,0,744,544)
    #AddBorders(16,16,16,16)
    ColorYUV(levels="PC->TV")
    AssumeBFF()
    ConvertToYUY2()
    SeparateFields().SelectEvery(4,0,3).Weave()

    und wieder mit Huffyuv

    Wenn ich Crop anlasse, kommt die Fehlermeldung: Crop: you cannt use crop to enlarge or 'shift' a clip.

    Das ergebnis ist dann unter http://www.kogelmann.de/test_22.mpg zu bewundern.
    Kein brauchbares ergebnis. Wie schon gesagt, das bild schliert und zieht. Vielleicht sind die Enstellungen im pass 2 nicht korrekt. Ich hab mal zum probieren die von der pdf-Anleitung genommen.

  • Zitat

    Wenn ich Crop anlasse, kommt die Fehlermeldung: Crop: you cannt use crop to enlarge or 'shift' a clip.

    Schön langsam wird's müssig, denn ich hab dich in einem anderen Thread schon mal darauf hingewiesen, dass du die verwendeten Befehle in der AviSynth-Doku (Kurzreferenz) nachlesen sollst... Dein Quell-Clip hat 720x576, mit Crop(0,6,744,544) soll das beschnittene (gecroppte) Ergebnis jedoch 744x544 also breiter sein - das geht natürlich nicht! Mein Beispiel war damals ein analoges TV-Capture mit 768x576 wobei ich mit diesem Befehl dann links 0, oben 6, rechts 768-744=24 und unten 576-544=32 Pixel weggeschnitten hatte. Das musst du natürlich an dein Video anpassen, falls Crop überhaupt nötig. Dient ja nur dazu ungewollte / unsaubere Ränder wegzuschneiden...

    Zitat

    Kein brauchbares ergebnis. Wie schon gesagt, das bild schliert und zieht

    Meinst du diese Schlieren welche v.a. an den Bildrändern hin und wieder auftreten? Das kommt vom Interpolieren im 2nd pass:

    Deshaker versucht das Bild möglichst ruhig zu halten, was in deinem Beispiel ja auch gelingt - die Personen sind immer schön ruhig zentriert in der Mitte. Wenn im Quell-Clip das Bild nun durch Verwackler als ganzes nach rechts "rutscht", dann versucht Deshaker es in der Mitte zu halten, dann fehlen ihm aber natürlich am rechten Rand Bildinformationen. Ohne das Häkchen bei "Use previous and future frames..." würdest du dort schwarzen Rand sehen. Um die schwarzen Ränder zu vermeiden versucht Deshaker bei aktivierter Funktion "Use previous and future frames..." diese schwarzen Ränder durch Bildinhalte aus Vorgänger- und Nachfolgerbilder zu interpolieren, was natürlich nur "begrenzt" gelingt. Wieviele Bilder zur Interpolation verwendet werden kannst du ja parametrieren. Im Beispiel sind 50 verwendet, was beim gebobbten 50fps Video also 1 s bedeutet.
    Durch diese Funktion kommts übrigens auch zum Tonversatz, welchen du später wieder ausgleichen musst (z.B. durch DelayAudio).

    Um die schwarzen Balken und auch das Interpolieren zu vermeiden könnte man im Deshaker statt "None (large Borders)" auch "Adaptive Zoom" o.ä. verwenden. Dabei zoomt Deshaker dann in solchen Bereichen ins Bild rein um die Ränder zu vermeiden. Mich persönlich stört das ständige Ein-/Ausgezoome jedoch und ausserdem zermanscht das Zoomen (was ja vertikales Resizing bedeutet) das Bild ziemlich... Aber probiers ruhig aus - vielleicht gefällt dir das Ergebnis ja besser.

    Lies dir dazu auch mal die (englische) Deshaker Original Doku durch. Da steht das recht gut beschrieben.

    Du könntest aber z.B. am rechten Rand was wegcroppen (geht dann halt komplett verloren) und dann links und rechts gleichmäßig mit AddBorders wieder auf 720 auffüllen. Wenn du am TV guckst hast du ohnehin Overscan und dann sollten diese schwarzen Ränder zumindest größtenteils gar nicht sichtbar sein.

    Ich hab aber auch schon mal deshakte und Original-Bildteile entspr. mit Trim aneinandergefügt um diese kurzen extrem verwischten Videoteile durch das (verwackelte) Original-Video zu ersetzen.


    Weiters (hab ich glaub ich schon 3 mal erwähnt...):
    Falls du den CCE verwendest solltest du im zweiten Script ganz unten Doubleweave.SelectOdd() verwenden um von BFF auf TFF zu drehen, denn dein Ursprungsclip ist ja BFF (DV) und der CCE braucht TFF...

    Übrigens süß die Kleine (beide natürlich ;)) Wie alt ist sie denn? Hab selbst eine Tochter mit 6 Monaten :) :)


    cu, grua

  • Zitat

    Schön langsam wird's müssig, ...

    Na, ich bin ja auch doof. Schneiden auf 744, wenn blos 720 vorhanden ist.
    Naja, wer lesen kann, ist woll doch klar im Vorteil. :hm:

    Zitat

    Meinst du diese Schlieren welche v.a. an den Bildrändern hin und wieder auftreten?

    Nein, die nicht. Das ist klar, dass das nicht anderst zu machen ist. Ich meine eher, das auch in der Mitte des Bilders Schliern entstehen, aber das kommt bestimmt vom zu starken wackeln.
    Ich hab auch schon mit dem Bildstabilisator von der Kamera Aufnahmen gemacht. Nachteil 1: geht nur, denn entsprechende Ausleuchtung vorhanden ist. Nachteil 2: das Bild zieht ziemlich nach.
    Naja, da werd ich mal noch an den Einstellungen im pass 2 arbeiten müssen.

    Zitat

    Falls du den CCE verwendest ...

    Der CCE kommt dann nach dem schneiden dran. Da war bis jetzt sowieso Doubleweave.SelectOdd() in Script drin.

    Zitat

    Wie alt ist sie denn?

    Mittlerweile schon 10 Monate alt :):)

    Grüße,
    Thorsten

  • Zitat

    da werd ich mal noch an den Einstellungen im pass 2 arbeiten müssen

    Lass dann mal hören wie deine Erfahrungen waren. Ich selbst hab dann im Herbst vorauss. wieder ein Deshaker-Projekt (Urlaubsvideo) vor mir...

    Und falls noch Fragen auftauchen - nur zu ;)

    cu, grua

    PS.: Und noch viel Freude mit dem Nachwuchs!!!

  • Zitat

    ob da ne alternative ist, weis ich nicht. Mal testen.

    na ja - nicht für mich, da ich erstens Premiere nicht nutze (schon gar nicht besitze ;)) und der Deshaker samt VDub gratis ist.

    cu, grua

  • Ja, leider ist SteadyMove nur als Premiere Plugin zu haben. Und da ich schonmal (vor ca. eineinhalb Jahren) Premiere zum Testen drauf hatte, wird Warscheinlich die neuere Version nimmer laufen. Und zum Testen sooo viel downloaden ?!

    SteadyHand ist im übrigen voll der Müll. Die Qauli ist nicht mal ausreichend, sondern nur schlecht. Unscharf und weiterhin verwackelt.

  • [i]SteadyHand ist im übrigen voll der Müll. Die Qauli ist nicht mal ausreichend, sondern nur schlecht. Unscharf und weiterhin verwackelt.[i]

    joho.

    steadyhand arbeitet nur mit den frames aus der vergangenheit. es kann nicht in die 'Zukunft' schauen.
    Deswegen kachelt es regelmaeszig gegen die gesetzten maximalen stabilisationslimits.
    Was wiederum ruckeln verursacht.

    Ausserdem vermurkst Steadyhand das interlacing dahingehend, dass die beiden halbbilder nun nichtmehr um einen halben pixel vertikal verschoben sind, sondern deckungsgleich liegen.

    das liegt daran, dass steadyhand etwa so arbeitet:

    separatefields().crappystabi().weave()

    was natuerlich vollkommener unfug ist.

  • zum Verständis:

    -Motion smoothness ist ein Wert, wie Stark gedämpft wird (niedrigere Werte ergeben "rückfedern", höhere Werte ergeben seht starres Bild)

    - Max. correction limits ist ein Wert, wie weit das neue Bild vom original abweichen darf (verschieben, drehen oder zoomen)

    hab ich das so richtig aufgenommen?

  • Thorsten,

    Programme wie Steadymove oder Steadyhand sind m. E. nur ein Notbehelf, der auch Bildqualität kostet. Um späteren Frust bei Dir vorzubeugen, gestatte mir bitte ein paar Hinweise (von mir aus kannst Du mich danach auch einen Klugsch****er nennen; das Ganze kommt aber aus leidlicher Erfahrung):

    Du solltest versuchen, beim Filmen immer ein Stativ zu benutzen. Als Notlösung bringt auch ein Einbeistativ eine ganze Menge. Wähle Deinen Standort so, dass wilde Schwenks und rasante Zoomfahrten nicht notwendig werden. Ansonsten kann man nachher mit dem Material nicht so sehr viel anfangen - Zuschauer, die seekrank werden sind halt nicht überall erwünscht. Wenn geschwenkt wird, solltest Du Dir einen Fixpunkt suchen, dort ca. 3 Sekunden aufnehmen und dann langsam schwenken. Ganz sauber geht das nur mit einem 3-Bein-Stativ und einem entsprechend gedämpften Kopf, was allerdings seinen Preis hat. Am Ende des Schwenks sollten wieder 3 Sekunden Ruhe eintreten. Ich persönliche schwenke nicht viel und beim Zoom halte ich es in der Regel so, dass ich das Objektiv auf die richtige Brennweite einstelle und dann erst filme.

    Wie gesagt, als meine Tochte ganz klein war habe ich dies alles auch nicht berücksichtigt und könnte mich dafür heute irgendwo hinbeißen.

    Trotzdem noch viel Spass beim Filmen.

    Viele Grüße aus Detmold
    Thomas

  • MediaKing & andere:

    Auch wenn ich mich jetzt massig unbeliebt mache:

    Auch ich habe meine Videos nach der Anleitung "Filtern von Interlaced Video" mit TMCBob gedeinterlaced und dann den Deshaker verwendet. Das Ergebnis waren schließlich die von Dir erwähnten Bewegungsschlieren, die an einen 100 Hz-Fernseher erinnern. Das Bild wirkt weich, und wenn man feine Strukturen z.B. Kiesboden im Bild hat, wird die Struktur regelrecht über das Bild gezogen - daran ist allerdings wohl auch ein Rauschunterdrücker in meiner Panasonic NV-GS120 auch nicht ganz unbeteiligt.
    Zuerst dachte ich, es wären Artefakte vom Resizen, denn ich mache aus meinen Letterboxed-DV-Aufnahmen anamorphe Aufnahmen, da ich das Skalieren nicht meinem zukünftigen 16:9-Fernseher überlassen will, sondern lieber selbst den Skalierungsalgorithmus wähle (derzeit Spline).

    Bei weiteren Tests hat es sich bei mir jedoch herausgestellt, dass es wohl an TomsMoComp oder seinen Settings liegt. Ich verwende daher die geschmähten SeparateFields() und Weave(). Habe mal zwei Beispielbilder drangehängt, die ich vor einiger Zeit bei diesen Tests gemacht habe. Zumindest ein Schärfe-Verlust ist beim A/B-Vergleich z.B. mit IrfanView deutlich zu erkennen. Gepostet habe ich´s bis jetzt nicht, denn irgendwie zweifle ich bis heute daran, dass die hier oft propagierte TMCBob-Vorgehensweise wirklich schlechter ist als die andere, aber wenn noch jemand das "Problem" hat, scheine ich ja doch nicht sooo falsch zu liegen. Vielleicht habe ich auch einfach irgendein Grundprinzip nicht verstanden, warum ich kein SeparateField nehmen sollte, auch wenn´s bei mir (50 Hz Röhren-TV) IMHO deutlich besser aussieht...

    Ansonsten macht der Deshaker viel, viel Arbeit, aber liefert IMHO auch ein besseres Ergebnis als SteadyMove Pro - zumindest hat man mehr Einflussmöglichkeiten (das Stabilisieren z.B. einer Aufnahme seitlich aus einem fahrenden Auto heraus ist mit SteadyMove nicht möglich). Habe lange an den Deshaker-Settings rumgespielt, und komme langsam zu dem Schluss, dass es die perfekten Settings nicht gibt. Mit der neu eingeführten genaueren Blocksuche arbeitet der Deshaker weitaus präziser, aber man muss immer noch die Wage halten zwischen holpernden, falsch stabilisierten oder mechanisch wirkenden Schwenks oder weicheren Bewegungen, bei denen allerdings schon eine vorbeilaufende oder eine sich mehr bewegende Person dazu führen kann, dass das ganze Bild rotiert.
    Hier wäre ein Front-End zur Bearbeitung der 3 Stabilisierungsvarianten (unstabilisiert, "Discard motion of Blocks that move > x pixels in wrong direction" mit einem Wert von 1, Wert größer 1) optimal, bei dem man per Klick wählen kann, welche Stabilisierungsvariante man bei einer "kritischen" Szene bevorzugt.
    Habe auch mal meine Deshaker-Settings angehängt, vielleicht kann die ja jemand tunen helfen (Frame-Größen bitte anpassen; ich zudem die ungültigen Bereiche nicht durch Skalieren verschwinden [Schärfe-Verlust], sondern stabilisiere nur moderat und mache einen 16 Pixel breiten schwarzen Rahmen, der bei einem Fernseher wg. Overscan nicht zu sehen ist und am PC das unruhige Zappeln verdeckt).

    Ansonsten kann ich mich einem Vorredner nur anschließend: Am wenigsten Arbeit hat man, wenn man mit einem Stativ filmt. Und da das aber zu statisch ist (vor allem, wenn man die Kinder filmt), überlege ich mir, ein sog. Schwebestativ zu bauen oder zu kaufen. Es gibt von Hobbythek eine Anleitung, aber so ganz blicke ich da noch nicht durch.

    Grüße
    Jörg

Jetzt mitmachen!

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