
Gulliver's Travels (1939) - aufbereiten ?
-
-
Ich morgen früh
und werd es posten
-
@ Selur
Archive.org hat ich beinahe wieder vergessen da gibt teilweise richtige härtefälle für die avisynth besessenenMal schauen was man da rausholen kann werde einfach an der skriptbastelei für dieses sample zum spass mitmachen
-
-
hab jetzt mal minimum 6 stunden damit verbracht dass engl. & deutsche doom9 forum nach filtern oder import's zu durchsuchen die dreck/schwarze flecken/kratzer komplett oder zu 99% entfernen und tatsächlich gibt es sowas noch nicht(schlagt mich wenn doch!) es sollte doch
möglich sein sowas hinzubekommen z.b. mit einer analyse was war 2-3 frames davor und was kommt danach (ich bin einfach noch zu blöd für solche sachen) wer sich's traut und viel zeit hat soll's versuchen viele user wären froh wenn's sowas gäbewobei ich noch etwas zum haupptthema sagen will bei so alten zeichentrickfilmen sollte man doch noch ein gewisses mass an charme und flair für dieses zeitalter beibehalten weshalb ich höchstens c3danime=hq einsetzten würde und die störungen/dreck gehören wenn es nich zu krass ist einfach dazu!
-
Hmmm, jetzt hänge ich mich hier auch mal rein. Konnte jetzt noch nicht so viel damit machen, aber läuft der Film denn durchgängig 12fps oder gibt es auch 24fps Sequenzen. Die Stabilisierung sollte zwar an den tfm output gemacht werden. Die Entfernung dieser grässlichen Artefakte geht wahrscheinlich aber leichter bei den 12 fps Material, da sie hier nicht über mehrere Frames laufen. Ich werde mal ein bißchen damit rumspielen. Habe da schon eine Idee, wie man diesen Dreck entfernen könnte. Das große Problem ist halt die Größe dieser Artefakte.
-
Zitat
Ich werde mal ein bißchen damit rumspielen.
das höhrt man doch gerneZitatDas große Problem ist halt die Größe dieser Artefakte.
hier und da ein paar kleine Flecken würden mich ja nicht stören, aber wer sich den Film mal komplett runterläg (1.8GB) wird sehen, da sind einige sehr unschöne stellen im Film.Cu Selur
-
-
Kleine Frage: Wenn ich auf 12fps runter gehe, muß ich dann den Audiostream umsamplen ?
Cu Selur
-
Nö, musst du nicht. Die Funktion nimmt die Reduzierung nur durch selectevery() vor. Loa_ash() habe ich für wie vermutet für Loa_Ash geschrieben und dient zum Rückgängigmachen von einer speziellen Blendkonvertierung. Damit hier etwas weniger Dups produziert werden muss ich sie nachher noch etwas umschreiben. So also bitte nicht benutzen!
-
Zitat
So also bitte nicht benutzen!
YawohlCu Selur
-
Zitat von MOmonster
Es gibt ein 12fps Output indem die schlimmsten Artefakte (durch removedirt und DupHQ) entfernt sind.
Zumindest bei zooms liefert gulliver's travels saubere flüssige 24fps !
Edit:
ansonsten sollte 12fps output reichen da ich mir dass ganze nochma angesehen hab, es kommen immer 2 doppelframes bei 24fps -
Bei Zooms also saubere 24fps, habe ich mir ja schon fast gedacht. Nun muss jeder für sich wissen, was er bevorzugt. Bei 24fps müsste man noch ne range für removedirt festlegen und eventuell DupHQ verändern.
Ok, die Funktion wurde modifiziert und nennt sich jetzt r12fps. Das Output sollte flüssiger sein :ja: (siehe vorletzte Post).
Wie waren eigentlich die Resultate mit Scharfis_Brain´s Skript. Wenn Zeit nicht so wichtig ist, ist die Stabilisierung sicherlich recht positiv, oder? -
Zitat
Wenn Zeit nicht so wichtig ist,
ne im Endeffekt wirds mein Dual Athlon 1800+ MP rechnen, der kann auch mal ne Woche rechnen.ZitatWie waren eigentlich die Resultate mit Scharfis_Brain´s Skript.
für den Anfang nicht schlecht, aber sollte an sich schon besser werden,.. -
@ MOmonster
bugreportzu deiner kreation
manchmal (nicht immer) bei szenenwechseln vorallem die ersten frames haben noch viele störungen
ansonsten schon ganz gut wenn auch noch einige störungen vorhanden sind! -
-
@ MOmonster
Sehr schön hast wirklich saubere arbeit geleistet :ja:
Dass ergebnis kann sich nun wirklich sehen lassen es ist zwar nicht alles weg aber aufjedenfall denkt man sich WOW was für ein Unterschied zu vorher
ich frage schonmal im voraus hättest du etwas gegen eine partnerschaft zwischen Universal Anime AVS skript & deinem Dreckentfernungs skript? -
Mr. Brown.
Feel free to implement it in your script.
Removedirt und DupHQ oder auch AnimeDup sind je nach Anwendungsfall sicher sehr hilfreich und zudem auch noch recht schnell.Wenn Selur aber wirklich kein Problem mit der Kodierdauer hat, lasse ich mich gerne noch zu einen dritten (und auch letzten, man hat ja auch noch andere Dinge zu tun
) Anlauf überreden.
Es gibt da ja noch einige Filter von Fizick, die hier wahrscheinlich noch etwas mehr herausholen könnten :ja: . -
Ich hab keine Probleme mit der Zeit und werd das Endscript auch auf dem kompletten Film laufen lassen.
(Werde dann wahrscheinlich erstmal nach Lossless avi und dann nach H264 encoden.(avi als Zwischenschritt um nur 1mal durch das Script zu müssen. ;)))
Cu Selur
-
Mr. Brown
Wenn du Anidup in dein Skript mit aufnehmen möchtest, würde ich vorher noch ein paar Änderungen vornehmen und eine kleine readme schreiben, sag mir also einfach bescheid.
Removedirt ist mit den Standartsettings schon ziemlich gut, wenn man aber mit detailierteren Material arbeitet teste doch einfach mal das: "removedirt(mthreshold=4*255,athreshold=18,soscillation=10,doscillation=255,dist=2,tolerance=12,show=0)"
Habe ich irgendwo mal aufgegriffen und funktioniert sehr gut.@Selurr
Ok, hier ist mein Cpu hungriges, Speicher fressendes Dustremoval Monster:Code- LoadPlugin("C:\program_me\dgmpgdec\DGDecode.dll")
- LoadPlugin("C:\program_me\filters\RepairS.dll")
- LoadPlugin("C:\program_me\filters\unfilter.dll")
- LoadPlugin("C:\program_me\filters\RemoveDirtS.dll")
- LoadPlugin("C:\program_me\filters\hqdn3d.dll")
- LoadPlugin("C:\program_me\filters\depan.dll")
- LoadPlugin("C:\program_me\filters\deen.dll")
- LoadPlugin("C:\program_me\filters\TIVTC.dll")
- #LoadPlugin("C:\program_me\filters\MipSmooth.dll")
- LoadPlugin("C:\program_me\filters\TTempSmooth.dll")
- #LoadPlugin("C:\program_me\filters\TBilateral.dll")
- MPEG2Source("D:\dvd.d2v",cpu=2)
- TFM(pp=0)
- TDecimate()
- a = last.bilinearresize(352,240)
- e=depanestimate(pixaspect=0.911,zoommax=2)
- depaninterleave(data=e,pixaspect=0.911,mirror=15,prev=1,next=1)
- removedirt()
- selectevery(3,1)
- hqdn3d(ls=1.8,cs=1.6,lt=1.6,ct=1.3)
- repair(last, last.unfilter(-75,-75),1,1,1)
- TTempSmooth()
- repair(unfilter(40,40),last, 16,0,0)
- deen("a2d",4,6,8)
- removedirt()
- AniDup(analyse=a, nomo=2.8, scenechange=35.0, chroma=false, motionbreak=3.0)
- #changefps(11.988) #nur für 12fps output
- Function AniDup(clip input, clip "analyse", float "nomo", float "scenechange", bool "chroma", float "motionbreak")
- {
- ###### PREPARATION ######
- global testclip = analyse.isclip() ? analyse : input
- global test0 = testclip.duplicateframe(0).duplicateframe(0)
- global test1 = testclip.duplicateframe(0)
- global output = input
- global motion = default(nomo,1.0)
- global scene = default(scenechange,30.0)
- global mb = default(motionbreak,6.0)
- global full = default(chroma,false)
- ###### VAR.. ######
- global t3d3 = 100.0
- global t3d2 = 100.0
- global t3d1 = 100.0
- global t3d0 = 100.0
- global temp = 100.0
- global t3db = 100.0
- global now = 2
- ###### Conditional Function Chain, evaluated from bottom to top (!) ######
- d99=scriptclip(input, "now == 7 ? output.duplicateframe(0).duplicateframe(0) : (now == 1 || now == 5 || now == 8 ? output.duplicateframe(0) :
- \ (now == 4 || now == 9 || now == 12 ? output.trim(1,0) : (now == 10 ? output.trim(2,0) : output)))")
- d5=FrameEvaluate(d99, "now = t3d2 > scene && t3d2 > mb*t3d1 && t3d2 > mb*t3d3 ? (t3d1 < t3d0 && t3d1 < t3db ? 6 : 5) :
- \ (t3d0 > scene && t3d0 > mb*t3d1 && t3d0 > mb*t3db ? (t3d1 < t3d2 && t3d1 < t3d3 ? 9 : 10) :
- \ (now == 3 ? 1 : (now == 4 ? 2 : (now == 5 ? 7 : (now == 6 ? 8 : (now == 9 ? 11 : (now == 10 ? 12 :
- \ (t3d0 < t3d1 && t3d0 < t3db && t3d0 < motion ? (LumaDifference(test0,test1) < LumaDifference(test0,testclip) ? 1 : 2) :
- \ (t3d1 < t3d0 && t3d1 < t3d2 && t3d1 < motion ? (LumaDifference(test1,testclip) < LumaDifference(test1,testclip.trim(1,0)) ? 3 : 4) : 2)))))))))")
- d4=FrameEvaluate(d5, "global t3d3 = full == false ? YDifferenceToNext(testclip.trim(2,0)) :
- \ YDifferenceToNext(testclip.trim(2,0))*3/5 + VDifferenceToNext(testclip.trim(2,0))/5 +
- \ UDifferenceToNext(testclip.trim(2,0))/5
- global temp = t3d0")
- d3=FrameEvaluate(d4, "global t3d2 = t3d3
- global t3db = temp")
- d2=FrameEvaluate(d3, "global t3d1 = t3d2
- global t3db2 = t3db")
- d1=FrameEvaluate(d2, "global t3d0 = t3d1")
- return(d1)
- }
Aufgrund der reichhaltigen Filteraufrufe, hänge ich auch gleich mal das Filterpaket ran (wird natürlich wieder entfernt).
Das Teil schafft auf meinem Rechner solide 2fps. Mit Mipshmooth oder besser noch Dust darf man gleich das sechsfache der Zeit in Kauf nehmen. Deshalb wurde Dust auch nicht aufgenommen, obwohl es hqdn3d oder halt ttempshmooth recht gut ersetzen könnte.
Auch der kleine repair/unfilter Schärfer könnte durch limitedsharpen oder tunsharp ausgewechselt werden und deen kann natürlich durch favourisierte andere Spatialdenoiser (hqdn3d nur spatial, tbilliteral, 2dcleaner, eventuell +awarpsharp) ersetzt werden, fand ich aber recht passend. Natürlich sollte er ja nach Geschmack auch noch etwas angepasst werden.
Wie man sieht habe ich Scharfis Skript mit eingebaut, wie vermutet ist es ein guter Anfang. Zudem werden alle Filter (besonders die temporalen) vor Anidup aufgerufen, wodurch zwar eine stärkere Filterung notwendig wurde, aber dadurch auch Komplikationen vermieden wurden.
Changefps ist nur für 12fps notwendig. Ist jedem selbst überlassen. Die Effekte, also Zooms und Kammeraschwenks sind 24fps, der Rest 12fps.
Jetzt noch tweak und den Resizer ranpacken und nicht vergessen den internen Deblocker von x264 richtig zu nutzen, denn sieht das schon ziemlich gut aus. Mehr fällt mir dazu jetzt leider auch nicht ein (da gibt´s ja auch noch so ein Mörderskript von Didee, welches aber noch nicht verwendet werden sollte).Die Ergebnisse von Despot, FFT3D, Defreck, Descratch (Fizick´s Liga) waren bei dieser Source leider recht entäuschend
Cu, MOmonster.