Page 1 of 1

FFMPEG Libraries with Windows 8.1 on a Pentium Tablet

Posted: Wed Apr 19, 2023 10:11 am
by darvin
Hi,

I face some issue when trying to load the ffmpeg libraries - the code says that it is not supported.
First I used the libs from the old download link given here in a previous post:
  • avcodec-56.dll
  • avdevice-56.dll
  • avfilter-5.dll
  • avformat-56.dll
  • avutil-54.dll
  • swresample-1.dll
  • swscale-3.dll
The platform is set to Windows32 - the path was directly set in fmxMRVFfmpeg.LoadFFMpegLibraries(...)
But the result was negative (IsSupportedFFMPEG = False) nevertheless.

Then I tried to use the latest version 5 DLLs - same result.
The program declines the support of the FFMPEG libs.

Whats going wrong here? Any suggestions?
BTW: the same code on my developer PC is working fine.

Thanks a lot!

Re: FFMPEG Libraries with Windows 8.1 on a Pentium Tablet

Posted: Wed Apr 19, 2023 12:46 pm
by Sergey Tkachenko
Can you debug your application on this computer?
If yes, please check where libFFMPEG_dynamic_dll_init (from MRVFFmpeg.pas) exits.

Re: FFMPEG Libraries with Windows 8.1 on a Pentium Tablet

Posted: Fri Apr 21, 2023 1:03 pm
by darvin
Thanks for your input. I have analysed the libFFMPEG_dynamic_dll_init behaviour.
There is this subroutine GetFFMpegLib() for av_format
This calls FindFFMpegDll() and should return True when it finds avformat-59.dll

The algorithm in FindFFMpegDll() is quite clear. The routine loops down from MaxVersion to 0 and searches for a positive LoadLibrary() with the given name: <path>avformat-<i>.dll
So in c:\ffmpeg\bin\ it should find the avformat-59.dll (to be found in c:\ffmpeg\bin\avformat-59.dll)

BUT: it cannot load this library! The result is 0 (RVMNull) instead of the lib entry point..

So I tried to manually load the lib by using: Memo1.Lines.Add(IntToStr(LoadLibrary('c:\ffmpeg\bin\avformat-59.dll')))
The result is 0 in the TMemo.

Looks like that the problem is originally NOT inside the unit fmxMRVFfmpeg but in the combination with Windows 8.1

Any further suggestions on this issue?
Thanks

Re: FFMPEG Libraries with Windows 8.1 on a Pentium Tablet

Posted: Sat Apr 22, 2023 1:36 pm
by Sergey Tkachenko
Most probably the bitnesses of the application and of the library (32bit and 64bit) are different,

Re: FFMPEG Libraries with Windows 8.1 on a Pentium Tablet

Posted: Wed Apr 26, 2023 9:44 am
by darvin
Found the reason.
I loaded the libs manually and did not finish the path string with \

Using: ffmpeg\bin --> error
Using: ffmpeg\bin\ --> success

Thank you!