代码之家  ›  专栏  ›  技术社区  ›  swabygw

nreco错误:“指定的可执行文件不是此操作系统平台的有效应用程序”

  •  0
  • swabygw  · 技术社区  · 7 年前

    我正在使用NRECO转换视频。我像下面那样声明转换器,并向convertprogress添加一个处理程序。

    Dim vid_Convert As New FFMpegConverter
    AddHandler vid_Convert.ConvertProgress, Sub(sender, e) vidConvertProgress(folder,fname,fext,fverdest,fint,fcount,fhost,e)
    vid_Convert.ConvertMedia(file_temp, Nothing, file_dest, "mp4", cSettings)
    

    介质转换良好。问题出在处理程序中,我声明了一个新的转换器,并让它执行getvideothumbnail(在前一个转换完成时),如下所示:

    Dim vid_Extract As New FFMpegConverter
    vid_Extract.GetVideoThumbnail(inputFile, outputFile, extractposition)
    

    这会产生错误“指定的可执行文件不是此操作系统平台的有效应用程序”。但是,我已经在程序的其他地方单独执行了getvideothumbnail方法,没有问题。出于某种原因,如果在处理程序中执行,它将无法工作。有办法解决这个问题吗?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Vitaliy Fedorchenko    7 年前

    我假设您使用nreco.videoconverter nuget包,它嵌入ffmpeg.exe并在第一次使用时提取它。很可能您并行调用“convertmedia”和“getvideothumbnail”,这可能导致错误提取ffmpeg.exe。

    此问题的解决方法可能是 new FFMpegConverter().ExtractFFmpeg(); 在应用程序启动时(在program.cs中),以确保在“convertmedia”和“getvideothumbnail”上调用ffmpeg已被提取。

    推荐文章