如何在你的直播中使用Webhooks

 

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

这里有一个简单的例子:

您需要知道流记录何时完成上传并可用于播放. 而不是轮询API以获取更新, 一个webhook通知系统将提醒您录制已成功处理并准备就绪. 除了, Webhook通知提醒您不希望发生的事件,并允许您快速排除故障. 例如, 您可能会收到流录制失败的通知, 允许您快速排除问题.

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

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

  1. 创建一个webhook端点和唯一URL.
  2. 在巴黎人官方App下载视频仪表盘的webhook部分输入该URL.
  3. 选择希望收到通知的事件类型.

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

 

创建一个Webhook通知系统

接收事件通知, 你首先需要为你的巴黎人官方App下载视频账户启用webhook,并创建一个webhook端点来接收通知.

 

A. 创建Webhook端点

你的webhook端点将有一个关联的公共URL, 巴黎人官方App下载视频可以向它发送通知. 在本教程中,巴黎人官方App将使用webhook侦听器 http://webhook.网站 生成一个免费的、唯一的测试URL.

1. 开放 http://webhook.网站. 您不需要为测试创建付费帐户.

2. 找到主页上提供的唯一URL. 在接下来的步骤中,您将复制并粘贴到巴黎人官方App下载视频中.

截图显示了在http://webhook中生成的唯一webhook URL.网站/

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

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

 

B. 在巴黎人官方App下载视频中启用Webhooks

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

在巴黎人官方App下载视频中找到“帐户设置”的截图

2. 在 集成 页,单击 启用 打开Webhooks页面.

屏幕截图显示在巴黎人官方App下载视频仪表板的集成页面上找到“启用”选项卡的位置.

3. 接下来,您必须检查 启用 盒子.

在巴黎人官方App下载视频中配置Webhook集成时如何勾选“启用”的截图.

4. 在 你的Webhook URL 字段,输入要发送webhook通知的URL. 这是您创建的webhook端点的URL 一个节 以上.

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

如果您选择此选项, 确保你的webhook端点配置为身份验证,因为巴黎人官方App下载视频在授权头中发送基本的身份验证凭据.

 

Webhook载荷

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

 

示例webhook有效负载

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

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

 
信封的关键描述
版本巴黎人官方App下载 webhook信封的版本.
事件由对象触发的事件. 看到 转码器和直播记录 获取完整事件列表的表.
事件_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下载视频中启用webhook之后, 了解以下内容可能会有所帮助:

 

代码转换器的事件

巴黎人官方App下载视频为转码器动作发送事件通知. 的 object_id webhook有效负载中的转码器ID.

注意: 这些事件是为实时流和转码器工作流中的转码器操作触发的.

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

 
事件 样本有效载荷 描述
video.开始
{
  “版本”:“1.0",
  “事件”:“视频.开始”,
  :“事件_id e0e3e832 - ac5d - 41 - b5 - 9453 d60ff14e5010”,
  “事件_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”
  }

看到 POST /转换器已经补丁/转换器已经[ID]POST / live_streams补丁/ live_streams /[ID] 了解更多信息.

 

记录事件

巴黎人官方App下载视频为录制活动发送webhook通知. 的 object_id 有效载荷中的记录ID. 如前所述, 当预期的流操作失败时,事件通知可能是有益的.

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

 
事件 样本有效载荷 描述
失败的
{
  “版本”:“1.0",
  “事件”:“失败”,
  :“事件_id nxf71a9c - 5716 - 4 - a91 - 8179 - 8 a0e131fd8b0”,
  “事件_time”:1621437110.6554534,
  “object_type”:“记录”,
  :“object_id gVkjkJfS”,
  " object_data ": {
    :“transcoder_id b3hjs7ty”,
    :“transcoder_uptime_id blc5grjh”,
    :“原因_code recording_too_long”,
    "原因": "记录转换失败: 
已经跑了45分钟了 
(45.31778333333333分钟),文件大小为 
仍然是0,正在为 
Wse_recording_id: 31255,转码器id 
397800",
}
转换或上传录音失败时发生. Object_data包括一个原因_code和一个失败的描述性原因字符串.   如果文件不能转换为mp4,则原因_code可以是以下任意一种:  
  • con版本_失败的
  • recording_too_long
如果mp4已损坏,则原因_code可以是以下任意一种:  
  • invalid_mp4
  • invalid_mp4_stsd
注意: STSD =样本描述框
 

注意,除了a 原因代码,有效载荷提供了详细的 原因 为了更准确和有效地排除故障,为什么记录失败.

 

Webhooks和故障排除

总之, webhooks即时提醒您的事件,因为他们发生在您的巴黎人官方App下载视频帐户, 包括未按预期执行的操作. 因为webhooks只意味着向您推送事件警报, 它们可能并不总是提供故障排除所需的额外细节. 在这些情况下, 您可以采取以下几个步骤来尝试纠正问题或收集更多信息:

 

结论

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

 

额外的资源:

有关如何在巴黎人官方App下载视频中配置webhook的更多信息, 请查看巴黎人官方App的文档.

如果您没有巴黎人官方App下载视频帐户,巴黎人官方App提供免费的 30天试验 没有信用卡,也没有债务. 您也可以购买license 在这里.  如果你现在是巴黎人官方App下载流媒体引擎的客户,并且想知道视频是否适合你, 巴黎人官方App提供 免费1小时技术咨询 与解决方案工程师一起评估您的工作流程.

 

增加力量是巴黎人官方App下载 Media Systems的开发者社区经理. 热衷于与开发社区建立关系, Rose致力于为建立在信任基础上的积极用户体验提供优质资源. 不工作时, 你会发现她在火堆旁弹着尤克里里琴,或者带着她的小狗在科罗拉多的山上远足.

类别