RTMP动态地址生成方案
RTMP推流地址生成方案
1,获取时间的HTTP API
方法
GET
格式:
http://[domain_name]/?cmd=gettime
返回值:
2017/03/07 03:11:11
参数说明
domain_name 是指服务器的URL
cmd=gettime 表示获取时间
举例
请求
http://api.v.wanglitiaoyi.cn/?cmd=gettime
返回
2017/03/17 10:30:59
2, 获取推流地址
方法
GET
格式
http://[domain_name]/?cmd=geturl&sid=xxx&stream=main&authkey=[md5(md5(md5(sid+ymdh)))]
返回值
ok:[推流URL] <br/>playurl: [预览播放URL]
error:[errno]
参数说明
domain_name: 服务器URL
cmd=geturl 表示获取推流地址
sid=xxx xxx为摄像机序列号(摄像机自动获取)
stream=main main为主码流,否则为子码流
authkey= sid+ymdh的三次MD5值计算字符串
ymdh 产生的时间格式为 2017031715
年份为完整形式,时间为24小时制
举例
请求
http://api.v.wanglitiaoyi.cn/% ... 78f53
返回值
ok:rtmp://www1.qidun.cc/live/1231231231_main
playurl:http://test.qidun.cn/show/1231231231
或者
error:1101
错误号定义
1100 无效的设备序列号
1101 验证出错
1102 已过期(针对逾期用户).
1103 其它错误码
web服务器状态返回测试
测试工具:(见附件SocketTest.exe)
测试代码:
GET /?cmd=gettime HTTP/1.1注意:api.v.wanglitiaoyi.cn换成您自己的host
Accept: */*
Accept-Language: zh-cn
User-Agent: Mozilla/4.0
Accept-Encoding: identity
Host: api.v.wanglitiaoyi.cn
Connection: Keep-Alive
若能返回类似如下代码即代表成功
HTTP/1.1 200 OK软件成功返回截图:
Date: Fri, 05 Jan 2018 03:29:01 GMT
Server: Apache/2.2.15 (CentOS)
X-Powered-By: PHP/5.6.21
Vary: Accept-Encoding
Content-Length: 19
Connection: close
Content-Type: text/html; charset=UTF-8
2018/01/05 11:29:01
如果返回内容有其他字符,检查服务器配置,关闭transfer-encoding
自主搭建动态获取推流地址服务器,demo(php版)参考附件
api.v.wanglitiaoyi.cn