VideoHelp Forum
+ Reply to Thread
Results 1 to 5 of 5
Thread
  1. Member
    Join Date: Sep 2008
    Location: Hungary
    Search Comp PM
    Hi,

    I've been struggling at producing H264 videos with constant frame rates in TS containers.

    I use Avanti on Windows with some additional ffmpeg commands. I'm able to set every little parameter that is required: video pid, profile-level, PAR, bitrate, keyframe interval, b frames, buffer size, muxrate, audio bitrate..., however MediaInfo and iMediaHUD on Mac says that my output files have variable frame rates, which is not acceptable in my case. Even if I set the proper toggle to 25fps and add -r 25 to the command line, the output file is vfr, instead of constant/25.

    I have just tried iFFmpeg on Mac, and although I'm not able to set stream IDs, buffer size, muxrate - I can force fps with a toggle, but in spite of that MediaInfo says my output file has variable frame rate.

    Could someone please explain me how can I encode MPEG/MOV/MP4 files to TS (AVC/H264-AC3 CBR) with constant frame rate, in a way that my above mentioned parameters are also set?

    Thanks in advance.
    Quote Quote  
  2. Member
    Join Date: Sep 2007
    Location: Canada
    Search Comp PM
    mediainfo is misreporting; transport streams don't support variable frame rates
    Quote Quote  
  3. Member
    Join Date: Sep 2008
    Location: Hungary
    Search Comp PM
    Thanks, then I assume I have a valid file format...
    Is there an app that report correct frame rate mode information on media files? Also, why video FPS info is not shown in Mediainfo when I drop a TS file in it?
    Quote Quote  
  4. Member
    Join Date: Sep 2007
    Location: Canada
    Search Comp PM
    It has to do with way mediainfo derives information. It doesn't actually parse the file, so it isn't always accurate

    If mediainfo is bothering you , you can use force-cfr with -x264opts in ffmpeg. Mediainfo shows FPS, and does not say "variable" when output to transport stream



    no opts
    Width : 1 920 pixels
    Height : 1 080 pixels
    Display aspect ratio : 16:9
    Frame rate mode : Variable
    -x264opts force-cfr
    Width : 1 920 pixels
    Height : 1 080 pixels
    Display aspect ratio : 16:9
    Frame rate : 25.000 fps

    Whether or not a file is "valid" or not depends on your definition and what the intended purpose is. For example, ffmpeg's MPEG-TS muxer produces incompatible files in some applications
    Last edited by poisondeathray; 14th Jul 2014 at 17:39.
    Quote Quote  
  5. Member
    Join Date: Sep 2008
    Location: Hungary
    Search Comp PM
    Thanks for the additional information.
    -x264opts force-cfr does the job, also to set the overall bitrate mode from variable to constant, I used -muxrate as well.

    Thanks again.
    Quote Quote