VideoHelp Forum
+ Reply to Thread
Results 1 to 8 of 8
Thread
  1. Hi, I am trying to change a NTSC 29.97 frames per second video back to its original frame rate. It is an anime video and I determined that the video was hard telecined. Thus I used the following:

    tfm(order=0)
    tdecimate(mode=1)

    in my avisynth script( mode=1 is recommended for anime apparently).

    Everything works well, no more interlaced frames, video looks great.

    However, the new frame rate in the output is listed as 24.257 with the duration of the video same as the original. Since it is an anime video, I am quite sure the original should be 23.976 frames per second.

    Thus is it okay to use tdecimate(mode=2, rate=23.976), or any other methods to change it to 23.976? I tried the method mentioned and the video looks decent-ish, and it may be placebo that makes me feel it is slightly slightly more stutter-ish.

    Will there be any implications in leaving the video at 24.257 or changing it to 23.976?
    Last edited by attackworld; 4th Sep 2018 at 07:54.
    Quote Quote  
  2. If your source is 29.97 fps tfm().tcecimate() can only result in 23.976 fps. If you are not getting 23.976 fps there is probably something wrong with the source filter and it is not delivering exactly 29.97 fps. What source filter are you using? What is your source?
    Quote Quote  
  3. Originally Posted by jagabo View Post
    If your source is 29.97 fps tfm().tcecimate() can only result in 23.976 fps. If you are not getting 23.976 fps there is probably something wrong with the source filter and it is not delivering exactly 29.97 fps. What source filter are you using? What is your source?
    Yes, probably source filter. Perhaps another filter in the AVS. In addition to the source filter used, I'd also ask for the complete script. And what is being used to read the framerate. If not VDub, does VDub also show 24.257fps in File->File Information?
    Quote Quote  
  4. I used ffmpegsource2 for the source filter, the video is a .vob file extracted from a dvdiso file that I downloaded.

    I saw the framerate in virtualdub2 under video -> frame rate, but did not actually encode the video and view the resulting video.
    No other filters were used as I am trying to get this right. So its just
    Ffmpegsource2("file.vob")
    Tfm(order=0)
    Tdecimate(mode=1)

    Sorry if I made any newbie mistake since I just learnt avisynth last week. Thanks for the replies!
    Quote Quote  
  5. Originally Posted by attackworld View Post
    I used ffmpegsource2 for the source filter, the video is a .vob file extracted from a dvdiso file that I downloaded.
    Apart from suggesting you make a D2V project file using DGIndex followed by using MPEG2Source to open your video, what happens if you do this:

    Ffmpegsource2("file.vob")
    AssumeFPS(29.97)
    Tfm(order=0)
    Tdecimate(mode=1)

    Do you get 23.976fps then? And is the length still correct?
    Quote Quote  
  6. Originally Posted by attackworld View Post
    I used ffmpegsource2 for the source filter, the video is a .vob file extracted from a dvdiso file that I downloaded.

    I saw the framerate in virtualdub2 under video -> frame rate, but did not actually encode the video and view the resulting video.
    No other filters were used as I am trying to get this right. So its just
    Ffmpegsource2("file.vob")
    Tfm(order=0)
    Tdecimate(mode=1)

    Sorry if I made any newbie mistake since I just learnt avisynth last week. Thanks for the replies!
    Try this. Avisynth should report 29.970fps for a completely hard telecined source.

    ffmpegsource2("file.vob")
    Info()

    DGIndex is better for vob files, but you can try the following. Maybe a section of the source is not hard telecined, and having a small section at 23.976fps will change the average frame rate.
    ffms2 outputs the average frame rate by default.

    ffmpegsource2("file.vob", rffmode=1)
    Info()

    rffmode=1 tells ffms2 not to ignore the repeat field flags in the 23.976fps section, and it'll also output the equivalent of hard telecined video for that section, which will give you 29.970fps, assuming that's the problem. DGIndex works that way by default unless the source is completely soft telecined.

    By the way, you can use ffms2 instead of ffmpegsource2, unless you're using an old version.

    ffms2("file.vob", rffmode=1)
    Last edited by hello_hello; 4th Sep 2018 at 04:47.
    Quote Quote  
  7. -info() showed 30.3214 as the frame rate, virtualdub2 also shows 30.321.

    Hi, so I tried every method suggested,

    -Assumefps(29.970)
    -d2v project using dgindex --> however, there was a message about fixing field order transition.
    -rffmode=1


    Okay, so the three methods would allow me to get the correct 23.976 frames per second, but all three would increase the duration of the video from 19:41 to 19:55.

    Creating the d2v project using dgindex also created an audio AC3 file with a length of 19:54, not sure if it matters to note this down.

    Using preview in dgindex gave me this: https://imgur.com/a/IoQuFN2

    I hoped that I identified properly that it was hard telecined and did not send us on a wild goose chase.

    Again, thank you guys for helping.
    Last edited by attackworld; 4th Sep 2018 at 08:23.
    Quote Quote  
  8. When working with MPEG 2 sources always use DgIndex to build an index file and Mpeg2Source() in your script. If the MPEG 2 data is in an MKV file demux it to an MPG or M2V first, then use DgIndex.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!