You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MacCatalyst(MAUI)中启动FFmpeg遇权限被拒绝问题求助

Blazor Hybrid(.NET MAUI)FFmpeg权限拒绝问题解决方法
  • 检查FFmpeg可执行文件权限
    确保FFmpeg二进制文件具备可执行权限:

    • Windows:右键FFmpeg文件→属性→安全选项卡,为当前登录用户添加「读取和执行」权限。
    • Mac:打开终端,执行 chmod +x /完整路径/ffmpeg 赋予可执行权限;若提示“无法打开,因为来自身份不明的开发者”,前往「系统设置→隐私与安全性」,找到对应提示并允许运行。
  • 修正WorkingDirectory配置错误
    代码中WorkingDirectory被设置为视频文件路径,这是错误的——该属性需要传入目录路径而非文件路径。修改为视频文件所在的目录:

    ffmpegProcess.StartInfo.WorkingDirectory = Path.GetDirectoryName(videoPath);
    
  • 确保视频文件路径权限合规

    • Windows:避免将视频放在系统保护目录(如C:\Program Files、系统盘根目录),优先使用用户目录(如Documents);若以UWP模式打包,需在Package.appxmanifest中添加文件访问相关权限。
    • Mac:在项目的Info.plist中添加文件访问权限描述,比如:
      <key>NSDocumentsFolderUsageDescription</key>
      <string>需要访问视频文件以获取媒体信息</string>
      
  • 优化FFmpeg参数传递方式
    避免路径空格导致的参数解析异常,推荐使用.NET 6+支持的ArgumentList传递参数,更安全可靠:

    ffmpegProcess.StartInfo.ArgumentList.Add("-i");
    ffmpegProcess.StartInfo.ArgumentList.Add(videoPath);
    
  • 配置MAUI跨平台权限

    • Windows端:在Platforms/Windows/Package.appxmanifest中添加必要权限:
      <Capabilities>
          <uap:Capability Name="documentsLibrary" />
          <uap:Capability Name="picturesLibrary" />
      </Capabilities>
      
    • Mac端:在Platforms/MacCatalyst/Info.plist中补充权限说明,确保系统允许应用访问文件。

内容的提问来源于stack exchange,提问作者Cyril Gupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 01:15:05