我有一个C#应用程序.我有100个JPEG(例如).
我可以轻松地将其编码为视频文件.
当它在客户端应用程序上完成编码后,我将FTP上传到我的服务器.
如果我不能将视频文件写入光盘,而是将其写入内存流(或字节数组)并通过Web服务上传,那将是"更整洁"?
我已经查看了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子句),它有实际的代码来证明这一点.无论是最终来自ffmpeg的图像还是视频都无关紧要.