On Mon, Jul 27, 2015 at 15:19:01 +0100, Andy Furniss wrote: > The overhead is a bit high! but the framerate looks good.
:-) > Anyway players will play the vid but think it's 1000 fps ffmpeg -i below. I tried to reproduce, and noticed that indeed the y4m header (very easy to read, check here: http://wiki.multimedia.cx/index.php?title=YUV4MPEG2) says 1000 fps. If I run ffmpeg with "-r 60" as an output option, the framerate is recorded correctly in the y4m header, see this text diff of the two output files, which are otherwise identical: +YUV4MPEG2 W3840 H2160 F1000:1 Ip A1:1 C420jpeg XYSCSS=420JPEG -YUV4MPEG2 W3840 H2160 F60:1 Ip A1:1 C420jpeg XYSCSS=420JPEG So, that's your workaround. If I dare to stab at the root cause of the problem: It might be this code in libavformat/yuv4mpegenc.c, in yuv4_generate_header(): // TODO: should be avg_frame_rate av_reduce(&raten, &rated, st->time_base.den, st->time_base.num, (1UL << 31) - 1); It shows that the time base of the input stream "st" is being used, and not the frame rate. (av_reduce() creates numerator and denominator, to be able to create the quoted string "F1000:1".) And the time base of the input is indeed "1k", as seen in your logs. This may be a bug, and the "TODO" may have something to do (excuse the pun) with that. Moritz _______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user