node.js - 从S3存储桶流式传输视频

标签 node.js video-streaming s3-bucket

我正在使用nodejs服务器处理视频流。我使用amazon s3存储桶作为视频存储。当nodejs在amazon ec2实例中运行时。为了响应客户机的请求流式传输特定的视频文件,需要首先将文件从s3 bucket下载到ec2 instance(nodejs server),这是一个耗时的过程,客户机必须等待几秒钟,才能将第一个视频段从nodejs发送到客户机。我正在寻找一种方法来删除下载时间间隔。
我的问题是:
1有没有办法直接从S3桶中流出?

2 S3存储允许获取存储文件的小块而不是下载整个文件吗?
注意:视频流应该由ios视频播放器使用。
我是一个新手视频流和S3存储。
在这种情况下,请给我建议最好的解决方案。

最佳答案

您需要使用以下aws服务以标准方式从s3 bucket实现按需视频流。
1)亚马逊弹性转码器
Amazon Elastic转码器是云中的媒体转码。它被设计成一种高度可扩展、易于使用和成本效益高的方式,供开发人员和企业将媒体文件从源格式转换(或“转码”)为可在智能手机、平板电脑和个人电脑等设备上播放的版本。
将视频文件转换为HLS格式(最广泛支持的
流媒体协议)
2)Amazon CloudFront——内容交付网络(CDN)
amazon cloudfront是一个全球内容交付网络(cdn)服务,它可以加速网站、api、视频内容或其他web资产的交付。它与其他amazon web服务产品集成,为开发人员和企业提供了一种简单的方法,可以在没有最低使用承诺的情况下加速向最终用户提供内容。
CloudFront准备并将文件传递给他们的播放器
相关链接:
using-amazon-cloudfront-for-video-streaming
Steps to setup the video streaming

关于node.js - 从S3存储桶流式传输视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41361407/

相关文章:

javascript - 用户不是 Express with Passport 中的构造函数

javascript - 如何在vuejs中从iziModal获取按钮事件

oracle - 无法在 ubuntu 上安装 "oracle"npm

amazon-web-services - s3 存储桶的 Iam 策略

amazon-web-services - aws s3 存储桶策略未按预期工作

javascript - Mongoose - 检索到的文档中没有 '_id' 属性

ios - 在 Swift 中从 URL 播放视频

ffmpeg - 如何将 mjpeg 文件流式传输为 rtsp

javascript - 使用 WebRTC 从网络摄像头捕获媒体流,将流发布到媒体服务器并从那里分发