Не удалось загрузить файл или сборку ‘Accord.Video.FFMPEG.x64.DLL — или одна из его зависимостей. Не удалось найти указанный модуль

#c# #ffmpeg #webforms #accord.net

#c# #ffmpeg #веб-формы #accord.net

Вопрос:

Попытка объединить изображение и аудиофайл для создания видеофайла.

Я пытался

  • изменение arch (x86 и x64).
  • Вручную переместил все зависимые .библиотеки DLL для «Accord.Video.FFMPEG.x64.DLL » в мусорное ведро.
  • использовались как Accord, так и Aforge, у обоих из них одна и та же проблема.
  • установлен VC , распространяемый 2013 и 2015-19

Ниже приведен базовый код:

 private const string _basePath = @"D:Ramp;D ProjectsAudioVideoConvertorVideoAudioMergerVideoAudioMergerImages";

    protected void Page_Load(object sender, EventArgs e)
    {
        int width = 2500;
        int height = 2100;
        int frameRate = 10;// Shuld be fix
        using (var videoWriter = new VideoFileWriter())
        {
            // default frame size 340, 220
            videoWriter.Open(_basePath   "test.avi", width, height, frameRate, VideoCodec.WMV1);
            ResizeNearestNeighbor filter = new ResizeNearestNeighbor(width, height);
            var images = Directory.GetFiles(_basePath, "*.jpg");
            var tfile = TagLib.File.Create(_basePath   "audio.mp3");
            //string title = tfile.Tag.Title;
            TimeSpan duration = tfile.Properties.Duration;
            decimal timeinSecond = Math.Round((Convert.ToDecimal(duration.TotalSeconds) * frameRate) / images.Length);
            foreach (string img in images)
            {

                using (Bitmap image = Bitmap.FromFile(img) as Bitmap)
                {
                    //As per audio length rotate image in video frame.
                    for (int i = 0; i < timeinSecond; i  )
                    {
                        videoWriter.WriteVideoFrame(filter.Apply(image));
                    }
                }
            }
            videoWriter.Close();
            MergeAudioAndVideo();
        }
    }

    private static void MergeAudioAndVideo()
    {

        File.Delete(_basePath   "mergedvideo.avi");
        Process pss = new Process();
        ProcessStartInfo si = new ProcessStartInfo();
        si.FileName = @"D:Ramp;D ProjectsAudioVideoConvertorVideoAudioMergerVideoAudioMergerffmpeg-win64-staticbinffmpeg.exe";
        si.UseShellExecute = false;
        si.CreateNoWindow = true;
        si.Arguments = "-i ""   _basePath   "test.avi" -i ""   _basePath   "audio.mp3" -c:v copy -c:a copy -map 0:v:0 -map 1:a:0 ""   _basePath   "mergevideo1"   ".avi"";
        pss.StartInfo = si;
        pss.Start();
        pss.WaitForExit();
        File.Delete(_basePath   "test.avi");
    }
  

Кроме того, указав ссылку на этот пример проекта, https://drive.google.com/file/d/1JAt8ZUCCsIwez0fkdvq_2FGeGXif5rwu/view?usp=sharing .

Пожалуйста, помогите выяснить, почему возникает эта проблема?

Проблема:

 Could not load file or assembly 'Accord.Video.FFMPEG.x64.DLL' or one of its dependencies. The specified module could not be found.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.IO.FileNotFoundException: Could not load file or assembly 'Accord.Video.FFMPEG.x64.DLL' or one of its dependencies. The specified module could not be found.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:


[FileNotFoundException: Could not load file or assembly 'Accord.Video.FFMPEG.x64.DLL' or one of its dependencies. The specified module could not be found.]
 System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMarkamp; stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)  0
 System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMarkamp; stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)  232
 System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMarkamp; stackMark, IntPtr pPrivHostBinder, Boolean forIntrospection)  113
 System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMarkamp; stackMark, Boolean forIntrospection)  23
 System.Reflection.Assembly.Load(String assemblyString)  35
 System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective)  49

[ConfigurationErrorsException: Could not load file or assembly 'Accord.Video.FFMPEG.x64.DLL' or one of its dependencies. The specified module could not be found.]
 System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective)  762
 System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory()  259
 System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai)  167
 System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig)  238
 System.Web.Compilation.BuildManager.GetPreStartInitMethodsFromReferencedAssemblies()  78
 System.Web.Compilation.BuildManager.CallPreStartInitMethods(String preStartInitListPath, Booleanamp; isRefAssemblyLoaded)  334
 System.Web.Compilation.BuildManager.ExecutePreAppStart()  178
 System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException)  746

[HttpException (0x80004005): Could not load file or assembly 'Accord.Video.FFMPEG.x64.DLL' or one of its dependencies. The specified module could not be found.]
 System.Web.HttpRuntime.FirstRequestInit(HttpContext context)  552
 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context)  122
 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context)  737