我正在构建一个智能手机应用程序,该应用程序还应该拍摄一个短视频,并将其发送到像亚马逊S3这样的基于云的存储中。我还在云端(即EC2上)有服务器。
假设我调整了应用程序上的视频文件的大小(就像WhatsApp那样)。我希望它被交付给其他用户,与其他设备(包括蜂窝和台式机),所以我想我需要把视频转换成其他格式。
使用AmazonElasticTrans编码器似乎非常昂贵(大约每分钟0.015美元),因为我计划在上面存储很多视频文件。
我该怎么办?在我的服务器上使用格式转换程序(这也是在云上)?
我不想播放这些视频,而是提供类似于whatsApp的文件。
发布于 2015-02-24 16:50:42
问题不在于支持多种格式(MP4现在或多或少地被支持),而是多个比特率/分辨率。此外,具有多个比特率允许您利用自适应流。
该系统有三个部分需要考虑:
转换视频转换足够密集,您需要转换一次视频并存储结果。选择3-6位速率/分辨率,以满足您的应用程序需要,并将您收到的所有视频转换成这些格式。
您可以使用弹性译码器、Z编码器或您自己的角色。滚动你自己的肯定将是复杂的规模。您需要将其构建为运行多个实例的作业队列类型系统来处理转换工作。
存储转换后,您需要存储文件。如果您使用的是AWS产品,这将是S3发挥作用的地方。
如果您获得了大量的通信量,这很可能是您项目中最昂贵的方面。利用流可以在一定程度上降低成本,因为您不需要下载整个文件。Cloudfront支持使用S3或其他源直接下载或流。
发布于 2015-03-04 11:51:36
您还可以查看本教程,介绍基于云的自适应流内容转码(MPEG-破折号,HLS)以及如何将其部署到S3/CloudFront:http://www.bitcodin.com/blog/2015/02/create-mpeg-dash-hls-content-for-amazon-s3-and-cloudfront/上。
https://stackoverflow.com/questions/28695568
复制相似问题