FFMPEG Libraries with Windows 8.1 on a Pentium Tablet

RVMedia support and discussion (components for displaying and controlling IP cameras, webcams, video conferencing, video chats, recording audio and video files)
Post Reply
darvin
Posts: 23
Joined: Mon Jan 02, 2023 8:41 pm

FFMPEG Libraries with Windows 8.1 on a Pentium Tablet

Post 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!
Sergey Tkachenko
Site Admin
Posts: 17520
Joined: Sat Aug 27, 2005 10:28 am
Contact:

Re: FFMPEG Libraries with Windows 8.1 on a Pentium Tablet

Post by Sergey Tkachenko »

Can you debug your application on this computer?
If yes, please check where libFFMPEG_dynamic_dll_init (from MRVFFmpeg.pas) exits.
darvin
Posts: 23
Joined: Mon Jan 02, 2023 8:41 pm

Re: FFMPEG Libraries with Windows 8.1 on a Pentium Tablet

Post 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
Sergey Tkachenko
Site Admin
Posts: 17520
Joined: Sat Aug 27, 2005 10:28 am
Contact:

Re: FFMPEG Libraries with Windows 8.1 on a Pentium Tablet

Post by Sergey Tkachenko »

Most probably the bitnesses of the application and of the library (32bit and 64bit) are different,
darvin
Posts: 23
Joined: Mon Jan 02, 2023 8:41 pm

Re: FFMPEG Libraries with Windows 8.1 on a Pentium Tablet

Post 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!
Post Reply