如何在 Azure 上使用 "FFmpeg" 和 c#?
How to use "FFmpeg" with c# on Azure?
我想减小来自 Azure 上的网络作业的 mp4 视频的大小。我的 webjob 中有一个队列触发器,每次添加新视频时,VideoCompressor Webjob 都会减小 mp4 视频文件的大小(根据方向减少到 200px 宽度或高度 + 裁剪到仅 2 分钟)。
根据我在网上看到的,ffmpeg 就是答案。有 nuget 包:FFmpeg.stable.GZCR。
我想使用一个 nugget 包,这样就不必每次都访问 ffmpeg 网站并验证是否有新版本。
但我没有找到任何关于它的文档:
- Google search for "FFmpeg.stable.GZCR" documentation
- Google search for How to use "FFmpeg.stable.GZCR"
我找到了一些关于 FFmpeg 的信息,但它是针对 WinRT 的,所以对我来说没有用:
我找到了这段代码,这似乎是我想要做的。问题出在 nugget 包中,我不知道如何访问 ffmpeg.exe",但也许您有其他想法?
你有什么想法或建议吗?
FFMPEG 非常复杂 API,您最好直接从 C# 程序调用该工具。在研究如何在 ffmpeg 中做某事时,每个人都会在直接访问 .exe 方面讨论该工具,因此与尝试使用包装器相比,您不会感到困惑 API.
您可以使用 System.Diagnostics.Process
执行此操作,例如
var process = new Process
{
// Path to your ffmpeg binary
FileName = "ffmpeg.exe",
// Example ffmpeg command to get the sound from an mp4 video
Arguments = "-i input.mp4 -vn -ab 320 output.mp3",
UseShellExecute = false
}
process.Start();
如果您想自动升级 ffmpeg,您可以编写脚本以从 GitHub 存储库获取最新版本并自己编译 ffmpeg。
我想减小来自 Azure 上的网络作业的 mp4 视频的大小。我的 webjob 中有一个队列触发器,每次添加新视频时,VideoCompressor Webjob 都会减小 mp4 视频文件的大小(根据方向减少到 200px 宽度或高度 + 裁剪到仅 2 分钟)。
根据我在网上看到的,ffmpeg 就是答案。有 nuget 包:FFmpeg.stable.GZCR。 我想使用一个 nugget 包,这样就不必每次都访问 ffmpeg 网站并验证是否有新版本。
但我没有找到任何关于它的文档:
- Google search for "FFmpeg.stable.GZCR" documentation
- Google search for How to use "FFmpeg.stable.GZCR"
我找到了一些关于 FFmpeg 的信息,但它是针对 WinRT 的,所以对我来说没有用:
我找到了这段代码,这似乎是我想要做的。问题出在 nugget 包中,我不知道如何访问 ffmpeg.exe",但也许您有其他想法?
你有什么想法或建议吗?
FFMPEG 非常复杂 API,您最好直接从 C# 程序调用该工具。在研究如何在 ffmpeg 中做某事时,每个人都会在直接访问 .exe 方面讨论该工具,因此与尝试使用包装器相比,您不会感到困惑 API.
您可以使用 System.Diagnostics.Process
执行此操作,例如
var process = new Process
{
// Path to your ffmpeg binary
FileName = "ffmpeg.exe",
// Example ffmpeg command to get the sound from an mp4 video
Arguments = "-i input.mp4 -vn -ab 320 output.mp3",
UseShellExecute = false
}
process.Start();
如果您想自动升级 ffmpeg,您可以编写脚本以从 GitHub 存储库获取最新版本并自己编译 ffmpeg。