如何使用网络钩子为您的直播流

2022年1月25日 by
 

网络钩子是一个非常强大的工具 流媒体视频 这可以为你节省大量的时间和资源. 如果你目前不使用网络钩子,想知道你是否应该使用, 当事件发生时,webhook会提醒你,并消除了反复查询API获取相同信息的需要. 一个API的类, 您可以通过一个称为“轮询”的过程请求新数据,但不断轮询API可能是一种浪费,因为它需要一定量的代码和带宽. 相反,你可以通过创建一个webhook通知系统来节省资源 巴黎人官方App下载流媒体云 当事件发生时立即通知你.

下面是一个简单的例子:

您需要知道一个流记录何时完成上传并可用于回放. 而不是轮询API进行更新, 一个webhook通知系统将提醒您的即时记录已成功处理和准备好. 除了, Webhook通知提醒你不需要的事件,并允许你快速排除故障. 例如, 您可能会收到流记录失败的通知, 允许您快速排除问题.

如果你是网络钩子的新手, 记住,它们只能通知你已经发生的事件, 所以有时候仍然需要使用API. 例如,如果您想要更改视频流,则需要使用API. 也有可能一个webhook通知可能不包含你需要的关于事件的所有数据, 但一个特定的API调用可以. overall, webhook仍然是您实时传输流数据的最佳选择,可以为您节省大量的时间和工作.

 为测试配置一个webhook警报系统很简单. 以下是基本步骤:

  1. 创建一个webhook端点和唯一的URL.
  2. 在巴黎人官方App下载流媒体云管理器的webhook部分输入该URL.
  3. 选择要通知的事件类型.

在这种情况下, webhook端点是巴黎人官方App下载流媒体云发送通知的目的地. 当巴黎人官方App配置webhook时, 巴黎人官方App指示流云发送通知到一个唯一的URL -这将在下面的步骤中进一步解释.

 

创建Webhook通知系统

接收事件通知, 你首先需要为你的流媒体云账户启用webhook,并创建一个webhook端点来接收通知.

 

A. 创建一个Webhook端点

你的webhook端点将有一个相关的公共URL, 巴黎人官方App下载流媒体云可以发送通知到. 在本教程中,巴黎人官方App将使用webhook监听器 http://webhook.site 生成一个免费的、唯一的测试URL.

1. open http://webhook.site. 您不需要为测试创建付费帐户.

2. 定位主页上提供的唯一URL. 在未来的步骤中,您将复制并粘贴到流云中.

一个屏幕截图显示一个独特的webhook URL生成在http://webhook.site /

3. 还将为您提供端点的唯一电子邮件地址,您可能希望保存该地址以备将来参考.

4. 的人.网站主页将在左侧导航窗格中显示一条消息,说明它是“等待第一个请求.这意味着它现在正在侦听来自流云的事件通知, 所以巴黎人官方App准备在巴黎人官方App的云账户中启用webhook.

 

B. 在流媒体云中启用Webhooks

1. 登录巴黎人官方App下载流媒体云, 单击菜单栏中用户名旁边的下拉箭头, 然后选择 帐户设置.

2. on the 集成 页面,点击 enable 选项卡为Webhook.

巴黎人官方App下载流媒体云集成页面的截图.

3. 接下来,你必须检查 enabled box.

这是巴黎人官方App下载流媒体云集成页面的另一个截图.

4. in the 独特的URL 字段,输入你想要webhook通知发送到的URL. 这是您创建的webhook端点的URL 一个节 above.

5. (可选)选择 使用基本身份验证 如果你的webhook端点需要POST请求认证, 然后输入端点所需的用户名和密码.

如果选择此选项, 确保你的webhook端点被配置为认证,因为巴黎人官方App下载流云在授权头发送基本的认证凭据.

 

Webhook载荷

当流云向您的端点发送事件发生通知时, 巴黎人官方App称之为 webhook载荷. 让巴黎人官方App看一个例子,看看当转码器停止时是什么样子.

 

样本webhook载荷

{
  “版本”:1.0,
  “事件”:“停止.完成”,
  :“event_id 9 be47e2a b5ff - 492 - a291 c7be79c060ba”,
  “event_time”:1588864470.813283,
  “object_type”:“代码转换器”,
  :“object_id pl3fff7q”,
  " object_data ": {
    “uptime_id”:7 cb5yfnx
  }
}
 

webhook的结构对于每个触发的事件都是一样的, 但是字段中提供的信息会根据触发的事件和触发事件的对象而变化. 在上面的JSON响应中,列出的键列表称为 webhook信封 每个信封密钥后面都有它的特定值.

 
信封的关键描述
版本巴黎人官方App下载网钩信封的版本.
对象触发的事件. 看到 转码器和实时流 and 记录 事件完整列表的表.
五_id标识此事件的特定实例的唯一ID. 你可以使用这个ID来进行内部跟踪,或者当你与巴黎人官方App下载巴黎人官方App下载交互时来解决问题.
五_time巴黎人官方App下载的webhook系统中事件被触发的时间(Unix epoch格式).
Object_type触发事件的对象类型. 有效值是转换器或记录.
Object_id触发该事件的对象的唯一ID. 对于转码器,object_id是转码器ID. 对于录音,object_id是录音ID. 你可以使用这些id来定位触发巴黎人官方App下载流媒体云事件的对象.
Object_data与触发网钩的对象和事件相关的数据.
 

在你创建了webhook端点并在流云中启用了webhook之后, 了解以下情况可能会有所帮助:

 

代码转换器的事件

巴黎人官方App下载流媒体云为转码器动作发送事件通知. the object_id 在网钩有效载荷中是转码器ID.

当时采用过note: 这些事件在实时流和转码器工作流中为转码器动作触发.

可以为转码器事件发送几种类型的通知. 在下面的例子中, 当转码器开始成功接收视频数据时,巴黎人官方App看到一个有效负载示例.

 
样本有效载荷 描述
video.started
{
  “版本”:“1.0",
  “事件”:“视频.开始”,
  :“event_id e0e3e832 - ac5d - 41 - b5 - 9453 d60ff14e5010”,
  “event_time”:1621437110.6554534,
  “object_type”:“代码转换器”,
  :“object_id vxbfbxwv”,
  " object_data ": {
    “stream_name”:“3920 b4c6.流”,
    “高度”:“720”,
    “宽度”:“1280”,
    “编解码器”:“H264”,
    :“codec_string avc1.4d402a",
    “简介”:“主要”,
    “级别”:“1.2",
    “reference_id”:“零”
}
当正在运行的转码器已开始接收视频时发生.
   

你可能会注意到在有效载荷响应的底部 reference_id 为空. 如果你想指定你自己的特定引用ID,版本1.巴黎人官方App下载流媒体云API的7个功能,允许你在JSON响应体的对象数据部分这样做. 例如,如果您希望您的参考id是 mySystemID_01, 这就是指定特定名称的地方.

设置后的data_object示例 reference_id:

" object_data ": {
    :“uptime_id jbfg6npg”,
    :“reference_id mySystemID_01”
  }

see POST /转换器已经补丁/转换器已经[ID]POST / live_streams, and 补丁/ live_streams /[ID] 的更多信息.

 

记录事件

巴黎人官方App下载流媒体云发送记录活动的webhook通知. the object_id 在有效载荷中是记录ID. 正如前面所提到的, 当预期的流操作不成功时,事件通知可能是有益的.

记录事件通知的完整列表可以在这里找到, 但是让巴黎人官方App检查一个失败记录的有效负载响应.

 
样本有效载荷 描述
失败
{
  “版本”:“1.0",
  “事件”:“失败”,
  :“event_id nxf71a9c - 5716 - 4 - a91 - 8179 - 8 a0e131fd8b0”,
  “event_time”:1621437110.6554534,
  “object_type”:“记录”,
  :“object_id gVkjkJfS”,
  " object_data ": {
    :“transcoder_id b3hjs7ty”,
    :“transcoder_uptime_id blc5grjh”,
    :“reason_code recording_too_long”,
    "reason": "记录转换失败: 
已经跑了45分钟了 
(45.31778333333333分钟)和文件大小是 
仍然是0,中止记录 
/ / / / / / / / 
397800",
}
当录音转换或上传失败时发生. Object_data包含失败的一个reason_code和一个描述性原因字符串.   如果文件不能转换为mp4, reason_code可以是以下任意一个:  
  • con版本_失败
  • recording_too_long
如果mp4损坏,reason_code可以是以下任意一种:  
  • invalid_mp4
  • invalid_mp4_stsd
当时采用过note: 示例描述框
 

注意,除了a 原因代码,有效载荷提供了详细的 reason 为什么录音失败,以便更准确、更有效地进行故障排除.

 

人则和故障排除

总之, webhook即时提醒您事件,因为他们发生在您的流云帐户, 包括没有按照预期执行的操作. 因为webhooks只是用来推送事件提醒给你的, 它们可能并不总是提供故障排除所需的额外细节. 在这些情况下, 这里有几个步骤,你可以尝试和纠正问题或收集更多的信息:

 

结论

巴黎人官方App下载流媒体云中配置webhook可以自动化和简化您的工作流程. 本教程简单演示了如何使用webhook通知进行测试, 但可以创建一个高级的webhook通知系统,直接链接到流云REST API. 这将使您的应用程序在接收到具有更具体需求的工作流的通知时能够响应这些通知. 如果你想要一些帮助来创造一个更先进的网钩系统,专家们 巴黎人官方App下载的专业服务 团队可以快速为您部署.

 

额外的资源:

更多关于如何在流媒体云中配置webhook的信息, 查看巴黎人官方App的文档.

如果你没有巴黎人官方App下载流媒体云帐户,巴黎人官方App提供免费 30天试验 没有信用卡,也没有债务. 您也可以购买license here.  对于那些现在是巴黎人官方App下载流媒体引擎客户的人来说,他们很好奇 迁移到巴黎人官方App下载流媒体云 也许适合你,巴黎人官方App提供 免费技术咨询1小时 与解决方案工程师评估您的工作流程.

 

关于玫瑰权力

增加力量是巴黎人官方App下载的开发者社区经理. 对与开发社区建立关系充满热情, Rose努力为建立在信任基础上的积极用户体验提供高质量的资源. 不工作的时候,可以找到她…… 查看更多