我正在为所有平台(iPhone、Android 和 Windows)开发一个应用程序。它涉及通过服务器在这些平台之间传输文件。我怀疑我应该为图像、视频和音频使用哪种格式,这在各个方面都更好,比如尺寸,性能。它应该可以在所有 3 部手机上播放。?任何人都可以提出建议吗?
问问题
162 次
1 回答
1
对于音频或图像,有许多选项,但对于视频,图片要模糊得多。对于视频来说,目前只有两个主要的竞争者:
它们在您列出的所有移动平台(iOS、Android 和 Windows Phone 7)上都可用。根据您的应用程序的确切用途(流式视频、实时视频会议等),它们各有优缺点。两者的性能通常足够接近,以至于您的实现质量和您使用的设置比标准更重要。在它们之间进行选择时的一些考虑因素的快速总结是:
- VP8:这是一种开放的、免版税的格式,其参考实现在 BSD 风格的许可下开源。它作为第三方库在所有三个操作系统上构建和运行良好。每个操作系统的本机支持各不相同。由于 WebM 是 Google 的创意,Android 原生支持 VP8。苹果尚未宣布在 iOS 中支持 VP8 的计划,微软采取了中间立场。但是,将库包含在您分发的任何应用程序中都很容易且免费。
- H.264:这是一个包含在 HTML5 标准中的行业标准,因此它几乎被现代浏览器普遍支持。(Goggle 已宣布他们将从 Chrome 中撤消对它的支持,但截至今年早些时候,这还没有发生。) H.264 受到多项专利的保护,这些专利由MPEG LA出于许可目的而保存在一个池中。H.264 的商业用户需要支付许可费,但也有例外情况,包括对最终用户免费的互联网视频。Android、iOS 和 Windows Phone 7 都原生支持 H.264 流式视频播放。但是,至少在 iOS 上不支持实时视频会议。还有一个很好的第三方实现(x264) 的 H.264 在所有平台上都可用,以应对本机实现不足的情况。x264 是一个免费的开源库,但它在 GNU GPL 下获得许可,这在商业开发或 iOS 部署方面存在问题。您可能需要购买商业许可证才能在您的产品中使用它。
以下是各种供应商关于 A/V 格式兼容性的页面:
我的建议是,如果您正在流式传输视频,请使用 H.264,但如果您正在实时编码/解码视频,请使用 VP8。Apple 在使用 H.264 的 FaceTime 方面做得很好,但接口不公开。
于 2012-08-24T07:18:40.057 回答