NReco FFPMegConverter:路径不是合法形式

时间:2017-10-27 22:56:33

标签: c# nreco fody-costura

我正在使用NReco FFMPegConverter,当我尝试获取缩略图时,我收到错误:

 System.ArgumentException: The path is not of a legal form.
   at System.IO.Path.LegacyNormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
   at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
   at System.IO.Path.GetFullPathInternal(String path)
   at System.IO.File.InternalGetLastWriteTimeUtc(String path, Boolean checkHost)
   at NReco.VideoConverter.FFMpegConverter.EnsureFFMpegLibs()
   at NReco.VideoConverter.FFMpegConverter.ExtractFFmpeg()

以下是我收到错误的代码行。

        var filep = domainVideoFile.AbsolutePath;
        _fFMpegConverter.GetVideoThumbnail(filep, tempfileName);

在上面的例子中,filep =" C:\ Users \ me_000 \ Downloads \ GRoma \ G.mp4" 和tempFileName =" C:\ Users \ me_000 \ Desktop \ f480b6c0.jpeg"在调试模式下直接从Locals视图复制时。

在SO上有另一个引用此问题的线程,所述解决方案是设置FFMPegToolPath属性。

 fFMpegConverter.FFMpegToolPath = _thumbPathManager.GetFFMPegPath;

我已经尝试了它和它的各种版本,我仍然得到错误。如果有帮助,我会使用1.1.2.0的版本。

无论我如何调用FFMpegToolPath,ExtractFFmpeg以及什么不是,都会弹出错误。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

这个问题非常阴险,但我弄清楚发生了什么。

我正在使用Fody.Costura合并我的DLL资源。这适用于所有其他DLLS,但NReco DLL并不善于合并。我想这是导致文件路径问题的原因,因为DLL并不作为独立文件存在。