Commit 1ec70660c687aa1da5812045009a8337981c59c8

Authored by 648540858
Committed by GitHub
2 parents 6e8cc24e 2fe9e519

Merge pull request #3 from lawrencehj/master

修改jar包编译版本,修正播放获取流编码信息的代码
README.md
1 # wvp 1 # wvp
2 WEB VIDEO PLATFORM是一个基于GB28181-2016标准实现的网络视频平台,负责实现核心信令与设备管理后台部分,支持NAT穿透,支持海康、大华、宇视等品牌的IPC、NVR、DVR接入。 2 WEB VIDEO PLATFORM是一个基于GB28181-2016标准实现的网络视频平台,负责实现核心信令与设备管理后台部分,支持NAT穿透,支持海康、大华、宇视等品牌的IPC、NVR、DVR接入。
3 -流媒体服务基于ZLMediaKit-https://github.com/xiongziliang/ZLMediaKit 3 +流媒体服务基于ZLMediaKit-https://github.com/xiongziliang/ZLMediaKit
4 前段页面基于MediaServerUI进行修改. 4 前段页面基于MediaServerUI进行修改.
5 5
6 # 应用场景: 6 # 应用场景:
@@ -34,12 +34,13 @@ WEB VIDEO PLATFORM是一个基于GB28181-2016标准实现的网络视频平台 @@ -34,12 +34,13 @@ WEB VIDEO PLATFORM是一个基于GB28181-2016标准实现的网络视频平台
34 7. 支持通道子目录查询; 34 7. 支持通道子目录查询;
35 8. 支持udp/tcp国标流传输模式; 35 8. 支持udp/tcp国标流传输模式;
36 9. 支持直接输出RTSP、RTMP、HTTP-FLV、Websocket-FLV、HLS多种协议流地址 36 9. 支持直接输出RTSP、RTMP、HTTP-FLV、Websocket-FLV、HLS多种协议流地址
37 -10. 37 +10. 支持国标网络校时
  38 +
38 # 待实现: 39 # 待实现:
39 上级级联 40 上级级联
40 推流列表 41 推流列表
41 拉流列表 42 拉流列表
42 -web界面系统设置 43 +web界面系统设置
43 使用mysql作为数据库 44 使用mysql作为数据库
44 45
45 # 项目部署 46 # 项目部署
libs/jain-sip-ri-1.3.0-91.jar
No preview for this file type
src/main/java/com/genersoft/iot/vmp/vmanager/play/PlayController.java
@@ -66,19 +66,23 @@ public class PlayController { @@ -66,19 +66,23 @@ public class PlayController {
66 try { 66 try {
67 if (System.currentTimeMillis() - startTime > 30 * 1000) { 67 if (System.currentTimeMillis() - startTime > 30 * 1000) {
68 storager.stopPlay(streamInfo); 68 storager.stopPlay(streamInfo);
  69 + logger.info("播放等待超时");
69 return new ResponseEntity<String>("timeout",HttpStatus.OK); 70 return new ResponseEntity<String>("timeout",HttpStatus.OK);
70 }else { 71 }else {
71 streamInfo = storager.queryPlayByDevice(deviceId, channelId); 72 streamInfo = storager.queryPlayByDevice(deviceId, channelId);
72 JSONObject rtpInfo = zlmresTfulUtils.getRtpInfo(streamId); 73 JSONObject rtpInfo = zlmresTfulUtils.getRtpInfo(streamId);
73 if (rtpInfo != null && rtpInfo.getBoolean("exist") && streamInfo != null && streamInfo.getFlv() != null){ 74 if (rtpInfo != null && rtpInfo.getBoolean("exist") && streamInfo != null && streamInfo.getFlv() != null){
  75 + logger.info("RTP已推流,查询编码信息:"+streamInfo.getFlv());
  76 + Thread.sleep(2000);
74 JSONObject mediaInfo = zlmresTfulUtils.getMediaInfo("rtp", "rtmp", streamId); 77 JSONObject mediaInfo = zlmresTfulUtils.getMediaInfo("rtp", "rtmp", streamId);
75 if (mediaInfo.getInteger("code") == 0 && mediaInfo.getBoolean("online")) { 78 if (mediaInfo.getInteger("code") == 0 && mediaInfo.getBoolean("online")) {
76 lockFlag = false; 79 lockFlag = false;
  80 + logger.info("媒体编码信息已获取");
77 JSONArray tracks = mediaInfo.getJSONArray("tracks"); 81 JSONArray tracks = mediaInfo.getJSONArray("tracks");
78 streamInfo.setTracks(tracks); 82 streamInfo.setTracks(tracks);
79 storager.startPlay(streamInfo); 83 storager.startPlay(streamInfo);
80 }else { 84 }else {
81 - 85 + logger.info("媒体编码信息未获取,2秒后重试...");
82 } 86 }
83 }else { 87 }else {
84 Thread.sleep(2000); 88 Thread.sleep(2000);