possible bug when using Change FPS for videos with more that 200 fps

Started by cristidr, May 08, 2018, 07:10:26 PM

Previous topic - Next topic

cristidr

Hello,

Using avidemux 2.7.0  on windows or ubuntu.

I created slow-mo videos with a samsung galaxy s8 phone at 267.094 fps( fps might differ).

When using the avidemux app to change the fps to 30 or any fps below the original one to create the slow mo effect, I can't select the correct source fps   in Filters->Change FPS -> Source FPS , it is impossible to enter a value above 200. Even if I let the value to be 200, and I Save as .. I get the error " Too Short, The Video has been saved but seems to be incomplete"( after no render time). When looking at the video is clear that no frame data is written.


Is this a known limitation ? as I did not see this problem discussed when looking in google. However anyone that will use this functionality should get this error.

Thank you.


eumagga0x2a

Yes, currently the plugin is restricted to 200 FPS max:

https://github.com/mean00/avidemux2/blob/master/avidemux_plugins/ADM_videoFilters6/changeFps/changeFps.cpp#L220
https://github.com/mean00/avidemux2/blob/master/avidemux_plugins/ADM_videoFilters6/changeFps/changeFps.cpp#L225

AFAIR Avidemux itself has 2000 FPS as the upper limit.

On Ubuntu, it is trivial to build Avidemux from source. Apply the following patch

diff --git a/avidemux_plugins/ADM_videoFilters6/changeFps/changeFps.cpp b/avidemux_plugins/ADM_videoFilters6/changeFps/changeFps.cpp
index f454cfdd..285c613b 100644
--- a/avidemux_plugins/ADM_videoFilters6/changeFps/changeFps.cpp
+++ b/avidemux_plugins/ADM_videoFilters6/changeFps/changeFps.cpp
@@ -217,12 +217,12 @@ ADM_assert(nbPredefined == 6);
     

     diaElemMenu mFps(&(configuration.oldMode),   QT_TRANSLATE_NOOP("changeFps","Source Fps:"), 6,tFps);
-    diaElemFloat fps(&oldFrac,QT_TRANSLATE_NOOP("changeFps","Source frame rate:"),1,200.);
+    diaElemFloat fps(&oldFrac,QT_TRANSLATE_NOOP("changeFps","Source frame rate:"),1,400.);

     mFps.link(tFps+0,1,&fps); // only activate entry in custom mode

     diaElemMenu targetmFps(&(configuration.newMode),   QT_TRANSLATE_NOOP("changeFps","Destination Fps:"), 6,tFps);
-    diaElemFloat targetfps(&newFrac,QT_TRANSLATE_NOOP("changeFps","Destination frame rate:"),1,200.);
+    diaElemFloat targetfps(&newFrac,QT_TRANSLATE_NOOP("changeFps","Destination frame rate:"),1,400.);

     targetmFps.link(tFps+0,1,&targetfps); // only activate entry in custom mode



to double the max FPS allowed by the plugin.