今天,我非常兴奋地向大家介绍新的亚马逊互动视频服务,它允许您将直播视频直接添加到您自己的应用程序和网站中。如果您和我一样,您会被团队将交互式、低延迟、实时视频集成到应用程序中的简单性所震撼。
该服务允许您使用Amazon交互式视频服务(IVS)控制台或API创建频道。然后,您可以使用任何标准的流媒体软件将视频流式传输到此频道,该服务会提供所有所需的功能,使世界各地的任何观众都能收看到直播视频。该服务包含一个播放器SDK,可以直接将直播视频集成到您的Web、iOS或Android项目中。
我想,如果这项服务的功能到此为止,我会对它印象深刻,但团队真的走了更远的路,增加了两个关键功能,我认为这项服务是独一无二的。
首先,视频是低延迟的,这意味着从你播放到视频出现在你的观众屏幕上的时间可以低至2-3秒。低延迟至关重要,因为这项服务旨在帮助您构建交互式实时应用程序,而这只有在延迟最小的情况下才有可能实现。
其次,团队添加了随视频一起发送定时元数据的功能,这样您就可以在应用程序中的实况流的关键点触发事件。因此,例如,您可以发送一个事件,表示实时投票已打开,您的应用程序可以做出响应,并允许观众在投票中与直播视频一起投票。
这两个功能的结合意味着您可以在自己的网站和应用程序上建立体验,与观众建立更有价值的关系。例如,如果您正在直播产品发布会,则可以同步要在视频中显示新产品时显示的其他产品信息。你甚至可以显示一个立即购买按钮,允许观众在直播中购买他们当时正在观看的确切产品。
在过去的几个月里,我一直在Twitch.tv上直播测验,这项新服务让我想,我可以直接在我的网站上建立一个更个性化、更集成的版本。让我向您展示如何通过转到Amazon IVS控制台并创建一个频道来创建类似的内容。
在Amazon IVS控制台的第一个屏幕上,我看到一个名为Create Channel的按钮,我点击此按钮开始创建我的频道。
我给我的频道命名,并选择默认配置,这意味着我想要全高清视频,我想要低延迟。然后,我单击底部的“创建频道”按钮。
几秒钟后,我收到一条消息,说频道创建成功。在屏幕上,有一个快速入门部分,解释了如何配置我用来流式传输视频的计算机或设备。
在同一屏幕上,您可以看到一些流配置信息。摄取服务器和流密钥是我开始向该服务发送视频所需的两条信息。
我使用一个名为XSplit Broadcast的软件包进行所有的在线流媒体播放,但是接下来的几个步骤在您使用的任何广播软件中都是相似的。我设置了一个新的输出,并选择了自定义RTMPS。
在新RTMPS输出的属性屏幕中,我添加了名称和描述。我添加了从控制台的Stream Configuration部分复制的RTMPS URL。我还将Stream Key添加到Stream Name文本框(这在不同的软件中称为不同的内容,因此您应该查看广播软件的文档以找出应该在何处添加Stream Key)。
现在我已经配置了输出,现在可以广播到新的自定义RTMPS输出。在幕后,该软件开始将视频和音频流式传输到亚马逊互动视频服务(Amazon Interactive Video Service)。
回到控制台,在Live stream部分,您现在应该看到您的实时视频出现在控制台中。根据我的经验,视频需要几秒钟的时间才能开始流媒体。
要将此直播视频添加到网站,我需要使用播放器SDK。在控制台的播放器配置链接部分,我可以看到一个新的播放URL,我需要这个来配置播放器来播放我的视频。
构建此服务的团队在Codesen上创建了一个非常棒的示例项目,我将对其进行修改以测试我的视频并创建我的测验。本例使用JavaScript player SDK,要播放我的视频,只需将playbackUrl变量设置为指向我新创建的播放URL。一旦我这样做了,我的视频流就会出现在网页上。
这个示例项目有一些代码,用于处理我在前面提到的实时元数据功能。基本上,当我向服务发送元数据时,它会将其作为事件转发给播放器SDK。然后我就可以处理这个事件,用它做一些令人兴奋的事情。在本例中,我添加了一个事件侦听器来侦听PlayerEventType.TEXT_METADATA_CUE事件,然后使用传递给我的函数的Tcue对象来显示一些屏幕上的HTML按钮,这些按钮允许用户在我的投票中投票。
在广播期间的任何时候,我都可以使用PutMetadata API将元数据发送到我的频道。例如,如果我使用AWS CLI发送以下命令,则数据将被发送到服务,几秒钟后,将在我的JavaScript代码中引发PlayerEventType.TEXT_METADATA_CUE事件。
有效负载=';{";问题";:";杰夫·巴尔在亚马逊开通博客的年份?";,";答案";:[";1992";,";2004";,";2008";,";2015";],";更正索引";:1}';AWS IVS PUT-METADATA--CHANNEL-ARN arn:aws:ivs:us-west-2:365489315573:channel/XBoZcusef81m--METADATA";$Payload";--Region US-WEST-2。
正如您在下面的投票中看到的那样,HTML元素显示为实况视频顶部的覆盖层,用户可以与其交互并在我的投票中投票。
亚马逊互动视频服务(Amazon IVS)根据输入到Amazon IVS的视频总时长和提供给您的观众的视频输出总时长进行现收现付定价。您可以在产品页面的定价部分更深入地挖掘典型成本。
Amazon IVS控制台和API目前在欧洲(爱尔兰)、美国东部(弗吉尼亚州北部)和美国西部(俄勒冈州)地区发售。您将需要使用其中一个区域来创建和修改您的频道,但是,全球各地都可以通过针对实时视频进行优化的托管基础设施网络进行视频接收和交付。请查看常见问题解答,了解有关服务全球覆盖范围的更多详细信息。
我希望你和我一样喜欢这项服务。我迫不及待地想看看你要用它建造什么。
--马丁