媒体转码的转码任务是异步的接口,提交转码任务后,可以通过消息通知功能,接收转码任务结果。
详细说明参见:【点此查看】
由于目前消息接受URI必须为/notifacations,所以如果使用php处理消息的话,需要在web服务器上配置rewite。
以nginx为例,需要在配置中添加红色的一行,(revive_msg.php为实际接收转码任务消息的php页面)
server { listen 80; server_name localhost; index index.html index.htm index.php; root /www/php; ssi on; ssi_silent_errors on; ssi_types text/shtml; rewrite "^/notifications$" /revive_msg.php break; location ~ ..(php|php5)?$ { #fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; } location ~ ..(gif|jpg|jpeg|png|bmp|swf|exe)$ { expires 30d; } location ~ ..(js|css)?$ { expires 1h; } location ~ ..(txt)?$ { add_header Cache-Control no-cache; }
修改后,重启nginx是配置生效,这样当消息推送到/notifacations时,实际会由revive_msg.php进行处理。
附 消息处理的php代码:
//$xml = $HTTP_RAW_POST_DATA;
$xml = $GLOBALS['HTTP_RAW_POST_DATA'];
//将xml数据写入文本文件"msg.txt"中,实际处理时,可以解析XML后根据任务执行结果进行后续的处理
$handle = fopen('msg.txt','a+');
fwrite($handle,$xml);
//返回状态必须为204,不能是200或其他的状态码,否则会认为消息推送失败
http_response_code(204);
?>
如果问题还未能解决,请联系售后技术支持。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。