Directshowsource forcibily outputs 25fps, 23.98fps source

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • rmm21
    Junior Member
    Junior Member
    • Jul 2007
    • 6

    Directshowsource forcibily outputs 25fps, 23.98fps source

    Hi all, i've browsed these forums many times looking for information but now I really need help.

    Recently, I have successfully encoded my videos to XVID using the latest Megui and latest Avisynth but up until two or three days ago i've noticed that they are all being converted to 25fps, regardless of original source fps, even though previously every one of them was giving output of 23.98fps which is what I wanted.

    I tested to see if it was the video source by using a previous video I encoded last week that came out earlier to 23.98fps(same fps and total number of frames as original source), but ended up now(using the same exact script with same XVID profiles in MeGui)with a 25fps video file, even though I haven't changed anything and am using only this basic script:

    DirectShowSource("C:\Documents and Settings\mymovies\Recording01.mkv",fps=23.97598565 27702,audio=false)
    ConvertToYV12()
    Lanczos4resize(640,368)
    MSharpen(1,60,true,false,false)

    Here is what the test.avs I did showed for the original non-XVID video:
    Frame: 16860 of 33720
    Time: 00:11:43:201 of 00:23:26:403
    ColorSpace: YUY2
    Width: 704 pixels, Height: 480 pixels
    Frames per second: 23.9760 (10000000/417083)
    FieldBased (Separated) Video: NO
    Parity: Bottom Field First
    Video Pitch: 1408 bytes
    Has Audio: NO
    CPU detected: x87 MMX ISSE SSE SSE2

    Here is what the test.avs for the new 25fps video gave:
    Frame: 16860 of 33720
    Time: 00:11:14:400 of 00:22:28:800
    ColorSpace: YUY2
    Width: 640 pixels, Height: 368 pixels
    Frames per second: 25.0000 (25/1)
    FieldBased (Separated) Video: NO
    Parity: Bottom Field First
    Video Pitch: 1280 bytes
    Has Audio: NO
    CPU detected: x87 MMX ISSE SSE SSE2

    The duration for each video is different as well:
    Duration(Original non-XVID 23.98fps): 23:26:40minutes
    Duration(New XVID 25fps): 22:28:80minutes

    I viewed both videos using Media Player Classic and, as an example, at 02:36minutes in the original non-XVID 23.98fps file, the same scene shows up now earlier in the new XVID 25fps file at 02:29minutes. Strange but the 25fps video seems while watching to progress visually faster, I believe.
    Playing the newly encoded 25fps XVID video in Media Player Classic gives a frame rate between 24.98-25.02fps(different fps from original but same total number of frames as original source). The older 23.98fps encoded non-XVID and XVID videos when played both stay around 23.98fps. Neither show when playing in Media Player Classic under statistics any frames being dropped.
    The same video's mp3 muxed in fine with no audio sync issues at that 23.98fps but at the now 25fps it becomes also gradually unsynced as all the newest encoded videos.

    I don't understand why the PAL fps is being forced. I've uninstalled and reinstalled the latest XVID codec, Megui and all tools, Avisynth(all new filters), FFDshow, and DirectX(latest), but the same thing happens. As you can see in my script, i've never had to use assumefps/changefps/convertfps in Avisynth to get 23.98fps with the same video I did before using the above script worked perfectly before as it is. I did add for variation convertfps=true and it still output 25fps.

    Does anyone know why this is happening and what I could of changed unknowingly to get 25fps output?
    Thanks, Jerrilyn.

    P.S. I re-encoded the file and watched it's creation in the MeGui information window during both passes and suprisingly it showed 33719 frames total and 23.26minutes being processed for both passes but the output file was again only 22.28minutes but 33720 frames.

    Here is the MeGui Log for the new 25fps XVID:
    Looking for job processor for job...
    Processor found!
    ------------------------------------------------------
    Starting job job1 at 10:02:01 AM
    Starting preprocessing of job...
    Preprocessing finished!
    encoder commandline:
    -i "C:\Documents and Settings\mymovies\Recording01.avs" -pass1 "C:\Documents and Settings\mymovies\Recording01.stats" -bitrate 1300 -kboost 100 -ostrength 0 -oimprove 0 -odegrade 10 -clow 5 -overhead 0 -turbo -max_key_interval 240 -nopacked -qmatrix "C:\Program Files\megui\extra\Didees SixOfNine.cqm" -nochromame -imin 3 -imax 5 -pmin 3 -pmax 5 -noclosed_gop -bquant_ratio 100 -bquant_offset 0 -bmax 3 -threads 0
    successfully started encoding
    Processing ended at 10:25:41 AM
    ----------------------
    Log for job job1
    xvid_encraw - raw mpeg4 bitstream encoder written by Christoph Lampert 2002-2003
    Trying to retrieve width and height from input header
    xvidcore build version: xvid-1.2.0-dev
    Bitstream version: 1.2.-127
    Detected CPU flags: ASM MMX MMXEXT SSE SSE2 TSC
    Detected 1 cpus, using 1 threads.
    Tot: enctime(ms) =405248.00, length(bytes) = 458147148
    Avg: enctime(ms) = 12.02, fps = 83.21, length(bytes) = 13586
    I frames: 751 frames, size = 47319/35536794, quants = 2 / 2.00 / 2
    P frames: 11592 frames, size = 21972/254699966, quants = 2 / 2.00 / 2
    B frames: 21346 frames, size = 7866/167910200, quants = 2 / 2.00 / 2
    N frames: 31 frames, size = 6/ 188
    ----------------------
    Starting postprocessing of job...
    Job completed successfully and deletion of intermediate files is activated
    Postprocessing finished!
    End of log for job1
    -------------------------------------------------------
    Looking for job processor for job...
    Processor found!

    ------------------------------------------------------
    Starting job job2 at 10:25:41 AM
    Starting preprocessing of job...
    Preprocessing finished!
    encoder commandline:
    -i "C:\Documents and Settings\mymovies\Recording01.avs" -pass2 "C:\Documents and Settings\mymovies\Recording01.stats" -bitrate 1300 -kboost 100 -ostrength 0 -oimprove 0 -odegrade 10 -clow 5 -overhead 0 -max_key_interval 240 -nopacked -vhqmode 4 -qmatrix "C:\Program Files\megui\extra\Didees SixOfNine.cqm" -imin 3 -imax 5 -pmin 3 -pmax 5 -noclosed_gop -bvhq -bquant_ratio 100 -bquant_offset 0 -bmax 3 -threads 0 -avi "C:\Documents and Settings\mymovies\Recording01.avi"
    successfully started encoding
    Processing ended at 11:10:32 AM
    ----------------------
    Log for job job2
    xvid_encraw - raw mpeg4 bitstream encoder written by Christoph Lampert 2002-2003
    Trying to retrieve width and height from input header
    xvidcore build version: xvid-1.2.0-dev
    Bitstream version: 1.2.-127
    Detected CPU flags: ASM MMX MMXEXT SSE SSE2 TSC
    Detected 1 cpus, using 1 threads.
    Tot: enctime(ms) =1697945.00, length(bytes) = 219077936
    Avg: enctime(ms) = 50.35, fps = 19.86, length(bytes) = 6496
    I frames: 751 frames, size = 33878/25442938, quants = 3 / 3.00 / 3
    P frames: 11592 frames, size = 7814/90580812, quants = 2 / 4.36 / 5
    B frames: 21346 frames, size = 4827/103054000, quants = 2 / 3.44 / 4
    N frames: 31 frames, size = 6/ 186
    desired video bitrate of this job: 1300 kbit/s - obtained video bitrate (approximate): 1250 kbit/s
    ----------------------
    Starting postprocessing of job...
    Job completed successfully and deletion of intermediate files is activated
    Postprocessing finished!
    End of log for job2
    -------------------------------------------------------
  • rmm21
    Junior Member
    Junior Member
    • Jul 2007
    • 6

    #2
    I should of mentioned that I also tried virtualdubmod, feeding it several vob and avi files(at 23.98fps originally), and was also given forced output of 25fps. I also checked Haali Media Splitter
    under options and output to see if "force fake 25fps" was enabled and it wasn't.
    I can't imagine what would of changed just within the last few days to prevent the same successful 23.98fps file outputs i've had for the past several weeks using MeGui predominately.
    Jerrilyn.

    Comment

    • admin
      Administrator
      • Nov 2001
      • 8951

      #3
      Are you using ffdshow to decode your input videos? Perhaps check to see if the decoder filter's settings remain the same as before, and just to see that you are in fact still using the same decoder filters and some other (incompatible) filter hasn't taken over.

      Seems a bit strange for it to happen, when I assume playback of 23.976 video isn't being affected.
      Visit Digital Digest and dvdloc8.com, My Blog

      Comment

      • rmm21
        Junior Member
        Junior Member
        • Jul 2007
        • 6

        #4
        Hi Admin, i'm using ffdshow to decode everything. I might try the latest MMX version of ffdshow to see if that can clear this problem of mine and do a brand new reinstall of everything(related to audio and video that is ie:Avisynth, MeGui, Mkvtoolnix, etc...). Crossing my fingers.
        Do you know of a "force 25fps" option in ffdshow? It was mentioned by someone in another forum. I know Haali Media Splitter has one but I don't see it in ffdshow.

        Jerrilyn.

        P.S. Admin, this forum has some of the most imaginative smilies around.
        Cute.

        Comment

        • admin
          Administrator
          • Nov 2001
          • 8951

          #5
          Don't know if it's related or not, but on one of my computers now, when I play 23.976 movies and I turn on ffdshow's OSD to show the movie's FPS, it shows 25 FPS when played back in Media Player Classic. It shows the correct 23.967 FPS in Windows Media Player though, and the same file plays perfectly (@ 23.976 FPS) on my other computer using MPC.

          I'm investigating ...
          Visit Digital Digest and dvdloc8.com, My Blog

          Comment

          • rmm21
            Junior Member
            Junior Member
            • Jul 2007
            • 6

            #6
            Here's an update: I unstalled every multimedia related program on my computer(Avisynth, FFdshow, Haali Media Splitter, MeGui, Vobsub, CCCP remnants, latest XVID codec, mkvtoolnix, etc...), cleaned temp and registries, defragmented hard drive, and re-downloaded the programs I needed: Avisynth257, MeGui w/.net 2, Mkvtoolnix, Mkvextractgui, and Gabest
            mkv splitter.

            No FFdshow or Haalimedia Splitter anywhere on my computer.

            I used Mkvextractgui to recreate the same files I needed to encode(that H264 file I am trying to convert to XVID) just in case of some weird anomaly in the source which, just to recall, produced a perfect 23.98fps XVID last week at the same exact duration as the original.

            Installed MeGui, created new avs, let it go for about an hour using XVID profile 30%, and yahooooo, was given, from a 23.98fps H264 source file, a shiny new f-ing 25fps XVID file at 22.28minutes in duration(original was 23.26minutes long FYI).

            I think when I say this sucks it's hardly touching what I feel.
            I would say that my computer has a big problem with Directshow which is for some reason dropping frames.

            Jerrilyn.

            Hi Admin, i'm curious if there was a priority update from microsoft that I automatically downloaded that caused this. I normally just use "Express" when I use Windows Update so I have to wonder. Did you update recently too?

            Comment

            • admin
              Administrator
              • Nov 2001
              • 8951

              #7
              It looks like both of my computers are affected by the same problem, but it does not extend to encoding H.264 files, but it does affect XviD encodins. I converted a MP4 H.264 file to XviD with the ffdshow OSD option turned on (this encodes the FPS OSD into the video it self) - the funny thing is that when playing back the resulting XviD file, the burnt-in OSD shows the correct framerate 23.976, but the actual file is 25 FPS. Weird isn't it?

              I managed to fix my playback problem at least, where MPC shows 25 FPS and WMP shows 23.976 FPS by using Haali as my splitter instead of MPC's internal splitter. I can re-create the problem by enabling MPC's internal MP4 splitter (mine was a MP4 H.264 file).

              And yes, both of my computers have all the latest Windows Update updates, don't know if it is related or not.
              Visit Digital Digest and dvdloc8.com, My Blog

              Comment

              • admin
                Administrator
                • Nov 2001
                • 8951

                #8
                I tested encoding XviD in VirtualDubMod using the same AviSynth script, seems to give the correct FPS output ...
                Visit Digital Digest and dvdloc8.com, My Blog

                Comment

                • admin
                  Administrator
                  • Nov 2001
                  • 8951

                  #9
                  I've managed to fix the problem. I went into C:\Program Files\megui\tools\xvid_encraw , saw that there were two files "xvid_encraw.exe.backup" and "xvidcore.dll.backup", and the current files seemed to have been updated recently. I restored the backups, and now MeGUI encodes 23.976 XviD files as it should.

                  Looks like a MeGUI update might be the cause of the problem - the update xvid_encraw files seems to be problematic.
                  Last edited by admin; 18 Jul 2007, 10:59 PM.
                  Visit Digital Digest and dvdloc8.com, My Blog

                  Comment

                  • admin
                    Administrator
                    • Nov 2001
                    • 8951

                    #10
                    I uninstalled MeGUI and re-installed it, and then ran the update - it updated xvid_encrawl with the "broken" version that always produces 25 fps. This time I replaced xvid_encraw.exe (248 KB) with my backup file (424 KB) (did not replace "xvidcore.dll" with the backup version), and encodings came out fine again at the right FPS.

                    I've attached the xvid_encraw.exe backup file that seem to work.

                    MeGUI updates, I think, come from the files stored here:



                    The xvid_encraw package on the above location contains the "broken" version.
                    Attached Files
                    Last edited by admin; 18 Jul 2007, 11:00 PM.
                    Visit Digital Digest and dvdloc8.com, My Blog

                    Comment

                    • rmm21
                      Junior Member
                      Junior Member
                      • Jul 2007
                      • 6

                      #11
                      Hi Admin, thanks for the attachment. I'll see if that works. I just restored my OS and updated about 100 files from Windows Update. Thanks for your help.

                      Let you know soon how things turn out.
                      Jerrilyn.

                      Comment

                      • rmm21
                        Junior Member
                        Junior Member
                        • Jul 2007
                        • 6

                        #12
                        Admin, it..............WORKS!!!!!!!!

                        Thank you so much. I can't be any happier.

                        Jerrilyn.

                        P.S. I'll let you know how my encodes I do overnight turn out.

                        Comment

                        Working...