微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法加载文件或程序集“ Accord.Video.FFMPEG.x64.DLL”或其依赖项之一指定的模块无法找到

如何解决无法加载文件或程序集“ Accord.Video.FFMPEG.x64.DLL”或其依赖项之一指定的模块无法找到

尝试合并图像和音频文件以创建视频文件

我尝试过

  • 更换拱门(x86和x64)。
  • 手动将“ Accord.Video.FFMPEG.x64.DLL”的所有相关.dll移到垃圾箱中。
  • 同时使用Accord和Aforge,它们都有相同的问题。
  • 安装了VC ++可重新分发的2013和2015-19

以下是基本代码

private const string _basePath = @"D:\R&D Projects\AudioVideoConvertor\VideoAudioMerger\VideoAudioMerger\Images\";

    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:\R&D Projects\AudioVideoConvertor\VideoAudioMerger\VideoAudioMerger\ffmpeg-win64-static\bin\ffmpeg.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,StackCrawlMark& stackMark,IntPtr pPrivHostBinder,Boolean throwOnFileNotFound,Boolean forIntrospection,Boolean suppressSecurityChecks) +0
 System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef,RuntimeAssembly reqAssembly,Boolean suppressSecurityChecks) +232
 System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString,Boolean forIntrospection) +113
 System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString,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,Boolean& 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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。