Wo liest AviSynth die Angaben zur Framerate aus?

  • Hallo,

    bereits früher hatte ich manchmal Videos bei denen mit Mediainfo Angaben zur "Framerate" und zur "originalen Framerate" anzeigte. Oft waren es Filme die ich recht einfach mit Handbrake kodiert hatte. Soweit ich das verstehe wurde hier im Matroska-Container abweichende Framerateinfo gesetzt als im Videostream. Oft sind im Container 25fps gesetzt obwohl es 23.976fps sein sollten. Bisher dachte ich AviSynht ließt die Framerateinfos aus dem Videostream aus, im jetzt vorliegenden Fall scheint es diese Info aber aus dem Container zu holen - AvsPMod zeigt mir 25fps obwohl richtig 23.976 sind.

    Eine Frameratewandlung ist hier ja unnötig, man müsste AviSynth nur dazu bringen die 23.976 zu erkennen. Genügt es jetzt beim Quellfilter (hier: LWLibavVideoSource) die Framerate mit abzugeben oder sollte man neu muxen, dann wird die Framerate im Container richtig gesetzt?

    nel-son

    edit
    Ich finde in der MKVToolNix-GUI kein Feld mehr für die Framerate. Früher gab es sowas mal.

    _________________________

    Zitat

    Zieht ein Bienenschwarm aus, so wird er herrenlos, wenn nicht der Eigentümer ihn unverzüglich verfolgt oder wenn der Eigentümer die Verfolgung aufgibt.


    § 961 BGB [Eigentumsverlust bei Bienenschwärmen]

    :D

  • AviSynth hält sich an das, was der Source-Filter vorgibt. Das wird in der Regel die Angabe des Containers, nicht des Bitstreams sein. Das FPS-Feld gibt es definitiv auch im neuen MKVToolNix GUI.

    Genügt es jetzt beim Quellfilter (hier: LWLibavVideoSource) die Framerate mit abzugeben oder sollte man neu muxen, dann wird die Framerate im Container richtig gesetzt?


    Genügen für was? Wenn Du nur die Abspielgeschwindigkeit ändern willst, nutze AssumeFPS().

  • Ausreichend um die korrekte Framerate zu übernehmen. Ich will sie ja eben nicht ändern.

    _________________________

    Zitat

    Zieht ein Bienenschwarm aus, so wird er herrenlos, wenn nicht der Eigentümer ihn unverzüglich verfolgt oder wenn der Eigentümer die Verfolgung aufgibt.


    § 961 BGB [Eigentumsverlust bei Bienenschwärmen]

    :D

  • Mit den Aussagen kann ich nichts anfangen. Sowohl 23.976 Hz als auch 25 Hz können korrekte Frameraten sein. AssumeFPS() ist quasi äquivalent zu mkvtoolnix' fps-Feld, die ändern beide nur die Abspielgeschwindigkeit. Wenn Du vorher in Handbrake mit falscher Framerate gearbeitet hast, wird es komplizierter. Wenn MediaInfo allerdings sowohl "Framerate" als auch "originalen Framerate" anzeigt, deutet das nicht auf HandBrake-Bearbeitung hin. Du mußt genauer sein mit dem, was Du gemacht hast, warum Du meinst daß dies falsch sei und was Du erreichen willst.

  • Zitat

    Mit den Aussagen kann ich nichts anfangen. Sowohl 23.976 Hz als auch 25 Hz können korrekte Frameraten sein.

    Ja, aber doch nicht gleichzeitig. Ein Video kann nicht 25fps und gleichzeitig 23.976fps haben. Das Problem ist, dass (vermutlich) Handbrake ein Quellvideo mit 23.976fps korrekt in 23.976fps umgerechnet und aber im Matroska-Container 25fps gesetzt hat. Manche Player nutzen die Framerate aus dem Videostream (Kodi) und manche die aus dem Container (mpv, glaube ich). Die Frage für mich war welche beim Import von AviSynth angenommen wird. Da ich hier ein HD- und ein SD-Video synchronisieren will (wegen HD-Video mit deutschem Ton), das SD-Video 25fps hat und asynchron ist muss 23.976 richtig sein. Wenn ich beim SD-Video assumefps(24000,1001,true) nutze ist alles framegenau passend. Ich musste aber die richtige Framerate beim Quellfilter des HD-Videos auf 23.976 setzen.

    Es erfolgt doch keine Framerateänderung wenn ich

    Zitat

    LWLibavvideoSource("datei.mkv",threads=1,fpsnum=24000,fpsden=1001)

    nutze, oder? Soweit ich das verstehe ist das lediglich eine Zusatzinfo für den Quellfilter welche Framerate vorliegt.

    _________________________

    Zitat

    Zieht ein Bienenschwarm aus, so wird er herrenlos, wenn nicht der Eigentümer ihn unverzüglich verfolgt oder wenn der Eigentümer die Verfolgung aufgibt.


    § 961 BGB [Eigentumsverlust bei Bienenschwärmen]

    :D

  • Es erfolgt doch keine Framerateänderung wenn ich
    LWLibavvideoSource("datei.mkv",threads=1,fpsnum=24000,fpsden=1001)
    nutze, oder?


    Doch. Wenn die fpsnum/fpsden nicht durchgängig der Containerframerate entspricht, werden Frames gelöscht/dupliziert. Das ist etwas anders als AssumeFPS().

    Welche der Varianten ist jetzt richtig? Mußt Du testen. Da ich Deine Quellen nicht kenne, kann ich das nicht beantworten. Kann auch sein, daß man auch stattdessen mit TDecimate() o.ä. ran muß.

Jetzt mitmachen!

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