VideoHelp Forum
+ Reply to Thread
Page 1 of 2
1 2 LastLast
Results 1 to 30 of 40
Thread
  1. Member
    Join Date
    Apr 2006
    Location
    United States
    Search Comp PM
    I have an AVI file that is 20 FPS. Mplayer and GSpot has verified the fps.

    I have been trying to convert the AVI to 23.976 fps. Now, I change the fps in AVIFRATE to 23.976, which works fine, but the problem is the audio.

    GOLDWAVE
    Now, first I tried to use GOLDWAVE, specifically the Mark->Set option to cut off the audio for re-sync. Basically, I just calculated the difference ( in this case, milliseconds) between when the subs start and when the audio starts and enter that value in the aforementioned option in goldwave. After combining the AVI with the new audio from GOLDWAVE, when the first sub appears on the screen, the audio was in-sync, but eventually as the video plays the audio will be out of sync.


    BESWEET
    Here, I used the option to "Change frame rate from" 20000 to 23.976. The audio and video are in-sync, but the audio has a high pitch (kind of like it is being fast forwarded).

    Anybody have some suggestions or other options I could use to sync the audio and video.

    Let me know if I need to provide more information.
    Quote Quote  
  2. I believe both those programs can change the duration of the audio without changing the pitch.

    But the real question is why are you converting from 20 to 23.976 fps? Are you making a DVD? You could just leave it at 20 fps and use DGPulldown to add pulldown flags for the DVD player. That will give you smooth playback without having to change the audio.
    Quote Quote  
  3. Member
    Join Date
    Apr 2006
    Location
    United States
    Search Comp PM
    Originally Posted by jagabo
    I believe both those programs can change the duration of the audio without changing the pitch.

    But the real question is why are you converting from 20 to 23.976 fps? Are you making a DVD? You could just leave it at 20 fps and use DGPulldown to add pulldown flags for the DVD player. That will give you smooth playback without having to change the audio.
    Jagabo, thank you for the reply.

    Yes, I do want to put want to eventually put the AVI on DVD.

    First, I thought you could only use pulldowns for 23.976 fps? I didn't know you could do this for other audio.

    Two questions, how would I change the duration but not the pitch in Besweet (preferably) and Goldwave. I will do a search on google to get somewhat up to speed.

    Second questions, I am unfamiliar with DGPulldown, is this an encoder or something like AviSynth? I will research this to get up to speed as well.
    Quote Quote  
  4. Leave the audio alone, and only convert it to your final format (AC3?). Don't mess with the duration. As you found out, that's a real can of worms. Encode your video and when done apply DGPulldown with the "Custom" box checked and 20->29.97fps filled in. The original length audio will still be in synch. And it's the video that gets the pulldown applied to it, not the audio.

    This assumes you know how to use your encoder. If you use some sort of template, it's liable to insert blended or duplicate frames and mess up what you're doing. The best way to do this is to frameserve using AviSynth.
    Quote Quote  
  5. I don't know BeSweet so I can't tell you how to change the duration. Audacity is free and has the ability. If you want to use that I can give you instructions. But speeding up your audio and video by 20 percet will be pretty noticable.

    To use DGPulldown you first encode you video at the original frame rate, 20 fps. Use whatever MPEG encoder you usually use and create a 720x480, 20 fps elementary stream. Open that in DGPulldown and use the setting manono referred to. DGPulldown will add instructions that tell your DVD player how to produce 59.94 fields per second from the 20 frames per second video. Essentially, it will add 3:3 pulldown rather than 3:2 pulldown. The running time will not be affected so you can use your original audio.
    Quote Quote  
  6. Member Alex_ander's Avatar
    Join Date
    Oct 2006
    Location
    Russian Federation
    Search Comp PM
    You may experience diffiiculties encoding to MPEG2 with the non-standard framerate 20fps. The solution is encoding to the nearest legal value (like 23.976). To force this in any encoder without duplicating or blending frames (important) you can assume that different framerate in AviSynth with 'AssumeFPS(23.976)' command. This will change video duration correspondingly (all available frames will get different time code) but you can turn duration value back in DGPulldown if you type 20fps for input framerate (instead of actual encoded value 23.976) and perform 20=>29.97 pulldown.
    Quote Quote  
  7. Member
    Join Date
    Dec 2004
    Location
    Triptonia
    Search Comp PM
    Originally Posted by Alex_ander
    You may experience diffiiculties encoding to MPEG2 with the non-standard framerate 20fps.
    it's more than a difficulty, it's an impossibility.

    you outlined the solution perfectly
    Quote Quote  
  8. Originally Posted by 45tripp
    Originally Posted by Alex_ander
    You may experience diffiiculties encoding to MPEG2 with the non-standard framerate 20fps.
    it's more than a difficulty, it's an impossibility.
    I didn't realize MPEG was so limited in frame rates. You're right, 20 fps isn't supported. From what I read, only the following rates can be flagged in the header:

    1 = 23.976
    2 = 24
    3 = 25
    4 = 29.97
    5 = 30
    6 = 50
    7 = 59.94
    8 = 60

    I found with CCE you could feed it a 20 fps source but you had to set one of the allowable MPEG frame rates. It simply flagged the MPEG file with the specified frame rate but included every frame (ie, no dropped frames, no duplicated frames). You could then use DGPulldown with the 20->29.97 option. This is essentially the same thing as Alex_ander suggested but without having to use AVISynth.

    TMPGEnc Plus would convert the frame rate to whatever valid rate specified by duplicating or deleting frames. So with this encoder you would want to use AVIFrate or AVISynth to assume a valid frame rate then use DGPulldown.

    HCEnc (at least through HCGui) just choked on a 20 fps source. So this would require the same procedure as TMPGEnc Plus.
    Quote Quote  
  9. Member
    Join Date
    Apr 2006
    Location
    United States
    Search Comp PM
    Good stuff fellas

    Okay, based on what I have read, here is what I am being advised to do and the questions that I have about it.

    1. Encode my video to MPEG-2 using it's original FPS, which is 20 fps.


    2. Open this MPEG-2 up in DGPulldown, choose "Custom" box and enter 20->29.97 fps.

    First question, which pertains to CCE and FitCD. My encoder of choice is CCE, followed by WinAvi, of which I always feed them AviSynth Scripts via FitCD. As you know, CCE spits out a MPV file for the video, pardon my ignorance, but is that the same as a MPEG-2 file?

    Also, do I need to add the fucntion "AssumeFPS(23.976)" in my FitCD AViSynth script if I choose 23.976 frame rate in CCE because CCE doesn't have an option to choose 20 frame rate and every encode I have ever done, the auto frame rate radio button is always disabled.


    Second question, I have other AVI files that have 24 fps and 25 fps. Now those, I used the method that I described in my first post and the audio seemed to be fine, maybe cause there isnt a big difference between 25->23.976 and 24->23.976. I am assuming that it may be a good idea to just use the method you all are discussing to convert those?

    I appreciate your patience and forgive me for asking so many questions. I am going to try to convert one of them using the methods discussed and then monitor this thread to check for answers to my question.

    - Mike G.
    Quote Quote  
  10. Member
    Join Date
    Apr 2006
    Location
    United States
    Search Comp PM
    One other question I forgot to ask.

    CCE will separate the Audio and Video (MPA and MPV)

    I assume I will only open the MPV file in DGPulldown, meaning only the Video gets changed in DGPulldown. Or do I need to combine the MPA and MPV into a separate file and then that file is opened in DGPulldown?

    Also, since 23.976 will be checked in CCE, I normally apply the pulldown checkbox but I am going uncheck that because DGPulldown does that?

    Thanks
    Quote Quote  
  11. Originally Posted by mickgreen58
    CCE spits out a MPV file for the video, pardon my ignorance, but is that the same as a MPEG-2 file?
    Yes, it's an MPEG 2 elementary stream (video only). That is exactly what DGPulldown wants.

    Originally Posted by mickgreen58
    Also, do I need to add the fucntion "AssumeFPS(23.976)" in my FitCD AViSynth script if I choose 23.976 frame rate in CCE because CCE doesn't have an option to choose 20 frame rate and every encode I have ever done, the auto frame rate radio button is always disabled.
    You can do it either way, AssumeFPS() in AVISynth or set the frame rate in CCE. The result will be the same. Note that if you play the MPV file generated by CCE it will play 20 percent fast (ie 23.976 fps rather than 20). After running DGPulldown it will go back to playing at the right speed.

    Originally Posted by mickgreen58
    Second question, I have other AVI files that have 24 fps and 25 fps. Now those, I used the method that I described in my first post and the audio seemed to be fine, maybe cause there isnt a big difference between 25->23.976 and 24->23.976. I am assuming that it may be a good idea to just use the method you all are discussing to convert those?
    Yes, you can use the DGPulldown method for those frame rates. I do 25 -> 29.97 all the time (PAL to NTSC).
    Quote Quote  
  12. Member
    Join Date
    Apr 2006
    Location
    United States
    Search Comp PM
    If I have done everything correctly, and I play the MPV Pulldown and the MPA file in TMPGenc DVD Author, should the audio and video be in-sync or will they only be in-sync only when it is on a DVD?
    Quote Quote  
  13. Member
    Join Date
    Jan 2007
    Location
    United States
    Search Comp PM
    should be in sync when you play them
    Quote Quote  
  14. I don't use TMPGEnc DVD Author but I wouldn't be surprised if it does't handle unusual pulldown patterns correctly.
    Quote Quote  
  15. Member
    Join Date
    Apr 2006
    Location
    United States
    Search Comp PM
    Bravo fellas

    The reason why I asked if the audio/video would be in-sync was because when I played it over Remote Desktop (I was at work when I was doing all of this and testing), it seemed like the audio/video was out of sync, but I had a suspicion that it may have just been lag.

    So I just got home and the audio/video are in-sync and now I am re-testing to see if I can use other avisynth options such as putting an overscan border on and things like that, which I would think would work.

    Thanks for the help
    Quote Quote  
  16. Member
    Join Date
    Apr 2006
    Location
    United States
    Search Comp PM
    I wanted to follow up some more on this subject since I have recently founds some problems.

    Some of the video files that I used the aforementioned methods on do not play all the way through on the DVD Player.

    The videos seem to stop well short of its entirety. It should be noted that some, but not all of the files sometimes cause the error "The GOP is too long" when adding the DGPulldowned MPEG-2 file in TmpGenc. I also tried said files in DVDLab Pro, but I get the same result.

    Also something to take not of, it seems if I play the DVD using Zoom or any desktop application that will play DVD Files, it will play all the way to its entirety, so it seems that only the stand alone DVD Players are having issues.

    - Mike G.
    Quote Quote  
  17. Member Alex_ander's Avatar
    Join Date
    Oct 2006
    Location
    Russian Federation
    Search Comp PM
    Originally Posted by mickgreen58
    "The GOP is too long" when adding the DGPulldowned MPEG-2 file in TmpGenc. I also tried said files in DVDLab Pro, but I get the same result.
    GOP size before pulldown should be 12 or (in your 20fps case) even less. You'll find a detailed explanation in readme included in DGPulldown package. So in CCE you should have used a PAL template for editing (default GOP size 12) rather than NTSC (15) or set it in 'Advanced' pop-up window (set N/M=3 with M=3 for GOP length 9).
    Quote Quote  
  18. Some of the video files that I used the aforementioned methods on do not play all the way through on the DVD Player.
    How are you getting the video into the encoder? You don't just drop the AVI into CCE. If using AviSynth, what's your script? If using AviSynth, test the script out first in VDub(Mod) and make sure the whole thing is there. If using CCE, turn off the "For DVD" at the top of the main screen. I've done this many dozens of times and never had the problem of which you speak. I'd suggest doing at least a test mux using Muxman which has no problems with unusual pulldown patterns. I don't use the 2 authoring programs you mentioned, and don't know if they do have problems. I'm sure others here would know.
    "The GOP is too long"
    Alex_ander answered that one well. Most encoders use a 15 frame GOP as the default for NTSC. That's too much for this project. I would set it for 12. And if using CCE, I would set M for 3 and N/M for 4.
    Quote Quote  
  19. Member
    Join Date
    Apr 2006
    Location
    United States
    Search Comp PM
    Thanks for responding fellas

    For the 20 FPS video clip, below is my avisynth script via FitCD and my encoder is CCE:

    <SCRIPT>
    # -= AviSynth v2.5.8.0 script by FitCD v1.2.8 =-
    AVISource("C:\myclip.avi")
    LanczosResize(656,336,0,0,512,384)
    AddBorders(32,72,32,72)
    #Trim(0,29415).FadeOut(150)
    ConvertToRGB24() # For TMPGEnc or VFAPI
    </SCRIPT>

    Also, the "For DVD" option is never chosen, so I have that covered.

    Also, I put the above avisynth script into VirtualDubMod and everything was there.

    Alos, remember, if I play the VOB file on my desktop, the entire clip plays, it is only when it is being played on a stand alone DVD player that it stops short.

    Questions:

    When I encoded the 20 FPS video using CCE, I checked the 23.976 FPS option, so if
    I am understanding correctly, am I to change it to 25 FPS?

    I have never changed the values for the GOP, so this is all new to me.
    The default for N/M = 5 and M = 3. I do not see a "GOP Length" option, is
    this the "SEQ Header every" option as "GOP Header every" option is
    disabled?

    Last, my next question is two-fold. You have given me the values to input
    for a 20 FPS video clip, which were "set N/M=3 with M=3 for GOP length 9"
    and to also choose the "25 FPS" option. Now, would I use these same
    values for (N/M and M) and choose the 25 FPS value with a 24 FPS and a 25 FPS
    video clip, or would those require different options?

    Thanks for your assistance and patience
    Quote Quote  
  20. MPEG video consists if full image I frames, forward predicted P frames and backward predicted B frames. Typically in an order like:

    IBBPBBPBBPBBPBB IBBPBBPBBPBBPBB IBBPBBPBBPBBPBB...

    In CCE M is the length of the BP groups. N/M is the number of BP groups . The GOP length is the sum of the I, B, and P frames up to the next I frame. You can see the IBP sequence just above the M and N/M settings in the CCE dialog.
    Quote Quote  
  21. So you are using CCE? Then why the last line in the script for TMPGEnc? I'd write it like this:

    AVISource("C:\myclip.avi")
    LanczosResize(656,336)
    AddBorders(32,72,32,72)
    ConvertToYUY2()

    And you realize that you're adding a heck of a lot of unnecessary black all around the outside of the video, don't you? Maybe it's anime and you want to make sure the subs are on screen? Anyway, as long as you know. The rest of the resize line that I cut out was the crop portion. And since no cropping is being done, it's not needed. And adjust the AVISource path for your computer and video.

    Yes, you can encode for 23.976fps.
    Quote Quote  
  22. Member
    Join Date
    Apr 2006
    Location
    United States
    Search Comp PM
    Thanks for the reply.

    I am doing a test run now on 2 videos, one has 20 FPS and the other has 24 FPS.

    In CCE, I chose the "23.976" option and changed the N/M and M values to both 3.

    Manono, I place borders of that size to get the "Wide Screen" look. Even though that may not be the best way to do it.

    Hopefully, I understand everything and get the desired results. I will monitor this thread just in case I am not understanding something.
    Quote Quote  
  23. Member
    Join Date
    Apr 2006
    Location
    United States
    Search Comp PM
    Evenin fellas

    Well, the 24 FPS file was fine, it played all the way through.

    I am still having trouble with the 20 FPS file.

    Details

    When I set the N/M=3 M=3, and encoded in CCE at 23.976 FPS, the file stopped at the same place as before.

    I then, kept N/M=3 M=3, but encoded in CCE at 25 FPS, and the file seem to play a little longer, but stopped short.

    I am going to try encoding at 29.97 and see what happens.

    Suffice it to say, any help would be appreciated.
    Quote Quote  
  24. I know some DVD players have problems with pulldown from "odd" frame rates. 20 to 29.97 fps pulldown isn't illegal but it's unusual enough that players with fragile firmware might choke. You could perform a hard pulldown with AVISynth and encode as 29.97 fps interlaced instead. Not as clean a solution but it will work on all players.
    Quote Quote  
  25. Member Alex_ander's Avatar
    Join Date
    Oct 2006
    Location
    Russian Federation
    Search Comp PM
    In case it is a fatal player problem you can try one more thing: interpolate missing frames to get 23.976 or 29.97 and encode the standard way. This needs MVTools plugin:

    http://avisynth.org.ru/mvtools/mvtools-v1.8.4.zip

    Unpack it and add its full path to the script (23.976 here):

    LoadPlugin("path\mvtools.dll")
    source=AVISource("C:\myclip.avi")
    backward_vec = source.MVAnalyse(isb = true, truemotion=true, pel=2, idx=1)
    forward_vec = source.MVAnalyse(isb = false, truemotion=true, pel=2, idx=1)
    source.MVFlowFps(backward_vec, forward_vec, num=24000, den=1001, ml=100, idx=1)
    LanczosResize(656,336)
    AddBorders(32,72,32,72)
    ConvertToYUY2()

    Some types of video can give artifacts with that tool, test it in VDub first. If it's OK you can even try to do it for 29.97 (change 24000 to 30000 in the script).
    Quote Quote  
  26. AVS script for hard pulldown:

    AVISource("video.avi")
    ChangeFPS(59.94)
    SeparateFields()
    SelectEvery(4, 0, 3)
    Weave()
    Quote Quote  
  27. Do you have any other players on which to test? At a friend's house, maybe? I've encoded silent films at 19.98fps with DGPulldown afterwards several times and never had the problem. You must have some kind of a funky player that doesn't play compliant DVDs.
    Quote Quote  
  28. Funny how MPEG2 is so limited when MPEG1 supported 15 FPS.
    Quote Quote  
  29. Member
    Join Date
    Apr 2006
    Location
    United States
    Search Comp PM
    Thanks for the reply.

    I have 3 DVD players and on all three, the video stops short in various places.

    I tried Jagabo's method first because it seems to be the easiest and I will try alexander's next, once I get some questions answered. Here is my AVS script:

    <SCRIPT>
    # -= AviSynth v2.5.8.0 script by FitCD v1.2.8 =-
    AVISource("C:\myavi.avi")
    ChangeFPS(59.94)
    SeparateFields()
    SelectEvery(4, 0, 3)
    Weave()
    LanczosResize(656,336,0,0,512,384)
    AddBorders(32,72,32,72)
    ConvertToRGB24() # For TMPGEnc or VFAPI
    </SCRIPT>

    In CCE, I chose 23.976, because you have to choose a FPS and I figured the AVS script would just overrule it. Now, when I looked at the FPS on GSpot, it said it was 23.976, shouldn't it be 59.94 FPS?

    Well, going back to bed now, kind of sad that I am up at 5:30 AM on Saturday doing this .
    Quote Quote  
  30. In CCE, I chose 23.976, because you have to choose a FPS and I figured the AVS script would just overrule it. Now, when I looked at the FPS on GSpot, it said it was 23.976, shouldn't it be 59.94 FPS?
    No, the script doesn't overrule it. If you're making it for 29.97fps, you set it up in CCE for 29.97fps. And no, that script doesn't produce 59.94fps. At one point, yes, it's 59.94fps. But then the fields are separated, half tossed out, and the remaining ones woven together to halve the previous framerate.
    I have 3 DVD players and on all three, the video stops short in various places.
    Then it's probably not a player problem. I suspect you messed up something somewhere along the way, but haven't any idea what exactly, as I don't know your CCE settings. And you said that playing the DVD (not the VOBs, or the files, but the DVD), using a software DVD player played them just fine?
    Quote Quote  



Similar Threads

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