建议视频上传网站

时间:2015-02-26 19:41:34

标签: video-streaming video-processing transcoding amazon-elastic-transcoder

我正在开展一个用户可以上传一些私人视频的项目。我将它们直接上传到S3并通过CloudFront分发。一切顺利,但我已经知道转码文件也会很好,因为它可以创建更小的文件,适用于各种用户设备,这也可以降低传送内容的成本。

我的问题如下。我决定只允许用户上传mp4,因为我不知道所有格式,我们还需要快速启动alpha。如果他们上传mp4文件,转码作业是否有意义,或者无论使用何种设备,我都应该提供原始文件吗?

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

老实说,我向用户提供原始mp4文件非常好,而且我并不确定转码文件占用的额外S3空间加上转码价格会为我节省任何费用但我更多的是关于用户体验,而不是节省一些额外的钱。

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

1 个答案:

答案 0 :(得分:2)

转码的原因是:

  1. 将未知用户提交的内容标准化为您知道用户的设备/播放器支持的简短格式列表。
  2. 转换为ABS(自适应比特率流)格式,例如HLS或Smooth。
  3. 在比特率/分辨率和整体尺寸方面控制输出(以及播放文件)。
  4. 为什么要关心?

    1)原始文件可能适用于用户,也可能不适用于用户。人们可以上传不受广泛支持的格式或编解码器。通过转码(甚至按照你的建议进入简单的mp4),你至少可以规范化格式的长尾。

    2)ABS格式(如HLS或Smooth)可能有2个好处。对用户而言,这意味着您并没有强迫每个人达到质量的最低(或最高)共同标准。如果您为MP4文件选择了太高的质量并为其服务,那么低带宽或低功耗设备的用户将获得缓冲和抖动体验。如果您只生成低比特率/分辨率版本,那么在高清电视上观看连接的用户将看到质量差的视频。 ABS可让您生成多个质量点,而不是实时,客户可根据实际情况进行调整,并选择最佳质量。

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

    3,即使你对MP4(渐进式DL UX)没问题,转码也可以让你控制文件的大小。在几种情况下,仅使用输入文件可能会产生非常糟糕的体验。想象一下,我上传了我的GoPro 4K视频,但我尝试在我的4.0.0 Android设备上通过3g网络播放...转码到更合理的比特率/ res将让您接触更多用户并提供更好的用户体验。