有谁知道进行实时视频重新编码的好方法(目标格式是 3GP s263 AMR 窄带和 MP4 mp4v mp4a,但当然不是同时。输入文件将是 WMV,但更多的输入格式支持更好的)?
目前我们使用调用 ffmpeg 命令行的 C# 服务进行异步处理,但是为同步请求执行此操作的想法有点次优,因为用户最终在播放开始之前等待了很长时间(尽管如果那是最好的情况让我知道,我想我会接受它)。
如果我们可以同时提供文件并保存它(这样我们可以存储它以供将来的请求),那将是很棒的,但如果我们不能这样做,那也不会是一场灾难。
作为旁注,我宁愿避免使用流媒体解决方案,因为支持它的设备更少,但如果没有好的方法来做我想做的事,我很乐意听到替代方案,即使它们涉及流媒体。
更新
只是为了让你们了解我的最新情况,我目前正在考虑编写一个直接调用 FFmpeg 的 DLL 而不是 exe 的包装器,开始认为我可能能够得到我以这种方式追求的功能(逐步捕获数据而不是全部完成后可能会让我足够接近实时,就足够了)。
仍在尝试这是否可行,并试图找到如何做到这一点的好示例(即使是那些用 c 而不是 c# 编写的,因为它会显示如何与 DLL 交互)。