我有一个 C# 应用程序。我有 100 个 JPEG(例如)。
我可以轻松地将其编码为视频文件。
当它在客户端应用程序上完成编码后,我 FTP 上传到我的服务器。
如果我不能将视频文件写入光盘而是将其写入内存流(或字节数组)并通过网络服务上传,那会更“整洁”吗?
我查看了 ffmpeg 文档,但作为 C# 开发人员,我发现理解 C 示例并不自然。
我想我的第一个问题是可能的,如果可以的话,任何人都可以在 C# 中发布示例代码吗?目前我正在使用 C# 中的进程类来执行 ffmpeg。
你的工艺方法已经不错了,只是需要调整一下:
StartupInfo.RedirectStandardOutput = true
和StartupInfo.UseShellExecute = false
。pipe:
,这将使它写入标准输出。此外,由于无法再根据文件名确定格式,因此请确保也使用该-f <format>
开关。Process.StandardOutput.BaseStream
(读取.BaseStream
,因此不会搞砸任何事情)。StreamReader
.StandardOutput
Process.StandardOutput.BaseStream
.不久前我编写了一个缩略图(BSD 2-clause),它具有演示这一点的实际代码。最后是从ffmpeg出来的图像还是视频都没有关系。