[Cin] Cannot render above 60FPS

Phyllis Smith phylsmith2017 at gmail.com
Mon Jun 14 19:55:02 CEST 2021


Andrew,
I am in the process of testing many variations now.  I hope to be able to
create an AppImage later today for user to test also.
Thanks, Phyllis

On Mon, Jun 14, 2021 at 11:41 AM Andrew Randrianasulu via Cin <
cin at lists.cinelerra-gg.org> wrote:

> See updated patch.
>
> I tried few more fps choices - some work, but say 72/144 fps still do not
> work with mpeg2 .. :/
>
>
>
> On Monday, June 14, 2021, Andrew Randrianasulu <randrianasulu at gmail.com>
> wrote:
>
>> Ah, no - 23.97 and 59.94 fps/mpeg2 were broken!
>>
>> But with attached patch the seems to work again, as well as 100 fps
>> mp4/x264 encoding (also tried mov)
>>
>> Can you test as much as possible various (long!) films / videos for
>> desync problem?
>>
>> I also can try and add few more fps choices in this menu...
>>
>> On Monday, June 14, 2021, Andrew Randrianasulu <randrianasulu at gmail.com>
>> wrote:
>>
>>>
>>>
>>> On Monday, June 14, 2021, gorge rankin via Cin <
>>> cin at lists.cinelerra-gg.org> wrote:
>>>
>>>> Hello,
>>>>
>>>> I cannot seem to figure out how to render video over 60FPS.
>>>>
>>>
>>>
>>> Yes,  i can confirm this bug.. Just set project/timeline to 100 fps and
>>> got this..
>>> After inspecting cinelerram/ffmpeg.C I tried few things, but working one
>>> was just replacing this check_framerate function with std. function from
>>> libavcodec:
>>>
>>>
>>> https://ffmpeg.org/doxygen/3.2/group__lavu__math__rational.html#ga7dfd5ba1eb1edf5845ac32b338de9e76
>>>
>>> AVRational FFMPEG::to_sample_aspect_ratio(Asset *asset)
>>> @@ -2917,7 +2919,8 @@ int FFMPEG::open_encoder(const char *type, const
>>> char *spec)
>>>                         int mask_h = (1<<desc->log2_chroma_h)-1;
>>>                         ctx->height = (vid->height+mask_h) & ~mask_h;
>>>                         ctx->sample_aspect_ratio =
>>> to_sample_aspect_ratio(asset);
>>> - AVRational frame_rate = check_frame_rate(codec->supported_framerates,
>>> vid->frame_rate);
>>> + //AVRational frame_rate =
>>> check_frame_rate(codec->supported_framerates, vid->frame_rate);
>>> + AVRational frame_rate = av_d2q(vid->frame_rate, 1000);
>>>                         if( !frame_rate.num || !frame_rate.den ) {
>>>                                 eprintf(_("check_frame_rate failed
>>> %s\n"), filename);
>>>                                 ret = 1;
>>> I tested 29.97 encoding and 100 and 1000 fps encoding - they come out
>>> correctly, according to ffprobe/mediainfo.
>>>
>>> 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)
>>>
>>>
>>> $ grep supported_framerates thirdparty/ffmpeg-4.4/libavcodec/*.c
>>> thirdparty/ffmpeg-4.4/libavcodec/mpeg12enc.c: .supported_framerates =
>>> ff_mpeg12_frame_rate_tab + 1,
>>> thirdparty/ffmpeg-4.4/libavcodec/mpeg12enc.c: .supported_framerates =
>>> ff_mpeg2_frame_rate_tab,
>>> $
>>>
>>> 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....
>>>
>>>
>>>
>>>
>>>> I can do 60 FPS and below with no issue.  Everything is rock solid
>>>> stable and very performant.
>>>>
>>>> I am using Cin gg latest on Ubuntu.
>>>>
>>>> My source video is 2560x1440 at 90FPS.
>>>>
>>>> What I've been doing:
>>>> - start new project
>>>> - 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.
>>>> - load my file through resources. right click on thumb of my video in
>>>> resources, and choose "match all".
>>>>
>>>> Then when I render my project with "File Format" of "FFMPEG" and "type"
>>>> of "mp4" I get these error message windows/errors:
>>>>
>>>> One error window with:
>>>> ------------
>>>> "Couldn't open /path/to/outfile.mp4"
>>>> ------------
>>>>
>>>> and another window titled "Cinelerra: Messages" with this in it:
>>>> --------------
>>>> int FFMPEG:open_encoder(const char*, const char*):
>>>>     check_frame_rate failed /path/to/outfile.mp4
>>>> ---------
>>>>
>>>>
>>>> Am I doing something wrong?
>>>>
>>>> Thank you in advance.
>>>>
>>>>
>>>>
>>>> --
> Cin mailing list
> Cin at lists.cinelerra-gg.org
> https://lists.cinelerra-gg.org/mailman/listinfo/cin
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20210614/52886632/attachment-0001.htm>


More information about the Cin mailing list