0

我正在使用 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",当在调试模式下直接从本地视图复制时.

还有另一个线程在 SO 上引用了这个问题,并且规定的解决方案是设置 FFMPegToolPath 属性。

 fFMpegConverter.FFMpegToolPath = _thumbPathManager.GetFFMPegPath;

我已经尝试过它以及它的各种版本,但我仍然得到错误。如果有帮助,我正在使用 1.1.2.0 版本。

无论我在调用 FFMpegToolPath、ExtractFFmpeg 等方面做什么,都会弹出错误。

任何帮助是极大的赞赏。

4

1 回答 1

0

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

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

于 2017-10-28T23:12:20.267 回答