Avisynth - Variable Framerate

  • Hallo,
    ich habe ein Video (x264 , im MKV Container) mit variabler Framerate, welches ich in eines mit konstanter (CFR) encodieren möchte.


    Am besten ist es bisher mit folgendem AviSynth Script gelungen:


    Code
    1. LoadPlugin("...\avss.dll")
    2. Load_Stdcall_Plugin("...\yadif.dll")
    3. [B]DSS2("video.mkv", fps=23.976)[/B]
    4. Yadif(order=-1)
    5. LanczosResize(...)


    Leider ändert sich dadurch aber auch die gesamte Länge des Videos.


    Kann mir jemand sagen, wie ich am besten vorgehen sollte? Damit ich als Ergebnis ein Video mit CFR erhalte, bei gleicher Länge ohne sichtbare Qualitätseinbußen.


    Danke!

  • :welcome:


    Bisher wusste ich gar nicht, dass x264 überhaupt VFR erzeugen kann?! Schließlich wird es ja von AviSynth beim Encodieren mit Video versorgt. War dann vielleicht doch irgend ein anderer Encoder... ist denn überhaupt wirklich AVC drin, oder doch eher RealVideo? Ohne Analyse mit mkvinfo oder MediaInfo ist das schwer zu glauben.

  • Ja ist garantiert AVC. Die Framerate wechselt leider zwischen 23,976/29.7, ich möchte es aber mit konstanter Framerate.
    Da ich gelesen habe, dass für diesen Zweck DSS2 am besten geeignet sei, habe ich es probiert und hat auch gut funktioniert, also Framerate ist kontant ohne sichtbare "Fehler", aber die Länge ändert sich leider, kenne mich leider nicht gut genug aus, um zu wissen, welchen Filter ich da am besten nehmen sollte. (irgendwas wie FDecimate und Co...?)


    Oder sollte ich komplett anders vorgehen?
    Media Info:
    Format : AVC
    Format/Info : Advanced Video Codec

  • LigH : x264 und vfr geht genau so wie Xvid und vfr. raw stream encoden und timecodes erstellen, anschließend mit mp4box oder mkvmerge mulitplexen. (Alternativ kann man soweit ich mich entsinne auch mit mencoder vfr avc Material erstellen, hab ich aber nie angetestet.)
    ----
    Zum Thema:
    Sicher, dass Yadif(order=-1) hier überhaupt Sinn macht?
    Ist das Material interlaced oder Telecine? Sicher, dass es sich wirklich um einen vfr Encode handelt? (sieht eher nach progressiven um Telecine gemixtem Material aus von dem was ich so lese)

    Zitat

    DSS2("video.mkv", fps=23.976)

    Wäre hier 29.976 nicht sinniger, da einzelne Szenen ja anscheinend 29.976fps brauchen um flüssig abgespielt zu werden und die Abspielframerate sich eigentlich nach der höchsten benötigten Framerate orientieren sollte,... (sonst macht vfr doch wenig Sinn)


    Cu Selur

  • Zu Yadif:
    Ehrlich gesagt kenne ich mich damit nicht besonders aus, ich habe MeGui das Video analysieren lassen und Yadif(order=-1) wurde mir vorgeschlagen. Mag sein, dass es falsch oder unnötig war, aber ich wüsste nicht, wie ich das von Hand korrekt herausfinde.


    Edit: Habe das Problem nun lösen können, nachdem ich alle Möglichkeiten durchprobiert hatte, danke trotzdem für eure Hilfe.