Xvid(avi) nach .mp4(mit yamb) hat danach fps 23.455(avi 25fps)

  • Hallo!

    Also ich hab eine xvid mit staxrip erstellt. die dadurch entstandene avi hat 25fps(vdub)
    Jetzt hab ich die avi + einer aac-Tonspur mittels yamb nach mp4 convertiert.

    Mein Handyplayer zeigte mir an, dass die file nur 23.455 fps hat. dem hab ich zunächst nicht geglaubt, aber als ich die mp4 mittels

    DirectShowSource("C:/......mp4")

    in vdub geladen hab hat mir das vdub plötzlich auch die 23.455 fps angezeigt. Daraufhin hab ich ein anderes skript encodet aber da wars genauso.

    Die in vdub geladene .mp4 hat statt 9706 Frames nur 9106 frames(das ist quasi (die richtige Länge der Sequenz)*23,455 = 9106

    Das Problem besteht auch ohne mit gemuxte .aac

    Dann hab ich mich noch etwas gespielt und andere xvid einstellungen getestet. Als ich jedoch eine xvid mit bframes(selbe source selbes skript) erstellt und in vdub geladen hatte, hatte diese mp4 plötzlich die richtigen 25fps(bitrate war auch gleich).

    Ich hab dann alle einstellungen in xvid wieder zurückgestellt und nur die bframes aktiviert und die daraus resultierende mp4 hatte die korrekte fps.(mit bframes ist das Problem nicht vorhanden, versteh ich zwar nicht aber ihr vielleicht.)

    mit dem mkv-container(mittels mkvmerge) sinds immer 25fps

    vielleicht weiß ja wer Rat?


    Hier die staxrip.log(mit avisynth-skript) der xvid ohne bframes(falsche fps)


    ------------------------------------------------------------
    Filter
    ------------------------------------------------------------

    LoadPlugin("C:\PROGRA~1\GORDIA~1\tdeint.dll")
    LoadPlugin("C:\PROGRA~1\GORDIA~1\TMM.dll")
    LoadPlugin("C:\PROGRA~1\GORDIA~1\YadifMod.dll")
    LoadPlugin("C:\PROGRA~1\GORDIA~1\nnedi.dll")
    LoadPlugin("C:\PROGRA~1\GORDIA~1\mt_masktools-26.dll")
    LoadPlugin("C:\PROGRA~1\GORDIA~1\MVTools.dll")
    LoadPlugin("C:\PROGRA~1\GORDIA~1\corrector.dll")
    LoadPlugin("C:\PROGRA~1\GORDIA~1\medianblur.dll")
    LoadPlugin("C:\PROGRA~1\GORDIA~1\vinverse.dll")
    LoadPlugin("C:\PROGRA~1\GORDIA~1\undot.dll")
    LoadPlugin("C:\Programme\GordianKnot\TDeint.dll")
    LoadPlugin("C:\PROGRA~1\GORDIA~1\Convolution3d.dll")
    LoadPlugin("C:\PROGRA~1\GORDIA~1\Removegrain.dll")
    LoadPlugin("C:\PROGRA~1\GORDIA~1\FluxSmooth.dll")
    LoadPlugin("C:\PROGRA~1\GORDIA~1\STMedianFilter.dll")
    LoadPlugin("C:\PROGRA~1\GORDIA~1\degrainmedian.dll")
    LoadPlugin("C:\PROGRA~1\GORDIA~1\vaguedenoiser.dll")
    LoadPlugin("C:\PROGRA~1\GORDIA~1\blockbuster.dll")



    DirectShowSource("D:\.......mkv").trim(15576,34988).selecteven.LanczosResize(320,176)


    ------------------------------------------------------------
    First Pass Codec Parameters
    ------------------------------------------------------------

    ar_mode: 0
    ar_x: 4
    ar_y: 3
    aspect_ratio: 0
    audio_mode: 0
    audio_rate: 128
    audio_size: 0
    audio_type: 0
    bitrate: 432
    bquant_offset: 100
    bquant_ratio: 150
    Brightness: 0
    chromame: 1
    container_type: 1
    curve_compression_high: 0
    curve_compression_low: 0
    Deblock_UV: 0
    Deblock_Y: 0
    debug: 0
    Dering_UV: 0
    Dering_Y: 0
    desired_quant: 200
    desired_size: 20457
    discard1pass: 1
    display_status: 0
    FilmEffect: 0
    fourcc_used: 0
    fps: 2
    frame_drop_ratio: 0
    full1pass: 0
    gmc: 0
    hours: 1
    interlacing: 0
    keyframe_boost: 10
    kfreduction: 20
    kfthreshold: 1
    lum_masking: 0
    max_bframes: 2
    max_bquant: 23
    max_iquant: 23
    max_key_interval: 300
    max_pquant: 23
    min_bquant: 2
    min_iquant: 2
    min_pquant: 2
    minutes: 30
    mode: 1
    motion_search: 6
    num_zones: 1
    overflow_control_strength: 5
    packed: 1
    par_x: 1
    par_y: 1
    profile: Mobile
    qpel: 0
    quality: (User defined)
    quant_type: 0
    rc_averaging_period: 100
    rc_buffer: 100
    rc_reaction_delay_factor: 16
    seconds: 0
    stats:
    D:\.......pass
    subtitle_size: 0
    Supported_4CC: 7
    target_size: 665600
    tff: 0
    trellis_quant: 0
    turbo: 0
    twopass_max_overflow_degradation: 5
    twopass_max_overflow_improvement: 5
    use_2pass_bitrate: 0
    use_bvop: 0
    vhq_bframe: 0
    vhq_mode: 4
    vop_debug: 0
    zone0_bvop_threshold: 0
    zone0_cartoon_mode: 0
    zone0_chroma_opt: 1
    zone0_frame: 0
    zone0_greyscale: 0
    zone0_mode: 0
    zone0_quant: 500
    zone0_type: 0
    zone0_weight: 100

    ------------------------------------------------------------
    First Pass Encoding
    ------------------------------------------------------------

    VirtualDub.Open("D:\.......avs","",0);
    VirtualDub.video.SetMode(1);
    VirtualDub.video.SetCompression(0x64697678,0,10000,0);
    VirtualDub.SaveAVI("D:\......FirstPass.avi");

    ------------------------------------------------------------
    First Pass Encoding Statistics
    ------------------------------------------------------------

    Start: 15:43:56
    End: 15:48:31
    Duration: 00:04:35
    Speed: 35 fps

    ------------------------------------------------------------
    Single, Second or NTh Pass Codec Parameters
    ------------------------------------------------------------

    ar_mode: 0
    ar_x: 4
    ar_y: 3
    aspect_ratio: 0
    audio_mode: 0
    audio_rate: 128
    audio_size: 0
    audio_type: 0
    bitrate: 432
    bquant_offset: 100
    bquant_ratio: 150
    Brightness: 0
    chromame: 1
    container_type: 1
    curve_compression_high: 0
    curve_compression_low: 5
    Deblock_UV: 0
    Deblock_Y: 0
    debug: 0
    Dering_UV: 0
    Dering_Y: 0
    desired_quant: 200
    desired_size: 20457
    discard1pass: 1
    display_status: 0
    FilmEffect: 0
    fourcc_used: 0
    fps: 2
    frame_drop_ratio: 0
    full1pass: 0
    gmc: 0
    hours: 1
    interlacing: 0
    keyframe_boost: 10
    kfreduction: 20
    kfthreshold: 1
    lum_masking: 0
    max_bframes: 2
    max_bquant: 23
    max_iquant: 23
    max_key_interval: 300
    max_pquant: 23
    min_bquant: 2
    min_iquant: 2
    min_pquant: 2
    minutes: 30
    mode: 2
    motion_search: 6
    num_zones: 1
    overflow_control_strength: 5
    packed: 1
    par_x: 1
    par_y: 1
    profile: Mobile
    qpel: 0
    quality: (User defined)
    quant_type: 0
    rc_averaging_period: 100
    rc_buffer: 100
    rc_reaction_delay_factor: 16
    seconds: 0
    stats:
    D:\.......pass
    subtitle_size: 0
    Supported_4CC: 7
    target_size: 665600
    tff: 0
    trellis_quant: 0
    turbo: 0
    twopass_max_overflow_degradation: 5
    twopass_max_overflow_improvement: 5
    use_2pass_bitrate: 1
    use_bvop: 0
    vhq_bframe: 0
    vhq_mode: 4
    vop_debug: 0
    zone0_bvop_threshold: 0
    zone0_cartoon_mode: 0
    zone0_chroma_opt: 1
    zone0_frame: 0
    zone0_greyscale: 0
    zone0_mode: 0
    zone0_quant: 500
    zone0_type: 0
    zone0_weight: 100

    ------------------------------------------------------------
    Single, Second or NTh Pass Encoding
    ------------------------------------------------------------

    VirtualDub.Open("D:\.......avs","",0);
    VirtualDub.RemoveInputStreams();
    VirtualDub.video.SetMode(1);
    VirtualDub.video.SetCompression(0x64697678,0,10000,0);
    VirtualDub.SaveAVI("D:\.......avi");


    und hier noch die Yamb.log

    [21:45:42] : Yamb 2.0.0.8 started !!!
    [21:45:42] : OS type detection...Windows XP Professional
    [21:45:42] : MP4Box found... e:\programme\yamb\mp4box.exe
    [21:45:42] : Tagger is missing...
    [21:45:53] : Testfile_wrong_fps.avi loaded.
    [21:45:56] : Creation of Testfile_wrong_fps.mp4...
    [21:45:56] : Command Line used for Creation : "e:\programme\yamb22\mp4box.exe" -add "D:\z\Testfile_wrong_fps.avi#video:fps=25.000" "D:\z\Testfile_wrong_fps.mp4"
    [23:45:56] : File saved in D:\z\
    [23:45:56] : Importing AVI Video Stream...
    [23:45:56] : File Writing...
    [23:45:57] : Creation complete.
    [23:45:59] : Yamb 2.0.0.8 closed.


    mfg gnarf

    Einmal editiert, zuletzt von gnarf (22. Juni 2009 um 01:19)

  • Das von dir Beobachtete verhalten, ist beabsichtigt. Das von dir erstellte Xvid AVI, enthielt vermutlich, sogenannte NVOB("not coded video object"). Diese werden von Xvid erstellt, wenn die Bildinformationen von zwei aufeinander folgenden Frames (nahezu?)identisch sind. Das AVI Datei Format unterstützt meines Wissens keine variable Framerate. Hier behilft man sich mit den NVOB.

    Das MP4 Datei Format unterstützt Video Streams mit variabler Framerate, so dass man nicht auf das Hilfsmittel NVOB angewiesen ist. Konsequenter Weise entfernt MP4Box die NVOB und passt die Anzeigedauer des Frames vor dem NVOB an. Das Frame wird jetzt doppelt so lange angezeigt.
    Du kannst dir ein Bild davon machen, wenn du MP4Box, wie folgt Informationen zu deiner erstellten Datei anzeigen lässt:

    "MP4Box -diso deineDatei.mp4"

    Du erhälst eine XML Datei als Ausgabe. Öffne diese Datei in einem Editor deiner Wahl und suche nach "SampleDelta". Es sollten dir SampleDelta Werte auf fallen, die doppelt so groß sind wie die Werte der restlichen Frames. Jeder Video Frame in einer MP4 Datei kann einen anderen SampleDelta Wert haben.

    Jeder Track hat eine "TimeScale". Die zu deinem Video Track gehörende TimeScale solltest du auch in der XML Datei finden. Die TimeScale gibt an, in wie viele Zeiteinheiten(klicks) eine Sekunde unterteilt wird. Der Wert der unter SampleDelta steht legt fest wie viele dieser Zeiteinheiten ein Frame dargestellt wird.

    Mit deiner Datei sollte also alles in Ordnung sein.

    Gruß
    Richard

  • Hallo!

    Danke für die Antwort, Drachir !!!


    Zuvor, hier die SampleDelta und TimeScale Werte der datei ohne Bframes(das sind alle SampleData und TimeScale - Einträge aus der HTML Datei)


    SampleDelta:

    ab Zeile 101

    TimeToSampleEntry SampleDelta="12000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="1000" SampleCount="17"/>
    TimeToSampleEntry SampleDelta="2000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="3000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="1000" SampleCount="3"/>
    TimeToSampleEntry SampleDelta="2000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="1000" SampleCount="3"/>
    TimeToSampleEntry SampleDelta="73000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="1000" SampleCount="3"/>
    TimeToSampleEntry SampleDelta="3000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="9000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="1000" SampleCount="21"/>
    TimeToSampleEntry SampleDelta="2000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="4000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="1000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="2000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="3000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="1000" SampleCount="3"/>
    TimeToSampleEntry SampleDelta="36000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="2000" SampleCount="2"/>
    TimeToSampleEntry SampleDelta="1000" SampleCount="22"/>
    TimeToSampleEntry SampleDelta="2000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="7000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="1000" SampleCount="6"/>
    TimeToSampleEntry SampleDelta="2000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="1000" SampleCount="2"/>
    TimeToSampleEntry SampleDelta="53000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="1000" SampleCount="4"/>
    TimeToSampleEntry SampleDelta="4000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="1000" SampleCount="2"/>
    TimeToSampleEntry SampleDelta="7000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="8000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="1000" SampleCount="6668"/>
    TimeToSampleEntry SampleDelta="2000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="1000" SampleCount="4"/>
    TimeToSampleEntry SampleDelta="7000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="2000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="7000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="99000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="1000" SampleCount="3"/>
    TimeToSampleEntry SampleDelta="15000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="108000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="1000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="2000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="1000" SampleCount="6"/>
    TimeToSampleEntry SampleDelta="2000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="5000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="1000" SampleCount="3"/>
    TimeToSampleEntry SampleDelta="6000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="18000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="81000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="1000" SampleCount="3"/>
    TimeToSampleEntry SampleDelta="2000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="4000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="34000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="1000" SampleCount="2"/>
    TimeToSampleEntry SampleDelta="2000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="1000" SampleCount="2288"/>
    TimeToSampleEntry SampleDelta="2000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="4000" SampleCount="1"/>
    TimeToSampleEntry SampleDelta="1000" SampleCount="2"/>

    Zeile: 10207
    TimeToSampleEntry SampleDelta="600" SampleCount="1"/>
    Zeile: 10296
    TimeToSampleEntry SampleDelta="600" SampleCount="1"/>


    timescale:

    Zeile: 27
    MovieHeaderBox CreationTime="3321780633" ModificationTime="3321780633" TimeScale="600" Duration="232968" NextTrackID="201">

    Zeile: 44
    MediaHeaderBox CreationTime="3321780633" ModificationTime="3321780634" TimeScale="25000" Duration="9707000" LanguageCode="und">

    Zeile: 10153
    MediaHeaderBox CreationTime="3321780634" ModificationTime="3321780634" TimeScale="600" Duration="600" LanguageCode="und">

    Zeile: 10235
    MediaHeaderBox CreationTime="3321780634" ModificationTime="3321780634" TimeScale="600" Duration="600" LanguageCode="und">


    hier die SampleDelta und TimeScale Werte der datei mit Bframes

    SampleDelta:

    Zeile 101
    TimeToSampleEntry SampleDelta="1000" SampleCount="9708"/>


    Zeile: 17352
    TimeToSampleEntry SampleDelta="600" SampleCount="1"/>
    Zeile: 17441
    TimeToSampleEntry SampleDelta="600" SampleCount="1"/>


    timescale:

    Zeile: 27
    MovieHeaderBox CreationTime="3321780613" ModificationTime="3321780613" TimeScale="600" Duration="232992" NextTrackID="201">
    Zeile: 44
    MediaHeaderBox CreationTime="3321780613" ModificationTime="3321780614" TimeScale="25000" Duration="9708000" LanguageCode="und">
    Zeile: 17298
    MediaHeaderBox CreationTime="3321780614" ModificationTime="3321780614" TimeScale="600" Duration="600" LanguageCode="und">
    Zeile: 17380
    MediaHeaderBox CreationTime="3321780614" ModificationTime="3321780614" TimeScale="600" Duration="600" LanguageCode="und">


    1.) Also wenn ich das richtig verstanden habe:

    Wenn man 10 fast gleiche frames hat, dann wird davon nur 1 frame angezeigt allerdings nur 10 mal so lang(darum sinkt auch die frameanzahl wenn ich die mp4 mittels direkt show in vdub öffne); ist das so?

    2.) Was macht das mp4 mit den nicht dargestellten frames(gelöscht werden sie ja wohl nicht)?

    3.) Das sind ja wilde Werte die da teilweise bei SampleDelta stehen; wenn ich mir nun zb den SampleDelta Eintrag der ohne Bframe- Datei

    TimeToSampleEntry SampleDelta="108000" SampleCount="1"/>

    anschaue heißt das dann das dieser frame 108 mal so lange angezeigt wird wie diese 6668 frames(108/25fps= 4,32 Sekunden der selbe Frame)?

    TimeToSampleEntry SampleDelta="1000" SampleCount="6668"/>


    Die TimeScale - Werte sind ja bei beiden Dateien gleich.


    4.) Warum gibt es diese Framerate-Anpassung eigentlich nicht bei der Datei mit den Bframes? Ich hab jetzt auch schon andere Sources getestet und es ist immer das gleiche, die datei mit xvid/bframes hat immer 25fps und die ohne bframes hat immer eine niedrigere.
    Gibts diese NVOBs bei files mit bframes nicht?
    Ich mein ich würde ja gern die xvid-datei mit bframes nehmen aber das schafft mein handy nicht bei schnellen schwenkbewegungen(da ruckts);

    5.) Kann man diese fps anpassung irgendwo in mp4box(oder bei einem anderen mp4- erstellungstool) deaktivieren, sodass er die Videodatei 1:1 in den mp4 container packt ohne diese Framerate-Anpassung?

    6.) Worin liegt der Sinn dieser Framerate- Anpassung(Variablen Framerate)


    7.) Falls meine oberen Folgerungen stimmen;

    Wenn ich allerdings die datei ohne bframes in vdub öffne (mittels avs-scripts und ffdshow), dann finde ich keine frames die länger angezeigt werden. jeder frame wird gleich lang angezeigt nämlich ca. 0,043 Sekunden.
    wenn mans hochrechnet(mit 0,0426 sekunden) kommt man genau auf 9106 frames bei 6:28.237 Minuten Abspieldauer.

    Warum macht das dann vdub so; soweit ich das verstanden hab sollten ja nur frames die den fast selben inhalt nur einmal dafür doppelt solange angezeigt werden und die mit unterschiedlichem inhalt halt die üblichen 40 ms?
    Denn 43 ms ist ja keine korrekte anzeigedauer(kein Monitor hat diese Aktualisierungsrate)


    Wenn ihr wollt ist kann ich die file mal hochladen.

    danke euch vielmals

    gnarf

    Einmal editiert, zuletzt von gnarf (21. Juli 2009 um 19:35)

  • 1.) Also wenn ich das richtig verstanden habe:

    Wenn man 10 fast gleiche frames hat, dann wird davon nur 1 frame angezeigt allerdings nur 10 mal so lang(darum sinkt auch die frameanzahl wenn ich die mp4 mittels direkt show in vdub öffne); ist das so?

    Ja. XviD setzt dann einfach 1 "richtigen" Frame und 9 NVOPs im AVI-Container. Beim Umwandeln nach MP4 wird der erste Frame einfach länger angezeigt. (Ob ich den ersten 10 mal so lange anzeige oder ihn 9 mal wiederhole macht keinen Unterschied)

    Zitat

    2.) Was macht das mp4 mit den nicht dargestellten frames(gelöscht werden sie ja wohl nicht)?

    Doch, sie werden gelöscht. Allerdings ist dies kein Problem, weil das nicht bei "fast" gleichen Bildern gemacht wird, sondern nur bei NVOPs - welche 100% identisch zu den vorhergehenden sind.

    Zitat

    4.) Warum gibt es diese Framerate-Anpassung eigentlich nicht bei der Datei mit den Bframes? Ich hab jetzt auch schon andere Sources getestet und es ist immer das gleiche, die datei mit xvid/bframes hat immer 25fps und die ohne bframes hat immer eine niedrigere.
    Gibts diese NVOBs bei files mit bframes nicht?
    Ich mein ich würde ja gern die xvid-datei mit bframes nehmen aber das schafft mein handy nicht bei schnellen schwenkbewegungen(da ruckts)

    Die gibt es auch bei Dateien mit B-Frames, allerdings scheint XviD sie dort sehr viel seltener - häufig gar nicht - zu setzen.

    Zitat

    5.) Kann man diese fps anpassung irgendwo in mp4box(oder bei einem anderen mp4- erstellungstool) deaktivieren, sodass er die Videodatei 1:1 in den mp4 container packt ohne diese Framerate-Anpassung?

    Nein, da im MP4-Container keine NVOPs vorgesehen sind. (Falsch, siehe unten)

    Zitat

    6.) Worin liegt der Sinn dieser Framerate- Anpassung(Variablen Framerate)

    Gute Frage ;) . Die MP4-Ersteller sehen das Ganze wohl eher umgekehrt: die NVOPs sind ein für den AVI-Container notwendiger Trick, der bei MP4 nicht gebraucht wird.

    Zitat

    7.) Falls meine oberen Folgerungen stimmen;

    Wenn ich allerdings die datei ohne bframes in vdub öffne (mittels avs-scripts und ffdshow), dann finde ich keine frames die länger angezeigt werden. jeder frame wird gleich lang angezeigt nämlich ca. 0,043 Sekunden.
    wenn mans hochrechnet(mit 0,0426 sekunden) kommt man genau auf 9106 frames bei 6:28.237 Minuten Abspieldauer.

    Warum macht das dann vdub so; soweit ich das verstanden hab sollten ja nur frames die den fast selben inhalt nur einmal dafür doppelt solange angezeigt werden und die mit unterschiedlichem inhalt halt die üblichen 40 ms?
    Denn 43 ms ist ja keine korrekte anzeigedauer(kein Monitor hat diese Aktualisierungsrate)

    AviSynth arbeitet immer mit konstanter Framerate - deshalb diese Anzeige in VirtualDub. Wenn Du die Datei nun über VirtualDub einfach nur umwandeln würdest, würde Deine Datei unsynchron werden.


    Zum Schluß noch ein Wort, da ich glaube, daß Du den neuen Framerate-Wert falsch deutest:

    Die Framerate wird nicht wirklich geändert. Deine MP4-Datei läuft exakt solange wie die AVI-Datei und wird genau gleich ausgegeben. Man sollte sich nicht von den krummen FPS-Werten nach der Umwandlung verwirren lassen.

    Einmal editiert, zuletzt von sneaker2 (24. Juli 2009 um 20:47)

  • passt jetzt ist mir soweit alles klar;

    wichtig war auch der hinweis, dass man diese mp4 dann nicht einfach wieder mittels avisynth weiterverarbeiten darf.

    Für meinen Anwendungsfall werd ich zwar dies sowieso nicht machen, aber falls ihr eine einfache Möglichkeit kennt wie man aus dieser variablenframerate.mp4 wieder eine avi mit nvop bekommt würds mich freuen wenn ihr mir das mitteilen könntet.

    Ich kenn nur den weg über mkvmerge. Denn mkvmerge erzeugt aus dieser variablenframerate.mp4 eine mkv die 25fps hat und die richtige länge. Somit werden dort dann wohl wieder diese nvops eingefügt(da man dann ja wieder die Originalframerate(also wie bei der source-avi) hat.

    diese mkv könnte man dann mit avisynth weiterverarbeiten.


    Danke nochmal, jetzt weiß ich, dass mit den files alles in Ordnung ist und diese somit richtig von jedem Player egal ob Handy oder nicht abgespielt werden.


    Hab jetzt noch eine testfile mit einem standbild erzeugt(16 Sekunden lang). Für dieses Standbild verwendet mp4 dann nur noch 28 frames(somit zeigt vdub 1.637 fps an); zwar nicht 1nen aber das wird schon seine gründe haben(keyframes so wie es aussieht).Irgendwie logisch sonst könnte man ja bei reinen clips aus standbildern zb als hintergrund für musik nicht spulen.

    Abgespielt wirds allerdings vom handy sowie vom Pc richtig.

    mfg gnarf


  • Nein, da im MP4-Container keine NVOPs vorgesehen sind.

    ich hab grad in yamb unter properties(also die properties bei der mp4 file creation)

    die Auswahlbox "Keep N-Vops" gesehen, und diese angewählt und mit dieser einstellung eine mp4 erzeugt.

    hat aber nichts verändert; weiterhin 23.455 fps

    hast sicher recht aber weißt du vielleicht wofür diese auswahlbox dann gut ist?

    mfg

  • Mir war diese Funktion nicht bekannt, weshalb ich sie gerade einmal getestet habe. Laut avidemux bleiben die NVOPs tatsächlich erhalten. Sorry, dann waren meine obigen Informationen nicht alle richtig - anscheinend ist es doch möglich, die NVOPs beizubehalten.
    Warum bei Dir dann immer noch ein krummer Wert angezeigt wird, ist mir allerdings ein Rätsel.

    Benutzt Du die aktuelle YAMB-Version?

    Einmal editiert, zuletzt von sneaker2 (23. Juli 2009 um 00:52)

  • ja hab die neueste version von yamb

    hab dir mal die AviSource angehängt.
    Aus der hab ich auch die mp4 gemacht. dabei kommt bei mir immer egal ob ich "keep nvops" aktiviere oder nicht eine fps von 23,... (bei der file jetzt 23,506 weil ichs neu encodet hab um die bitrate zu reduzieren), heraus.

    Außerdem noch die avs datei mit der ich die file in vdub lade(kannst du vielleicht auch mal probieren die file in vdub zu laden und schaun wies dann mit der fps aussieht?) sowie die mp4 file(mit yamb und "keep nvops" erzeugt) angehängt.

    vielleicht kannst ja mal aus der AviSource ne mp4 machen und schaun was los ist.

    mfg gnarf

  • Also in der von Dir erzeugten "NvopTest_oBf_50.mp4" sind die NVOPs nicht mehr vorhanden.
    Habe testweise aus der avi-Datei mit yamb eine mp4-datei mit "keep nvops" erstellt, und das klappt bei mir einwandfrei. Irgendwas scheint mit Deiner yamb-Installation nicht zu stimmen.

    Entpack die angehängte Datei mal zu der AVI-Datei und für die .bat-Datei aus.

  • Hallo sneaker2!

    Es hat funktioniert! Ich hatte wohl die falsche mp4box.exe mit deiner und der js32.dll ist das ohne probleme gegangen. Jetzt hab ich auch 25 fps.

    Ich hab dieses yamb installiert.

    Yamb-2.1.0.0_beta2_setup.exe größe der exe 7.174.957 Bytes

    wenn ich das installiere befindet sich im yamb ordner eine mp4box.exe mit 231 kb

    mit der gehts nicht. mit deiner 1334 kb großen gehts problemlos.

    dein link geht aber auch zu dieser datei; wenn du die installierst bekommst du die 1334 kb mp4box?

    Aber im Endeffekt ist es gut das es jetzt geht und jetzt kann ich meine frage bezüglich Programm mit dem man wieder die Original-avi aus der mp4 bekommt selber beantworten nämlich mit yamb "extract streams"

    Danke für die viele Hilfe!!!!!!!

  • Habe die nochmal heruntergeladen und erhalte dann auch nur die 230 KB große mp4box.exe, bei der "keep nvops" ebenfalls nicht geht. Komisch - dachte, daß das die Version sein müßte, die ich auch installiert habe. Naja, hauptsache es läuft jetzt so, wie Du es möchtest.
    Werde das mit YAMB mal dem Entwickler melden - scheint definitiv ein Fehler zu sein, den Du da gefunden hast.

Jetzt mitmachen!

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