What I know about muxers is: MP4,MOV - yes MPG - yes AVI - No, but there are hacks to use a very short "frame duration" (very high framerate) plus repeat frames to simulate VFR in the wild FLV - ? DV - No MKV - Yes OGG - Codec specific. In the ogg spec "granule positions" (timestamps) are defined by the corresponding codec spec. But in general, No. RM - ? SWF - ? WEBM - Yes
Encoders care about the framerate for the purposes of rate control. I.e. to reach a specified bitrate or quality metric, they need to factor in the framerate. Some encoders do not have a rate control model that can accommodate variable framerate (e.g. theora). So if you try to feed such an encoder variable framerate video, you will not get the expected bitrate or quality output. h.264 does support variable frame rate and the encoder needs to be told what the minimum allowed frame duration will be. This information is recorded in the h.264 elementary stream along with a flag indicating that the stream is variable framerate. The 1/fps trick you mention is essentially the AVI hack I pointed out above although something larger than 1/fps (with frame dropping where necessary) is probably a better choice. Note that the OGG format also has a very efficient (1 byte) repeat frame that can be used in such cases. Not all formats have an efficient way to represent repeat frames, and this trick will work poorly on such formats. On 01/22/2017 10:00 PM, YIRAN LI wrote: > Hi guys, > > Could anyone help to sort out among following formats, which ones support > variable frame rate so that video frames in > the file can have variable duration? > > * MP4, MOV > * MPG > * AVI > * FLV > * DV > * MKV > * OGG > * RM > * SWF > * WEBM > > > Is variable frame rate only a muxer thing so that I don't need to worry about > encoder can't encode incoming frames at > different intervals? If a muxer can't handle frames with variable duration > then I must set a fps, and frame duration > must be 1/fps? > > Thanks for help > > > > > _______________________________________________ > Libav-user mailing list > [email protected] > http://ffmpeg.org/mailman/listinfo/libav-user -- John GnuPG fingerprint: D0EC B3DB C372 D1F1 0B01 83F0 49F1 D7B2 60D4 D0F7
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Libav-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/libav-user
