公域直播间,也就是大家常见的抖音、快手、视频号的直播间,都会有这样那样的限制,不论手机互动还是数据层面,都满足就不了品牌需求,尤其是无法满足私域直播的精细化运营需求。那么,有没有一种可能我们自建直播间,打造一个从数据到功能都属于自己的直播流呢?
答案是肯定的。知名公司Peacock就是使用Amazon CloudFront和AWS Elemental Media Services来大规模提供优质的实时视频流。通过区域边缘缓存和低延迟传输协议,他们能够确保高效和稳定的视频分发通过这些步骤,您可以利用Amazon S3和Amazon CloudFront搭建自己的直播间,实现点播视频和实时视频流的高效分发。因此,我们也可以摸索一下试一试:
这一期,我们核心需要用到的是:通过Amazon S3和Amazon CloudFront托管视频流和直播。
我的目标并不说仅仅能用,而是要搭建一个专属于您自己的直播间,并确保只有特定ID的用户能够访问直播链接,同时支持个性化定制,您可以按照以下步骤进行操作:
以下是具体步骤和应用场景:

第一阶段,熟悉创建点播视频流 (VOD)的基本流程

创建直播视频流,说复杂也复杂,说简单也简单,好在亚马逊云服务支持全套流程,大体上可以分为三个环节

1.1:上传视频到Amazon S3

1.1.1 创建一个Amazon S3存储桶。
已经了解亚马逊云科技Amazon S3如何创建的小伙伴可以跳过。
在Amazon Web Services (AWS) 平台上,创建一个Amazon S3存储桶是一个常见的任务,它允许您存储和检索任意数量的数据对象,如文档、图片、视频等。为了成功创建一个S3存储桶,您需要遵循以下步骤:

首先,登录到您的AWS管理控制台,并导航到S3服务。在S3仪表板中,您将看到一个“创建存储桶”的按钮,点击它开始创建过程。

接下来,您需要为您的存储桶指定一个全局唯一的名称。这个名称在AWS的所有S3存储桶中必须是唯一的,并且遵循一定的命名规则,如只能包含小写字母、数字、连字符(-)和点(.),并且不能以连字符或点开头或结尾。

在命名存储桶后,您需要选择一个区域来存储您的数据。AWS在全球多个地点拥有数据中心,选择一个靠近您用户或应用程序的区域可以优化性能和减少延迟。

然后,您可以配置存储桶的版本控制、访问权限和加密等高级选项。版本控制允许您保留、检索和恢复存储桶中对象的所有版本,这对于防止数据丢失和保留历史记录非常有用。访问权限设置决定了谁可以访问存储桶中的数据,而加密则确保数据在存储和传输过程中的安全性。

最后,点击“创建”按钮以完成存储桶的创建过程。创建成功后,您可以在S3仪表板中看到新创建的存储桶,并开始上传和管理数据。

当然,现在用户可以在新版控制台使用“从现有存储桶复制设置”的功能,选择相同配置的存储桶即可,避免重复设置:

图片[1]-任何公司都可借助Aws亚马逊云科技搭建高转化的自研直播间 - NowX 游读社-NowX 游读社

1.1.2 将视频文件上传到S3存储桶中。

图片[2]-任何公司都可借助Aws亚马逊云科技搭建高转化的自研直播间 - NowX 游读社-NowX 游读社

1.2:配置Amazon CloudFront

1.2.1 创建一个CloudFront分发,选择S3存储桶作为源。
1.2.2 创建源访问身份(OAI)以限制直接访问S3存储桶的内容,确保只有通过CloudFront才能访问视频

图片[3]-任何公司都可借助Aws亚马逊云科技搭建高转化的自研直播间 - NowX 游读社-NowX 游读社

1.3:视频分发

1.3.1 使用CloudFront分发的域名访问视频内容。
1.3.2 您可以选择使用自定义域名来提供更友好的URL

第二阶段,了解实现实时视频流的重要环节和工具

2.1:设置视频源

2.1.1 使用编码器(如AWS Elemental MediaLive)实时压缩和格式化视频内容。,确保视频流在传输过程中保持高质量和低延迟。MediaLive支持多种编码格式和比特率设置,MediaLive还提供了丰富的监控和日志功能,帮助用户实时了解视频流的性能和状态,及时发现并解决问题。充分利用MediaLive的冗余和故障转移功能,确保在出现硬件故障或网络问题时,视频流能够无缝切换到备用资源,保持连续播放。
2.1.2 将视频流传输到AWS Elemental MediaStore或AWS Elemental MediaPackage。将视频流传输到AWS Elemental MediaStore或AWS Elemental MediaPackage时,首先确保你的视频内容符合AWS的编码标准和格式要求。对于MediaStore,你需要将视频文件上传到指定的存储桶中,并确保使用合适的权限设置来保护你的内容。对于MediaPackage,你需要配置好输入和输出设置,包括视频流的源地址、封装格式、加密选项等,以便将视频流传输到CDN或其他分发渠道。同时,考虑到视频流的稳定性和可靠性,建议采用冗余配置和监控机制来确保视频流的顺畅传输。

2.2:配置Amazon CloudFront

2.1.1 创建一个CloudFront分发,选择AWS Elemental MediaStore或MediaPackage作为源。
2.1.2 配置CloudFront以实现低延迟和高吞吐量的视频分发

使用AWS Elemental MediaLive这样的高级编码器,可以实时对视频内容进行高效压缩和格式化,确保视频流在传输过程中保持高质量和低延迟。MediaLive支持多种编码格式和比特率设置,可以根据不同的播放设备和网络环境进行优化,从而提供最佳的观看体验。此外,MediaLive还提供了丰富的监控和日志功能,帮助用户实时了解视频流的性能和状态,及时发现并解决问题。

图片[4]-任何公司都可借助Aws亚马逊云科技搭建高转化的自研直播间 - NowX 游读社-NowX 游读社

步骤3:直播分发

3.1.1 通过CloudFront分发的域名实时传输视频流。
3.1.2 使用区域边缘缓存和优化策略来减少延迟并提高稳定性
做到这里,基本框架已经有了。但是为了确保系统的完整性和高效性,还有一些细节问题需要处理,比如如何借助亚马逊云科技的支持实现视频转码、直播流输入、配置域名等等。。
首先,关于视频转码,我们可以利用亚马逊云科技提供的Elastic Transcoder服务,它能够自动将视频文件转换为多种格式和分辨率,以满足不同设备和网络条件下的播放需求。通过集成Elastic Transcoder,我们可以实现视频内容的快速处理和分发,提升用户体验。

其次,对于直播流的输入,我们可以考虑使用亚马逊云科技的MediaLive服务。MediaLive是一个强大的视频处理服务,支持实时视频流的接收、转码、打包和分发。通过配置MediaLive,我们可以轻松地将直播源接入系统,并进行必要的处理,如添加水印、调整码率等,以满足直播需求。

最后,关于配置域名的问题,我们可以利用亚马逊云科技的Route 53服务来管理DNS记录。Route 53是一个高可用性和可扩展性的DNS服务,它可以帮助我们将域名映射到我们的云资源上,如EC2实例、S3存储桶等。通过配置Route 53,我们可以确保用户能够通过域名访问我们的系统,而不是复杂的IP地址。

此外,为了提升系统的安全性和可靠性,我们还可以考虑采用亚马逊云科技的IAM(Identity and Access Management)服务来管理用户权限,以及使用CloudFront等CDN服务来加速内容分发。这些服务将进一步提升我们系统的整体性能和用户体验。

第2.5 阶段,如何使用AWS Elemental MediaConvert处理直播流

这算是一个过渡阶段,主要单独解决一下编码问题。
AWS Elemental MediaConvert是一种基于文件的视频处理服务,主要用于将视频内容转码为适合多屏幕和广播的格式。虽然MediaConvert主要用于按需内容的转码,但它也可以在直播工作流中发挥作用,特别是与其他AWS媒体服务结合使用。以下是如何使用AWS Elemental MediaConvert处理直播流的详细步骤:

1. 设置直播流输入

使用HLS输入

AWS Elemental MediaConvert现在支持将HLS(HTTP Live Streaming)数据包作为输入。这意味着您可以将实时流式传输内容作为输入,进行转码和处理。

  1. 创建HLS流:使用直播编码器(如AWS Elemental MediaLive)生成HLS流。MediaLive可以实时压缩和格式化视频内容,并将其输出为HLS格式。
  2. 配置HLS输入:在MediaConvert中配置一个作业,选择HLS流作为输入源。

图片[5]-任何公司都可借助Aws亚马逊云科技搭建高转化的自研直播间 - NowX 游读社-NowX 游读社

2. 配置转码作业

创建转码模板

  1. 选择输入:在MediaConvert控制台中,创建一个新作业并选择您的HLS流作为输入。
  2. 设置输出格式:配置输出格式和设置,例如MP4、MOV、MXF等。您可以选择不同的分辨率和比特率,以适应不同的设备和网络条件。
  3. 高级设置:使用高级设置,如质量定义的可变比特率(QVBR)和HDR支持,以确保高质量的视频输出

第三阶段,输出和分发

3.1使用Amazon CloudFront进行分发

  1. 存储输出:将转码后的内容存储在Amazon S3中。
  2. 配置CloudFront:创建一个CloudFront分发,选择S3存储桶作为源。CloudFront将帮助您将内容分发到全球各地的观众,提供低延迟和高吞吐量的体验。

3.2获取CloudFront分发域名

  1. 获取域名:在CloudFront控制台中,找到创建的分发并复制其域名。
  2. 访问视频流:使用CloudFront分发的域名,通过HLS播放器(如Video.js或JW Player)访问和播放实时视频流。

配置示例

Origin Domain: mediastore-example.mediastore.amazonaws.com Origin Path: /live-stream Cache Behavior: Path Pattern: *.m3u8 Viewer Protocol Policy: Redirect HTTP to HTTPS Allowed HTTP Methods: GET, HEAD Cache Based on Selected Request Headers: None Object Caching: Use Origin Cache Headers

HLS播放器示例

<video id=”video” controls> <source src=”https://d1234567890.cloudfront.net/live-stream/index.m3u8″ type=”application/x-mpegURL”> </video> <script> var video = document.getElementById(‘video’); if (Hls.isSupported()) { var hls = new Hls(); hls.loadSource(‘https://d1234567890.cloudfront.net/live-stream/index.m3u8’); hls.attachMedia(video); } </script>

通过这些步骤,您可以使用Amazon CloudFront分发的域名实时传输视频流,实现高效、低延迟的直播体验

3.3 使用AWS Elemental MediaTailor实时直播频道组装

AWS Elemental MediaTailor可以从HLS、DASH或CMAF打包源组装直播频道。您可以将MediaConvert生成的内容与MediaTailor结合使用,以创建和管理实时直播频道

第四阶段,基础的域名、身份验证和安全配置

注册域名和配置域名,本来不需要太多介绍,对于大多数站长而言,这都属于基础操作。这里需要注意的是配置 dns,创建一个CNAME记录,将您的自定义域名指向CloudFront分发的域名。例如,如果CloudFront分发的域名是 d1234567890.cloudfront.net,您可以创建一个CNAME记录,将 live.yourdomain.com 指向 d1234567890.cloudfront.net

4.1 安全和访问控制

使用源访问身份(OAI)

  1. 创建OAI:在CloudFront控制台中,创建一个源访问身份(OAI),以限制直接访问MediaStore或S3存储桶的内容。
  2. 配置OAI:将OAI与CloudFront分发关联,确保只有通过CloudFront才能访问视频内容。

图片[6]-任何公司都可借助Aws亚马逊云科技搭建高转化的自研直播间 - NowX 游读社-NowX 游读社

第五阶段,使用AWS Elemental MediaTailor进行广告插入和个性化内容

其实,我想实现的个性化还是比较丰富的。
  1. 创建MediaTailor配置

    • 在AWS Elemental MediaTailor中,创建一个配置,设置广告插入规则和个性化内容策略。

  2. 集成MediaTailor与CloudFront

    • 将MediaTailor配置与CloudFront分发集成,确保个性化内容和广告插入在边缘节点上处理。

通过这些步骤,您可以利用AWS的强大功能,搭建一个专属于您的直播间,并确保只有特定ID的用户能够访问直播链接,同时支持根据需求进行个性化定制。

图片[7]-任何公司都可借助Aws亚马逊云科技搭建高转化的自研直播间 - NowX 游读社-NowX 游读社

此外,为了能够管控还需要域名和obs
要将您的自定义域名关联到AWS服务,让用户通过访问您的域名进入直播间,您需要按照以下步骤进行操作:

配置OBS

  1. 下载并安装OBS:从OBS官网(obsproject.com)下载并安装OBS。

  2. 创建场景和来源:在OBS中创建一个新的场景,并添加视频捕获设备、显示器捕获或其他来源。

  3. 设置推流参数

    • 打开OBS,点击右下角的“设置”按钮。

    • 在设置窗口中,选择“推流”选项卡。

    • 服务选择“自定义”,并输入AWS Elemental MediaLive提供的RTMP推流URL和流密钥。

图片[8]-任何公司都可借助Aws亚马逊云科技搭建高转化的自研直播间 - NowX 游读社-NowX 游读社

© 版权声明
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容