protyposis / Aurio

Audio Fingerprinting & Retrieval for .NET
GNU Affero General Public License v3.0
128 stars 28 forks source link

Code behavior under Linux #5

Closed KassemKallas closed 7 months ago

KassemKallas commented 6 years ago

Hi Everyone,

I am trying to run the Aurio code with Linux OS using mono (I have everything in windows and it is working), I got the following error: System.DllNotFoundException: ffmpeg64/Aurio.FFmpeg.Proxy64.dll at (wrapper managed-to-native) Aurio.FFmpeg.Interop64:stream_open_file (Aurio.FFmpeg.Type,string) at Aurio.FFmpeg.FFmpegReader..ctor (System.String filename, Aurio.FFmpeg.Type mode) [0x00018] in <8a7365b3bd564dcf974e891fc0363511>:0 at Aurio.Project.MediaTrack.DecodeAudio (System.String filename, System.Int32 nFrameMax) [0x00000] in <2bb3b6929f514206bd5adfd1ad919733>:0 at Aurio.Project.MediaTrack..ctor (System.String source, System.Int32 nFrameMax) [0x000d2] in <2bb3b6929f514206bd5adfd1ad919733>:0

I can put the dll wherever I want, including Aurio.Fmpeg.Interop64 .. but it never finds the dll even when I put the absolute path.

So, how can I run the code in Linux?

Using mono in Lunix, the object FFmpegReader used from DecodeAudio to open multimedia file is not working.

I am looking forward to hearing from your side.

Thank you, Best

protyposis commented 6 years ago

I have no experience with that myself but while the Aurio core should be quite easily portable to Mono/Linux, the I/O modules (file reading and playback) will not be.

Aurio.FFmpeg, which contains the FFmpegReader, is built upon Aurio.FFmpeg.Proxy32 and Aurio.FFmpeg.Proxy64 which are native libraries. Mono only compiles non-native .NET code (e.g. C#), no native code (e.g. C/C++). You would therefore have to compile the two proxies manually with GCC to get Linux native libraries.

You get the error because, as the stack trace says, the DLLs cannot be found. That might be because Mono does not compile them to Linux binaries, or because you're trying to use the files from Windows.

If anybody else has more insight into this topic, that would be greatly appreciated!

protyposis commented 7 months ago

Linux support has been added in the latest release.