MCT/VOD/LSS/DOC通知接口的使用 置顶
高老师 · 高老师 发布于2016-07-07 17:36 浏览:6149 回复:18

在使用MCT转码、VOD点播和LSS直播以及DOC文档转码时,可以通过通知接口来获取直播会话的一些状态回调;


主要有两个场景:

1、当MCT、DOC转码任务、VOD媒资处理以及LSS直播会话状态变化时,MCT、DOC、VOD、LSS服务端可以向这个通知接口POST一个消息,当通知接口获取到这个通知消息后,应用层相应的操作;


2、LSS录制文件生成时,我想知道这个录制文件的位置信息,如果是录制到BOS,我可以通过通知接口获取录制文件所存放的BOS路径,如果是录制到VOD,我可以通过通知接口获取录制文件的mediaId,从而做更多的操作;


通知接口的原理:开通一个公网可访问的HTTP接口,能够被MCT、VOD、LSS服务访问到,并且能够接受POST消息。


为什么使用通知接口:因为MCT、DOC转码任务、VOD媒资处理、LSS直播录制等这些任务都是异步的操作,如果使用同步的方式会大大降低并发处理能力,所以采用通知接口这种回调方式来处理;


简单介绍一下使用方法:

首先需要一个web server,运行一个通知接口用于接收HTTP POST消息,这个接口可以是任意语言编写的;

下面是一个php编写的示例:该示例通过接收LSS服务发送过来的POST消息后,向同级目录的post.log文件中写入接收到的POST消息;

使用说明:需要在该页面同级目录创建一个post.log文件记录接收的POST消息,并且该文件需要有被http进程写入的权
例如:-rw-rw---- 1 apache apache 479 6月 23 16:02 post.log


演示代码正文如下:

# cat /var/www/html/notification.php 


header("Content-type:text/html;charset=utf-8"); 

$data = file_get_contents('php://input'); 

$log = urldecode($data);

$logfile = fopen("post.log", "a") or die("Unable to open file!");

fwrite($logfile, $log);

fclose($logfile);


?>


那么我如何在LSS中使用该接口呢?

创建LSS直播会话时,指定该接口地址即可,比如我的这个通知消息的php页面地址是http://www.xxx.cn/notification.php,那么我在创建会话的时候,指定向这个接口发送消息。



创建完成后,我可以使用tail -f post.log查看我收到的并写入post.log文件的消息:


# tail -f /var/www/html/post.log 


会话状态改变的消息:


录制到VOD文件生成发布的消息:


我获取到这些通知回调信息后,就可以做一些自动化的工作,比如自动生成点播播放页面等,具体的这些回调信息感兴趣的可以自己慢慢研究,不多说;


同样的,在MCT、VOD中也有相应的通知接口,使用方法是类似的。




点赞  ( 2 )
收藏
评论(18)
共18条回复 最后由edwin回复于2017-07-29 23:59
#4静水流深回复于2016-08-09 17:07:45

高老师给力

0
#5coding回复于2016-08-22 10:11:55

棒棒哒

0
#6高老师回复于2016-08-23 10:59:04
#5 coding回复
棒棒哒

棒棒哒

0
#7coding回复于2016-08-23 11:16:25
#6 高老师回复
棒棒哒

 原来是这样!

   感谢高老师的解决方案!

 

0
#8爱音斯坦回复于2016-08-23 11:32:48

高老师,你好。

我们是开放云的用户

想咨询一下MCT服务器端的通知接口如何配置呢?

0
#9高老师回复于2016-08-23 11:44:05
#8 爱音斯坦回复
高老师,你好。 我们是开放云的用户 想咨询一下MCT服务器端的通知接口如何配置呢?

棒棒哒

0
#10爱音斯坦回复于2016-08-23 17:44:24
#9 高老师回复
棒棒哒

棒棒哒

0
#11coding回复于2016-08-23 18:15:35
#6 高老师回复
棒棒哒

棒棒哒

0
#12elvinlee回复于2016-09-26 17:56:06

棒棒哒

0
#14caiju回复于2016-10-19 23:15:07

棒棒哒

1
TOP