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

通过Azure Pipelines部署后Azure Function中FFmpeg无法运行

解决Azure Pipelines部署.NET 7独立Azure Function后FFmpeg无法运行的问题

退出码-1073741515对应Windows错误码0xC0000135,核心原因是找不到依赖库,结合你本地/手动部署正常、Pipeline部署异常的场景,可按以下步骤排查解决:

  • 确认FFmpeg依赖文件完整性
    对比手动部署和Pipeline部署后的C:\home\site\wwwroot\ffmpeg\文件夹,检查是否缺少FFmpeg所需的VC++运行库(如vcruntime140.dll、vcruntime140_1.dll)或其他关联dll文件。手动部署时可能完整复制了所有文件,但Pipeline打包过程中可能遗漏了这些依赖。

  • 修正项目文件中的复制配置
    确保.csproj中已配置将FFmpeg相关文件(包括exe和所有依赖)复制到发布目录。添加以下配置到项目文件:

    <ItemGroup>
      <None Include="ffmpeg\**" CopyToPublishDirectory="PreserveNewest" />
    </ItemGroup>
    

    该配置会递归复制ffmpeg文件夹下的所有文件到发布输出目录,避免Pipeline打包时遗漏。

  • 匹配FFmpeg与函数应用的架构
    检查Azure Function应用的运行架构(x86/x64),确保与FFmpeg版本一致:

    1. 登录Azure门户,进入目标函数应用的配置→常规设置
    2. 查看“平台架构”选项,若为x64则必须使用x64版本的FFmpeg,x86同理。架构不匹配会导致依赖加载失败,触发0xC0000135错误。
  • 设置进程工作目录
    修改FFmpeg进程启动代码,将工作目录设置为FFmpeg所在文件夹,确保其能加载同目录下的依赖库:

    var startInfo = new ProcessStartInfo
    {
        FileName = ffmpegPath,
        RedirectStandardOutput = true,
        RedirectStandardError = true,
        UseShellExecute = false,
        CreateNoWindow = true,
        Arguments = "-version",
        WorkingDirectory = Path.GetDirectoryName(ffmpegPath) // 添加工作目录配置
    };
    
  • 捕获详细错误日志
    修改代码以获取FFmpeg的错误输出,帮助定位具体问题:

    // 假设注入了ILogger实例_logger
    process.ErrorDataReceived += (sender, e) => 
    {
        if (!string.IsNullOrEmpty(e.Data))
        {
            _logger.LogError("FFmpeg执行错误: {ErrorMessage}", e.Data);
        }
    };
    
    process.Start();
    process.BeginOutputReadLine(); // 启动异步读取输出
    process.BeginErrorReadLine();  // 启动异步读取错误
    process.WaitForExit();
    

    通过函数应用的日志系统查看捕获到的错误信息,进一步排查问题。

  • 验证Kudu手动执行
    在Kudu控制台中进入C:\home\site\wwwroot\ffmpeg\目录,手动执行ffmpeg.exe -version,观察是否能正常运行。若手动执行也失败,说明是文件本身或环境权限问题;若手动执行成功,则回到Pipeline打包配置排查遗漏。

内容的提问来源于stack exchange,提问作者Isak Engström

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 13:22:52