AydinAdn / MediaToolkit

A .NET library to convert and process all your video & audio files.
MIT License
647 stars 199 forks source link

Does this support Linux? #102

Open Primtek-Dev opened 5 years ago

Primtek-Dev commented 5 years ago

Hi,

Does this support linux?, I try to run it on AWS EC2, (Centos 7), but I got the following:

I am pretty sure the directory already had 777 and root access

=========== 2019-09-14 09:20:23.712 +07:00 [ERR] FFMpeg.GetVideoThumbnailAsync: System.ComponentModel.Win32Exception (13): Permission denied at Interop.Sys.ForkAndExecProcess(String filename, String[] argv, String[] envp, String cwd, Boolean redirectStdin, Boolean redirectStdout, Boolean redirectStderr, Boolean setUser, UInt32 userId, UInt32 groupId, Int32& lpChildPid, Int32& stdinFd, Int32& stdoutFd, Int32& stderrFd, Boolean shouldThrow) at System.Diagnostics.Process.StartCore(ProcessStartInfo startInfo) at System.Diagnostics.Process.Start() at System.Diagnostics.Process.Start(ProcessStartInfo startInfo) at MediaToolkit.Engine.StartFFmpegProcess(EngineParameters engineParameters) at MediaToolkit.Engine.FFmpegEngine(EngineParameters engineParameters) at PrimeBiometry.Models.FFMpeg.GetVideoThumbnailAsync() in ~ ~ ~ ~

kg6zgj commented 4 years ago

yeah I am seeing the same thing. I am using a bionic docker container.

Krutonium commented 4 years ago

Honest Advice: Use this fork for Linux - https://github.com/mtebenev/MediaToolkit.NetCore

brun0xon commented 3 years ago

You are able to specify custom path to ffmpeg (have to be installed, ofc). app.config file should be created in the project root, having content below:

<?xml version="1.0" encoding="utf-8"?>

<configuration>
    <appSettings>
        <add key="mediaToolkit.ffmpeg.path" value="/usr/bin/ffmpeg"/>
    </appSettings>
</configuration>
wangzhanbo commented 5 months ago

you need install ffmpeg on linux

yum install ffmpeg -y

C# code like this :

            var engine = new MediaToolkit.Engine();
            if (!isWindows)
            {
                engine = new MediaToolkit.Engine("/usr/bin/ffmpeg");
            }