首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >移动端实时视频编码

移动端实时视频编码
EN

Stack Overflow用户
提问于 2009-12-02 14:48:27
回答 2查看 1.4K关注 0票数 4

谁知道做实时视频重新编码的好方法(目标格式是3GP s263 AMR窄带和MP4 mp4v mp4a,但当然不是在同一时间。输入文件将是WMV,但支持的输入格式越多越好)?

目前,我们使用调用ffmpeg命令行的C#服务进行异步处理,但是对于同步请求这样做的想法有点不太理想,因为用户在回放开始之前需要等待很长一段时间(不过,如果这是最好的情况,请让我知道,我猜我会接受它)。

如果我们能同时为文件提供服务并保存它,那就太棒了(这样我们就可以为将来的请求存储它),但如果我们不能做到这一点,那也不是什么灾难。

顺便说一句,我更喜欢避免使用流媒体解决方案,因为很少有设备支持它,但如果没有好的方法来做我想要的事情,我会很乐意听到替代方案,即使它们涉及到流媒体。

更新

为了让你们了解最新的情况,我目前正在考虑编写一个包装器,直接调用FFmpeg的DLL而不是exe,我开始认为我可以通过这种方式获得我想要的功能(逐步捕获数据,而不是一旦完成,可能会让我足够接近实时)。

我仍然在考虑这是否可以工作,并试图找到如何做的好例子(即使是那些用c而不是c#写的,因为它会显示如何与DLL接口)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-12-06 22:29:37

至于流媒体解决方案,我们使用了StreamCoders' MediaSuite.net。对于我们来说,它可以将任何基于MPG的视频流传输到3GP/H263。然而,你应该确切地知道你在做什么,在规格,格式,编码等方面。这是一个巨大的领域,他们的产品没有“解释”一些基本的术语,他们假设你已经知道你在做什么。此外,据我所知,你必须手动同步音频和视频通道。他们的演示应用程序展示了如何做到这一点(但话又说回来,它只是一个演示应用程序,所以您可能最终会进行优化)。

我想你可以用它来重新编码,也可以用来流媒体,我最近没有试过。您计划如何输出结果?作为System.IO.MemoryStream

另一个流解决方案是拥有一个众所周知的流服务器,如Xenon,并使用它进行“背靠背”技术:您的处理程序获得一个请求并创建一个对流服务器的请求。流服务器的响应被流传送到客户端。这是一种黑客行为,但它在一段时间内对我们很有效。

你的ffmpeg解决方案很好,你可能会发现它比低级的几乎实时的转换更容易实现。如果你能“容忍”这一点,也许让它保持原样会更好。

更新:如果你最终用.Net库包装了ffmpeg,这似乎是一个很好的解决方案,因为ffmpeg是一个很棒的库,如果你能分享你的解决方案就太好了。我们试着玩它,但是没有足够的时间。

票数 1
EN

Stack Overflow用户

发布于 2009-12-07 22:06:36

我一直在使用演示文稿和用户组会议的实时编码。我找到的最好的解决方案是Microsoft Expression Encoder。包含的SDK使用起来相当简单,应该可以提供您所需的大部分功能。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1831071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档