网站的在线/云视频编码

online/cloud video encoding for website

用户会将视频从 ios 应用、android 应用和 v?-a webupload 加载到我的服务器。
所以我得到了很多不同的视频格式,我需要对其进行编码以便在网站上显示它们。
正如我们现在,视频编码并不是一件简单的事情。到目前为止,我一直在网络服务器本身上使用 ffmpeg 和 php。这对于 Beta 版来说还可以,但现在我需要专业的服务。编码需要大量服务器 cpu 时间,并且尝试覆盖所有视频格式对我来说实际上是不可能的。

到目前为止,我发现最专业的解决方案似乎是在线/云服务,例如 transloadit.com、zencoder.com 或 encoding.com。还有更多,但到现在为止就是这样。

有没有人对这些或其他类似服务有过经验,并能说出每种服务的优缺点?

我还考虑使用 Amazon S3 存储桶来保存上传的视频。如果需要,部分(或全部)指定服务还将编码视频传送到 S3 存储桶。

最后但并非最不重要的一点是,我还想获得一些关于推荐使用哪个播放器的帮助。视频将从台式机、平板电脑和智能手机 v?-a 网络应用程序中调用。
到目前为止我看到的替代品是 jwplayer.com、flowplayer.org 和 vid.ly 播放器。


我过去在 Wistia.com 上使用过的一种非常高级的第三方服务。他们有 API 可以向他们上传视频(我猜是大多数格式)。上传后,您需要等待它们被转码并准备好进行流式传输 - 您可以再次通过 API 检查此状态。然后您将获得一个 HTML 嵌入代码(来自 youtube),您可以使用它在您的网站上流式传输视频。这基本上为您抽象了很多东西(无需处理 jwplayer、转码器等)

Hoeever,如果您想以开发人员的方式进行转码,您可以使用 AWS 弹性转码器进行转码。您应该能够从任何地方(甚至从您的网络服务器)调用 API。您可以配置 S3,以便您的用户可以直接上传到 S3,Transcoder 从 S3 中选择它,转换并再次将其放回 S3。

API 参考 - Amazon Elastic Transcoder

此示例可帮助您设置视频转码管道。


我已经使用了亚马逊的 elastic_encoder 和 zencoder.com,如果它们都很棒的话,我个人更喜欢 zencoder.com,它高效且速度更快,但缺点是成本更高。正如您所提到的,您正在使用 amazons s3 存储桶来上传视频,那么值得一提的是,amazons 弹性转码器可以与 s3 顺利配合使用,并且比 zencoder 便宜得多。此外,zencoder 支持的视频格式比弹性转码器更多。在工作中,我使用弹性转码器作为主要转码,但是当它失败时,我使用 zencoder.com 在大多数情况下,弹性转码器应该可以正常工作。对于 aws 弹性编码器(django 和 python 堆栈)的实现以及解释 zencoder 实现的这篇文章。希望它有所帮助。


还有 http://www.bitcodin.com 作为基于云的转码服务,它可以通过 API 用于自动化流程。有一个关于 Amazon S3 和 CloudFront 使用的完整教程:http://www.bitcodin.com/blog/2015/02/create-mpeg-dash-hls-content-for-amazon-s3-and-cloudfront /