gpt4 book ai didi

c# - 在Azure函数中使用ffmpeg使用c#剪切文件

转载 作者:行者123 更新时间:2023-11-30 23:14:32 26 4
gpt4 key购买 nike

我用 C# 编写了一个 Azure 函数,它将把大的 mp4 文件切成一些小的持续时间。我已通过 KUDU 控制台将所需的所有内容(ffmpeg 可执行文件、视频文件)复制到主目录中。但是当我运行该函数时,它运行了超过 5 分钟,并且在主目录中没有提供任何文件。

功能:

using System;
using System.Diagnostics;

public static void Run(string input, TraceWriter log)
{
log.Info("Executing");
using (var process = new Process())
{
process.StartInfo.FileName = @"D:\home\ffmpeg.exe";
process.StartInfo.Arguments = @"-i D:\home\AmnestyInternational.mp4 -ss 00:00:03 -t 00:00:08 -async 1 D:\home\cut.mp4";
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
log.Info(Directory.GetCurrentDirectory());
log.Info("Cutting starts:"+DateTime.Now.ToString("h:mm:ss tt"));
process.Start();
string output = process.StandardOutput.ReadToEnd();
process.WaitForExit();
log.Info("Cutting ends :"+DateTime.Now.ToString("h:mm:ss tt"));
log.Info(output);
}
}

在 Azure 函数控制台上看到的输出:

2017-03-24T11:06:00.705 Function started (Id=df082f54-719a-415f-b7f1-b10548a213be)
2017-03-24T11:06:00.721 Executing
2017-03-24T11:06:00.721 D:\Windows\system32
2017-03-24T11:06:00.721 Cutting start :11:06:00 AM
2017-03-24T11:07:14 No new trace in the past 1 min(s).
2017-03-24T11:08:14 No new trace in the past 2 min(s).
2017-03-24T11:09:14 No new trace in the past 3 min(s).
2017-03-24T11:10:14 No new trace in the past 4 min(s).
2017-03-24T11:11:00.758 Microsoft.Azure.WebJobs.Host: Timeout value of 00:05:00 was exceeded by function: Functions.ManualTriggerCSharp1.

当我尝试在 KUDU 控制台或我自己的 PC 上执行相同的命令时,只需要 1.5 分钟,我就得到了所需持续时间的文件

有人可以帮我解决这个问题吗?我可能会错过什么?

最佳答案

假设您的流程有输出,一项改进是从标准输出获取增量进度更新。我相信 ReadToEnd() 将阻塞,直到您的进程退出(这里它似乎首先超时)。请参阅此处的一些同步和异步示例:Process.start: how to get the output?

消耗计划的最大超时为 5 分钟,但如果您在专用应用服务上运行函数,则可以将超时设置为您选择的任何值。

关于c# - 在Azure函数中使用ffmpeg使用c#剪切文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42998080/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com