[FFmpeg-user] Sending partial GOP / flushing buffers

Marco Grubert grubertm at hotmail.com
Wed Jun 13 09:22:29 EEST 2018


I am currently using ffmpeg to stream live video (fragmented MP4) on an OS X system using the following command line:

$ ffmpeg -f avfoundation -framerate 30 -s 1280x720 -pixel_format yuyv422 -i default -an -c:v libx264 -profile:v main -level 3.2  -preset medium -tune zerolatency -b:v 2000k -flags +cgop+low_delay -movflags empty_moov+omit_tfhd_offset+frag_keyframe+default_base_moof+isml -x264opts keyint=250:no-scenecut -pix_fmt yuv420p -r 30  -f mp4 -

The above emits MOOF/MDAT atoms every 250 frames with a nice bitrate. The atoms are sent to stdout only upon completion, i.e. the whole 250 GOP is written at once. Is there any way to force buffers to be flushed more frequently without increasing the number of i-frames? I would like to start processing the data as soon as possible rather than having to wait for all 250 frames to be processed.

- Marco

More information about the ffmpeg-user mailing list