Video streaming 视频上传网站的建议

Video streaming 视频上传网站的建议,video-streaming,video-processing,transcoding,amazon-elastic-transcoder,Video Streaming,Video Processing,Transcoding,Amazon Elastic Transcoder,我正在做一个项目,用户可以上传一些私人视频。我将它们直接上传到S3并通过CloudFront分发。一切都很好,但我读到转码文件也很好,因为它可以创建更小的文件,适合各种用户设备,这也可能导致交付内容的成本更低 我的问题如下。我决定只允许用户上传mp4,因为我不知道所有的格式,我们需要一个快速的阿尔法无论如何启动。如果他们上传mp4文件,转码工作会有意义吗?或者不管使用什么设备,我都应该提供原始文件吗 如果转码器在这种情况下有意义,那么转码作业的最佳预设是什么 老实说,我完全可以为我的用户提供原始

我正在做一个项目,用户可以上传一些私人视频。我将它们直接上传到S3并通过CloudFront分发。一切都很好,但我读到转码文件也很好,因为它可以创建更小的文件,适合各种用户设备,这也可能导致交付内容的成本更低

我的问题如下。我决定只允许用户上传mp4,因为我不知道所有的格式,我们需要一个快速的阿尔法无论如何启动。如果他们上传mp4文件,转码工作会有意义吗?或者不管使用什么设备,我都应该提供原始文件吗

如果转码器在这种情况下有意义,那么转码作业的最佳预设是什么

老实说,我完全可以为我的用户提供原始mp4文件,我并不确信转码文件占用的额外S3空间加上增加的转码价格会为我节省任何东西,但我更关心的是用户体验,而不是节省一些额外的钱


我在一个带有移动预设的文件(iphone 4s)上运行了一个测试转码器,并创建了一个(大得多的)文件(3.2Gb vs 680Mb),所以我真的不知道我在做什么。

转码的原因是:

  • 将未知用户提交的内容规范化为用户设备/播放器支持的格式短列表
  • 转换为ABS(自适应比特率流)格式,如HLS或Smooth
  • 控制输出(以及播放文件)的比特率/分辨率和总体大小
  • 你为什么在乎

    1) 原始文件可能适用于用户,也可能不适用于用户。人们可能会上传一种不受广泛支持的格式或编解码器。通过转码(甚至如您所建议的那样转换成一个简单的mp4),您至少可以规范化格式的长尾

    2) ABS格式(如HLS或Smooth)可能有两个好处。对用户来说,这意味着您没有强迫每个人都使用最低(或最高)的质量公分母。如果你为你的MP4文件选择了一个太高的质量,并提供了服务,那么使用低带宽或低功率设备的用户将获得缓冲和不稳定的体验。如果您只生成低比特率/分辨率版本,则在高清电视上观看的具有良好连接的用户将看到质量较差的视频。ABS允许您生成多个质量点,而不是实时生成,客户可以根据其实际情况进行调整,并选择能够播放的最佳质量

    对你来说,ABS意味着与渐进式下载UX(通过MP4获得)不同,你只需支付用户实际用于观看视频的带宽,这可能会为你节省交付成本。内容越长,这一点就越重要。当然,对于60年代的视频来说,它的影响力要小于90万年的视频。播放MP4文件时,客户端可能最终下载整个文件,而用户停止观看视频的10%。使用HLS/Smooth,客户端只缓冲几个块(大约6-30秒)

    3,即使您可以使用MP4(渐进式DL-UX),转码也可以让您控制文件的大小。在某些情况下,仅仅使用输入文件可能会产生非常糟糕的体验。假设我上传了我的GoPro 4K视频,但我试图通过3g网络在我的4.0.0安卓设备上播放。。。转码到更合理的比特率/分辨率将让您接触更多用户并提供更好的用户体验