See updated patch. <div><br></div><div>I tried few more fps choices - some work, but say 72/144 fps still do not work with mpeg2 .. :/<div><br></div><div><br><br>On Monday, June 14, 2021, Andrew Randrianasulu <<a href="mailto:randrianasulu@gmail.com">randrianasulu@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Ah, no - 23.97 and 59.94 fps/mpeg2 were broken! <div><br></div><div>But with attached patch the seems to work again, as well as 100 fps mp4/x264 encoding (also tried mov) </div><div><br></div><div>Can you test as much as possible various (long!) films / videos for desync problem? </div><div><br></div><div>I also can try and add few more fps choices in this menu... <br><br>On Monday, June 14, 2021, Andrew Randrianasulu <<a href="mailto:randrianasulu@gmail.com" target="_blank">randrianasulu@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br><br>On Monday, June 14, 2021, gorge rankin via Cin <<a href="mailto:cin@lists.cinelerra-gg.org" target="_blank">cin@lists.cinelerra-gg.org</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hello,<div><br></div><div>I cannot seem to figure out how to render video over 60FPS.</div></div></blockquote><div><br></div><div><br></div><div>Yes, i can confirm this bug.. Just set project/timeline to 100 fps and got this.. </div><div>After inspecting cinelerram/ffmpeg.C I tried few things, but working one was just replacing this check_framerate function with std. function from libavcodec:</div><div><br></div><div><a href="https://ffmpeg.org/doxygen/3.2/group__lavu__math__rational.html#ga7dfd5ba1eb1edf5845ac32b338de9e76" target="_blank">https://ffmpeg.org/doxygen/3.2<wbr>/group__lavu__math__rational.h<wbr>tml#ga7dfd5ba1eb1edf5845ac32b3<wbr>38de9e76</a></div><div><br></div><div>AVRational FFMPEG::to_sample_aspect_ratio<wbr>(Asset *asset)</div><div>@@ -2917,7 +2919,8 @@ int FFMPEG::open_encoder(const char *type, const char *spec)</div><div> int mask_h = (1<<desc->log2_chroma_h)-1;</div><div> ctx->height = (vid->height+mask_h) & ~mask_h;</div><div> ctx->sample_aspect_ratio = to_sample_aspect_ratio(asset);</div><div>- AVRational frame_rate = check_frame_rate(codec->suppor<wbr>ted_framerates, vid->frame_rate);</div><div>+ //AVRational frame_rate = check_frame_rate(codec->suppor<wbr>ted_framerates, vid->frame_rate);</div><div>+ AVRational frame_rate = av_d2q(vid->frame_rate, 1000);</div><div> if( !frame_rate.num || !frame_rate.den ) {</div><div> eprintf(_("check_frame_rate failed %s\n"), filename);</div><div> ret = 1;</div><div>I tested 29.97 encoding and 100 and 1000 fps encoding - they come out correctly, according to ffprobe/mediainfo. </div><div><br></div><div>Not sure why such strange convolved method of checking framerate was choosen... Only mpeg1/2 in ffmpeg-4.4 set those .supported->framerates arrays.. (grep supported_framerates libavcodec/*.c)</div><div><br></div><div><br></div><div>$ grep supported_framerates thirdparty/ffmpeg-4.4/libavcod<wbr>ec/*.c thirdparty/ffmpeg-4.4/libavcod<wbr>ec/mpeg12enc.c: .supported_framerates = ff_mpeg12_frame_rate_tab + 1,</div><div>thirdparty/ffmpeg-4.4/libavcod<wbr>ec/mpeg12enc.c: .supported_framerates = ff_mpeg2_frame_rate_tab,</div><div>$</div><div><br></div><div>In theory this fix should also 'fix' high-fps proxies with mpeg2 (non-standart stream, but only ffmpeg supposed to read it..) Just checked ffmpeg/mpeg type and it works.... </div><div><br></div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>I can do 60 FPS and below with no issue. Everything is rock solid stable and very performant.</div><div><br></div><div>I am using Cin gg latest on Ubuntu.<br></div><div><br></div><div>My source video is 2560x1440 at 90FPS.</div><div><br></div><div>What I've been doing:</div><div>- start new project</div><div>- Settings -> Format, manually type 90.000 in "Frame Rate". Ensure that 2560 and 1440 are in Width and Height accordingly. Then I click apply, then click OK.</div><div>- load my file through resources. right click on thumb of my video in resources, and choose "match all".</div><div><br></div><div>Then when I render my project with "File Format" of "FFMPEG" and "type" of "mp4" I get these error message windows/errors:</div><div><br></div><div>One error window with:</div><div>------------</div><div>"Couldn't open /path/to/outfile.mp4"</div><div>------------</div><div><br></div><div>and another window titled "Cinelerra: Messages" with this in it:</div><div>--------------</div><div>int FFMPEG:open_encoder(const char*, const char*):</div><div> check_frame_rate failed /path/to/outfile.mp4</div><div>---------</div><div><br></div><div><br></div><div>Am I doing something wrong? </div><div><br></div><div>Thank you in advance.</div><div><br></div><div><br></div><div><br></div></div>
</blockquote>
</blockquote></div>
</blockquote></div></div>