VideoHelp Forum




+ Reply to Thread
Results 1 to 14 of 14
  1. Member
    Join Date
    Apr 2006
    Location
    United States
    Search Comp PM
    I have an MP4 file that is 60 FPS.

    Naturally, I encoded it using Avisynth and specifically the AssumeFPS(60) function.

    When I attempt to put a pulldown on the file (60->29.97) I get the following error: "target/current rate must not be less than 1.0".

    Any ideas?
    Quote Quote  
  2. Always Watching guns1inger's Avatar
    Join Date
    Apr 2004
    Location
    Miskatonic U
    Search Comp PM
    You can't use pulldown to reduce the number of frames. Pulldown is only valid for creating new frames on-the-fly. You will have to reduce the number of frames to get a framerate of 29.970 or less before you encode to mpeg-2.
    Read my blog here.
    Quote Quote  
  3. Member
    Join Date
    Apr 2006
    Location
    United States
    Search Comp PM
    Originally Posted by guns1inger
    You can't use pulldown to reduce the number of frames. Pulldown is only valid for creating new frames on-the-fly. You will have to reduce the number of frames to get a framerate of 29.970 or less before you encode to mpeg-2.
    So how would I do that?
    Quote Quote  
  4. Always Watching guns1inger's Avatar
    Join Date
    Apr 2004
    Location
    Miskatonic U
    Search Comp PM
    To be honest, not something I have had to woprry about. There are various decimate filters etc for tools like avisynth and virtualdub, but it has to be done carefully or you will get all sorts of nasty artifacts.

    Someone like Manono is probably better placed to give you detailed (and correct) advice on this. I know the theory, just never had to put it into practice.

    I suspect if you do some searching or browsing through the HD/DV forum you will find posts that discuss it more fully.
    Read my blog here.
    Quote Quote  
  5. It's really 60fps and not 59.94fps?

    You can either drop the in-between frames to make it progressive 29.97fps, or interlace it, also at 29.97fps. In neither case will pulldown be needed. For the former either:

    SelectEven() #if really 59.94fps originally, or

    ChangeFPS(29.97)

    For the latter:

    ChangeFPS(59.94) #if really 60fps originally
    AssumeTFF()
    SeparateFields()
    SelectEvery(4,0,3)
    Weave()

    Interlacing it should make for smoother playback and make the one extra dropped frame in 1001 (if it was 60fps) less noticeable.
    Quote Quote  
  6. Member
    Join Date
    Apr 2006
    Location
    United States
    Search Comp PM
    Manono, I encoded the 60 fps script using Quenc and the audio and video are out of sync. Any ideas? Let me know. I will try the 59.94 script because as you can see below, Mediainfo is saying it is 59.94 but Mplayer says 60 fps and based on my knowledge Mplayer has always seemed to be more accurate than Mediainfo.

    Code:
    ChangeFPS(59.94) #if really 60fps originally 
    AssumeTFF() 
    SeparateFields() 
    SelectEvery(4,0,3) 
    Weave()
    Code:
    General #0
    Complete name                : Cowboys at Browns.mp4
    Format                       : MPEG-4
    Format/Info                  : ISO 14496-1 version 2
    Format/Family                : MPEG-4
    File size                    : 1.41 GiB
    PlayTime                     : 1h 59mn
    Bit rate                     : 1689 Kbps
    StreamSize/String            : 7.98 MiB
    Encoded date                 : UTC 2008-09-08 03:13:26
    Tagged date                  : UTC 2008-09-08 08:17:57
    Encoded_application          : HandBrake 0.9.2 2008022300
    
    Video #0
    Codec                        : AVC
    Codec/Family                 : AVC
    Codec/Info                   : Advanced Video Codec
    Codec profile                : Main@L5.1
    Codec settings, CABAC        : Yes
    Codec_Settings_RefFrames     : 5
    PlayTime                     : 1h 59mn
    Bit rate mode                : VBR
    Bit rate                     : 1600 Kbps
    Width                        : 768 pixels
    Height                       : 432 pixels
    Display Aspect ratio         : 16/9
    Frame rate mode              : VFR
    Frame rate                   : 59.940 fps
    Minimum frame rate           : 59.850 fps
    Maximum frame rate           : 60.000 fps
    Chroma                       : 4:2:0
    Interlacement                : Progressive
    Bits/(Pixel*Frame)           : 0.080
    StreamSize/String            : 1.33 GiB
    Encoded date                 : UTC 2008-09-08 03:13:26
    Tagged date                  : UTC 2008-09-08 08:17:57
    
    Audio #0
    Codec                        : AAC LC
    Codec/Family                 : AAC
    Codec/Info                   : AAC Low Complexity
    PlayTime                     : 1h 59mn
    Bit rate mode                : VBR
    Bit rate                     : 80.0 Kbps
    Maximum bit rate             : 114 Kbps
    Channel(s)                   : 2 channels
    Channel positions            : L R
    Sampling rate                : 48.0 KHz
    Resolution                   : 16 bits
    StreamSize/String            : 68.2 MiB
    Encoded date                 : UTC 2008-09-08 03:13:26
    Tagged date                  : UTC 2008-09-08 08:17:57
    Quote Quote  
  7. And if it's a movie you want to decimate back to 23.976 fps film frames and encode with pulldown flags.
    Quote Quote  
  8. Originally Posted by Maikeru-sama
    Manono, I encoded the 60 fps script using Quenc and the audio and video are out of sync. Any ideas?
    No, since nothing I gave you changed the length of the video. I don't know what you did in the encoder.
    Quote Quote  
  9. Member
    Join Date
    Apr 2006
    Location
    United States
    Search Comp PM
    I had audio/video sync problems after encoding the video and assuming that it is 59.94. Below is the code that I used to encode the MP4 file. I have attached the settings I have used for Quenc. Should I be calling a Avisynth function to force audio synchronization? I may try with HCenc, but I don't know what to do for the audio.

    Code:
    DirectShowSource("D:\Cowboys at Browns.mp4")
    LanczosResize(720,480,88,0,592,432)
    SelectEven()
    ChangeFPS(29.97)
    Quote Quote  
  10. Member
    Join Date
    Dec 2004
    Location
    Triptonia
    Search Comp PM
    DirectShowSource("D:\Cowboys at Browns.mp4",convertfps=true,fps=29.97)
    "I'll give you five dollars if you let me throw a rock at you"
    Quote Quote  
  11. Member Alex_ander's Avatar
    Join Date
    Oct 2006
    Location
    Russian Federation
    Search Comp PM
    There is a more reliable (than DirectShowSource) way of importing your video into AviSynth. Since the video stream here is AVC (h264), you can demux it with YAMB to raw .h264 file and use DGAVCIndex to create .dga frame index file. Using this file via AVCSource() prevents any unexpected frame dropping or even forced deinterlacing (by a Direct Show filter on your system) while importing. Then you can explore the video type and in case there are no repeated frames, do interlacing as suggested; if film, then decimate. Audio (raw .aac from YAMB) should be processed separately in this case, e.g. decompressed to .wav with GraphEdit or some converter/ audio editor.
    Quote Quote  
  12. Member
    Join Date
    Apr 2006
    Location
    United States
    Search Comp PM
    Originally Posted by 45tripp
    DirectShowSource("D:\Cowboys at Browns.mp4",convertfps=true,fps=29.97)
    Thanks 45Tripp, this worked like a charm.
    Quote Quote  
  13. Member
    Join Date
    Apr 2006
    Location
    United States
    Search Comp PM
    Originally Posted by Alex_ander
    There is a more reliable (than DirectShowSource) way of importing your video into AviSynth. Since the video stream here is AVC (h264), you can demux it with YAMB to raw .h264 file and use DGAVCIndex to create .dga frame index file. Using this file via AVCSource() prevents any unexpected frame dropping or even forced deinterlacing (by a Direct Show filter on your system) while importing. Then you can explore the video type and in case there are no repeated frames, do interlacing as suggested; if film, then decimate. Audio (raw .aac from YAMB) should be processed separately in this case, e.g. decompressed to .wav with GraphEdit or some converter/ audio editor.
    Does YAMB have a CLI?
    Quote Quote  
  14. Originally Posted by Maikeru-sama
    Does YAMB have a CLI?
    Yamb is a GUI for MP4Box.exe.
    Quote Quote  



Similar Threads

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