【问题标题】:Converting Video files in a Azure Webjob with ffMpeg使用 ffMpeg 在 Azure Webjob 中转换视频文件
【发布时间】:2016-12-14 02:49:35
【问题描述】:

我在 Azure 网络作业中使用 ffMpeg 时遇到问题。

我找到了以下文章 (How to call ffmpeg.exe to convert audio files on Windows Azure?),这正是我想要做的,但是,我无法让 ffMpeg 执行并且它没有给出错误消息。

为了诊断问题,我通过上传 ffMpeg、要转换的视频文件和运行它的批处理文件将其归结为本质:

run.cmd 中的脚本很简单:

del output.mp4
ffmpeg -i screencast.wmv -c:v libx264 -r 15 output.mp4

这适用于我的个人计算机,但作为网络作业运行,我得到以下结果。

[12/08/2015 15:42:39 > bf9dd6: SYS INFO] Status changed to Initializing
[12/08/2015 15:42:39 > bf9dd6: SYS INFO] Job directory change detected: Job file 'ffmpegtest\output.mp4' exists in source directory but not in working directory.
[12/08/2015 15:42:47 > bf9dd6: SYS INFO] Run script 'run.cmd' with script host - 'WindowsScriptHost'
[12/08/2015 15:42:48 > bf9dd6: SYS INFO] Status changed to Running<br />
[12/08/2015 15:42:48 > bf9dd6: INFO] 
[12/08/2015 15:42:48 > bf9dd6: INFO] D:\local\Temp\jobs\triggered\ffMpeg\y1bdnb1e.03k\ffmpegtest>del output.mp4 
[12/08/2015 15:42:48 > bf9dd6: INFO] 
[12/08/2015 15:42:48 > bf9dd6: INFO] D:\local\Temp\jobs\triggered\ffMpeg\y1bdnb1e.03k\ffmpegtest>ffmpeg -i screencast.wmv -c:v libx264 -r 15 output.mp4 
[12/08/2015 15:42:49 > bf9dd6: SYS INFO] Status changed to Failed
[12/08/2015 15:42:49 > bf9dd6: SYS ERR ] Job failed due to exit code -1073741515

编辑: 此外,有人建议我使用 Kudu 控制台运行。还是没有运气:

解决方案:
我最终需要运行 ffMpeg 的 32 版本而不是 64 位。非常感谢@mathewc!

【问题讨论】:

  • 欢迎来到 StackOverflow!我改进了您的问题,使其更易于阅读。

标签: azure ffmpeg azure-webjobs


【解决方案1】:

您的问题是您需要在 run.cmd 文件中将输入/输出文件名括在引号中,以便它们正确扩展。

ffmpeg -i "screencast.wmv" -c:v libx264 -r 15 "output.mp4"

对于未来,诊断这些类型问题的最佳方法是在您的Kudu Console 中运行您的命令,以从您的 exe 中获取详细的输出信息。这使您可以像在本地一样进行测试,并解决在 Azure 环境中运行时可能存在的任何细微差异。

【讨论】:

  • 感谢 Kudu 控制台的提醒!我运行它并得到了同样的东西。我在帖子中添加了屏幕截图。只是回来空白。
  • 我有你的场景在我自己的网络作业中运行。我能够运行上述命令,并且它正确地生成了一个 mp4 文件。请再试一次:)
  • 很抱歉占用了您很多时间。你运行的是什么版本的ffmpeg?我正在尝试的是 64 位 ffmpeg 版本 N-75204-g314bc20。
  • 我从这里下载了 32 位静态版本:ffmpeg.zeranoe.com/builds。上面看起来像ffmpeg -version 也没有为您产生任何输出?它对我有用。
  • 太棒了!非常感谢。我上传的是32位版本,刚刚运行成功!
【解决方案2】:

您可能会遇到一些sandbox restrictions。为了帮助隔离,我建议尝试直接从 Kudu Console 运行您的命令,以将 WebJobs 部分排除在等式之外。

【讨论】:

    猜你喜欢
    • 2021-06-18
    • 2016-04-26
    • 1970-01-01
    • 1970-01-01
    • 2013-08-19
    • 1970-01-01
    • 2012-12-19
    • 2011-06-05
    • 2010-12-26
    相关资源
    最近更新 更多