Ntsc 29,97 -> pal 25

  • Hi,

    ich möchte ein DVD-Video umwandeln. StaxRip erkennt folgende Angaben:

    Code
    Format                           : MPEG VideoFormat version                   : Version 2File size                        : 824 MiBDuration                         : 59mn 56sOveral bit rate                  : 1922 KbpsVideoFormat                           : MPEG VideoFormat version                   : Version 2Format profile                   : Main@MainFormat settings, Matrix          : StandardDuration                         : 59mn 56sBit rate mode                    : ConstantBit rate                         : 1839 KbpsNominal bit rate                 : 9800 KbpsWidth                            : 720 pixelsHeight                           : 480 pixelsDisplay aspect ratio             : 4/3Frame rate                       : 29.970 fpsStandard                         : NTSCColorimetry                      : 4:2:0Scan type                        : ProgressiveScan order                       : 2:3 PulldownBits/(Pixel*Frame)               : 0.946


    Jetzt habe ich schon mit verschiedenen Skripten rumprobiert, um das bestmögliche Ergebnis rauszuholen, zuletzt mit dem:

    Code
    MPEG2Source("I:\NTSC.d2v")
    Telecide(guide=1,post=2,vthresh=25).Decimate()
    Crop(8,0,-8,-0)
    FluxSmoothST(4)
    LanczosResize(640,480)


    Das Bild ist soweit ganz ok, nur die Framerate nicht. Das Ergebnis hat irgendwas mit 19,xx fps.
    Wo liegt das Problem? Oder habe ich Thematik insofern falsch verstanden, dass ich noch AssumeFPS(25.000, true) einfügen müsste?
    Mein bisherigen "Wissen" ist, dass IVTC das Video auf 25 fps bringt. Oder erstellt die Funktion nur NTSC Film (23,976 fps), so dass noch der SpeedUp mit AssumeFPS erfolgen muss?

    Gruß
    MacLeod

  • Scan type : Progressive
    Scan order : 2:3 Pulldown

    Könnte sein, dass das Video tatsächlich FILM ist. Dann wäre die Angabe "29,97 fps" also eher Soll statt Ist.

    Ist aber nur eine Vermutung. Vielleicht wissen andere das genauer.

    Warum soll es denn PAL werden? Hast du irgend welche Geräte, die mit dem Timing nicht klarkommen?

  • Es ist eine Serie, die ich deutsch dubben möchte ...

    Videostream: 18:23 min -> 29,97 fps
    Audiostream: 22:56 min -> 23,976 fps ? vermutlich ...

  • Nö alter Mann ;)
    Das hat mir ein gutes altes Programm gerippt. Die Zeiten zeigt mir Cuttermaran so an.
    Wieso, warum das weiß ich nicht, deshalb frag ich ja hier ;)

  • Es ist eine Serie, die ich deutsch dubben möchte ...

    Videostream: 18:23 min -> 29,97 fps
    Audiostream: 22:56 min -> 23,976 fps ? vermutlich ...

    Also wenn man wirklich mal die sache durchrechnet:

    Code
    18:23 min = 1103 sek.(1103 / 23976) * 29970 = 1378 sek.1378 sek. = 22:58 min.

    Das würde jedoch bedeuten, es liegt ein Speedup von 23,976fps auf 29,97fps vor zwischen den beiden Streams.
    Im Normalfall passt das aber wirklich überhaupt nicht zusammen.

    29,97fps Material ist normalerweise interlaced. Um so etwas in progressives Material zu bringen musst Du es deinterlacen, dies würde dann 23,976fps Material erzeugen.

    Damit könntest Du dann natürlich ein Speedup durchführen um es auf die Lauflänge der Tonspur zu bringen. Alternativ kann man aber auch die Tonspur verlangsamen.

    Kurzum, Material mit 23,976fps und 29,97fps haben normalerweise die gleiche Lauflänge, das eine ist dabei nur interlaced und setzt sich aus Halbbildern zusammen. Beide Versionen sind langsamer als PAL-Format.

    Um ins PAL-Format zu kommen müssten die Streams eine Lauflänge von 19:10min haben

    Code
    18:23 min = 1103 sek.
    
    
    (1103 / 23976) * 25000 = 1150 sek.
    1150 sek. = 19:10 min.

    Vom PAL-format ist beides halt nur ein Stück weit weg. Und an der Stelle muss ich auch nochmal bergh zitieren

    Das passt vorne wie hinten nicht.
    Unterschiedliche Schnittfassungen ?

    mfg Fisker

  • @ Fisker:

    Nicht interlaced, sondern telecined. Gegen einen 3:2-Pulldown hilft IVTC (Inverse Telecine).

    Und beide Varianten haben exakt die selbe Spieldauer.

    Hmm, na gut. Bei der ganzen Fachsimpelei hab ich mich im Begriff vergriffen. Schande auf mein Haupt :floet:

  • Wenn das Sourcematerial Soft-telecined ist, Dgindex auf Ignore Pulldown Flags steht werden die Pulldown Fields entfernt, die Anzeigedauer der Frames aber nicht geändert.
    Man hat nun weiterhin 29,97 fps aber nur mehr 18 min 23 sek.
    Geht man dann noch mit Telecide drüber bleibts zwar bei 18 min 23 aber die Framerate wird noch niedriger......

  • Was ist denn mit der Funktion "Force Film" statt "Ignore ..."
    Wenn ich den Stream mit Force Film in DGIndex als Project speichere, kommt der Stream auf die "gewünschten" 23,976 Frames mit 22:56 min. Aber vermutlich ist dieser Weg nicht ganz "sauber".
    Letzten Endes wird wahrscheinlich nur ausprobieren helfen.

  • Zitat

    Wenn ich den Stream mit Force Film in DGIndex als Project speichere, kommt der Stream auf die "gewünschten" 23,976 Frames mit 22:56 min. Aber vermutlich ist dieser Weg nicht ganz "sauber".

    Was soll daran nicht sauber sein?
    Das ist genau der richtige Weg.

  • Ok, ich hab jetzt mal als ForceFilm abgespeichert und mal rumprobiert:

    Code
    MPEG2Source("...\1x01US temp files\1x01US.d2v")Crop(10,0,-10,-0)UnDot.Deen()LanczosResize(640,480)AssumeFPS(25.000, true)


    Da mir aber dann beim Anschauen so leicht "schwammige" Bilder aufgefallen sind, habe ich die Source doch nochmal ein wenig mehr "analysiert":

    Code
    LoadPlugin("...\AviSynth 2.5\plugins\TIVTC\tivtc.dll")MPEG2Source("...\1x01US temp files\1x01US.d2v")import("...\AviSynth 2.5\plugins\Interlacing2Reader.avs")vFrames=Framecount(last)Interlacing2Reader(end=vFrames,inf=2,file="test.log")


    ergab dann mal folgendes Log-File:

    Code
    interlaced:0 (fluid:0),  progressive:0,  fieldshifted:0,  BFF:0,  TFF:0, blended:0/0
    interlaced:0 (fluid:0),  progressive:0,  fieldshifted:0,  BFF:0,  TFF:0, blended:0/0
    ...
    interlaced:128 (fluid:22),  progressive:11742,  fieldshifted:25,  BFF:56,  TFF:34, blended:15/53
    interlaced:128 (fluid:22),  progressive:11742,  fieldshifted:25,  BFF:56,  TFF:34, blended:15/53


    Also in den ganzen progressiven Frames sind einige Stolpersteine eingebaut. Wie muss ich das Skript anpassen, dass es diese Frames erkennt und anders/besser behandelt?

  • Also meines wissens nach war der Weg über "Force FILM" genau der richtige und IVTC wird nur bei echtem NTSC angewandt (mein Wissen darüber ist ebenfalls begrenzt).

    Und die "schwammigen" Bilder kommen nicht möglicherweise vom "Coring" während des PAL-Speedups? -> Ich persönlich bevorzuge SpeedUp OHNE Coring (film wird kürzer) - dann musst du Audio aber nachbearbeiten. Das Video ist jedoch reiner und dazu abwärtskompatibel (= kann wieder auf 23,976 abgespielt werden, wenn das nötig sein sollte). Meine Meinung.

    Das Problem mit diesen "halben" NTSC Discs kenne ich und habe es immer mit "Force FILM" gelöst - hier wird glaub ich nur das PullDownFLAG gestrichen.

  • Also es handelt sich um gemischtes Material. Bin mir nur nicht sicher, ob es nun Telecined + Progressive oder Interlaced + Progressive ist.

    Die "schwammigen" Bilder resultieren höchstwahrscheinlich aus Blends.

    Aber DEN Weg habe ich noch nicht gefunden. Man müßte irgendie die Frames im Vorfeld analysieren und dann entsprechend Codieren.

    So hier ist mal ein kleiner Ausschnitt aus dem Video: http://secured.in/download-336689-b32ad5ca.html

    Einmal editiert, zuletzt von MacLeod (5. September 2009 um 12:24)

  • MacLeod
    1. zu srestore
    Die Funktion ist hier einfach falsch. Es liegt keine Normwandlung vor. Zudem verändert srestore grundsaetzlich nicht die Laufzeit des Videos. Ist so ja auch nicht gewollt. Verstehe also deine Frage nicht ganz.

    2. zum Sample
    Zum groeßten Teil handelt es sich um einfaches Telecining (3:2-Pulldown). Die Blends in einigen Szenen sind bei irgendeiner Nachbearbeitung entstanden (damit best. Szenen fluessiger aussehen usw.). Sie lassen sich nicht entfernen.
    moeglicher Ansatz:

    Code
    tdeint(mode=1,tryweave=true,full=true)
    tdecimate(rate=24000.0/1001.0,mode=7,chroma=false)


    Mode 1 oder 2 sollten mit den richtigen Parametern auch funktionieren (tdecimate). Die Einstellungen lassen sich natuerlich optimieren.
    Ansonsten bleibt noch die (aufwendigere) Moeglichkeit sich mit unterschiedlichen Frameraten rumzuschlagen.

  • Ah vielen Dank!
    Ich habe jetzt mal das kurze Stück gestestet. Sieht sehr gut aus und ruckelt auch nicht mehr ...

    Code
    tdeint(mode=1,tryweave=true,full=true)
    tdecimate(rate=24000.0/1001.0,mode=7,chroma=false)
    Crop(8,0,-8,-0)
    UnDot.Deen()
    LanczosResize(640,480)
    AssumeFPS(25.000, true)
    Trim(2000,4000)


    Kann man da jetzt noch was optimieren?

    BTW: Ich hab hier schon einiges gelesen von Funktionen wie fastlinedarken usw; lohnt sich so etwas?

Jetzt mitmachen!

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