Commit 1ec70660c687aa1da5812045009a8337981c59c8
Committed by
GitHub
Merge pull request #3 from lawrencehj/master
修改jar包编译版本,修正播放获取流编码信息的代码
Showing
3 changed files
with
9 additions
and
4 deletions
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); |