From f8fe76add24fc2a26449c6b4007a303decb46d99 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期六, 27 三月 2021 13:56:56 +0800
Subject: [PATCH] Merge pull request #74 from lawrencehj/wvp-28181-2.0
---
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRTPServerFactory.java | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 56 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRTPServerFactory.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRTPServerFactory.java
index a556ba7..1f1693d 100644
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRTPServerFactory.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRTPServerFactory.java
@@ -105,7 +105,7 @@
* @param tcp 鏄惁涓簍cp
* @return SendRtpItem
*/
- public SendRtpItem createSendRtpItem(String ip, int port, String ssrc, String platformId, String channelId, boolean tcp){
+ public SendRtpItem createSendRtpItem(String ip, int port, String ssrc, String platformId, String deviceId, String channelId, boolean tcp){
String playSsrc = SsrcUtil.getPlaySsrc();
int localPort = createRTPServer(SsrcUtil.getPlaySsrc());
if (localPort != -1) {
@@ -119,9 +119,64 @@
sendRtpItem.setPort(port);
sendRtpItem.setSsrc(ssrc);
sendRtpItem.setPlatformId(platformId);
+ sendRtpItem.setDeviceId(deviceId);
sendRtpItem.setChannelId(channelId);
sendRtpItem.setTcp(tcp);
sendRtpItem.setLocalPort(localPort);
return sendRtpItem;
}
+
+ /**
+ * 璋冪敤zlm RESTful API 鈥斺�� startSendRtp
+ */
+ public Boolean startSendRtpStream(Map<String, Object>param) {
+ Boolean result = false;
+ JSONObject jsonObject = zlmresTfulUtils.startSendRtp(param);
+ System.out.println(jsonObject);
+ if (jsonObject == null) {
+ logger.error("RTP鎺ㄦ祦澶辫触: 璇锋鏌LM鏈嶅姟");
+ } else if (jsonObject.getInteger("code") == 0) {
+ result= true;
+ logger.error("RTP鎺ㄦ祦璇锋眰鎴愬姛锛屾湰鍦版帹娴佺鍙o細" + jsonObject.getString("local_port"));
+ } else {
+ logger.error("RTP鎺ㄦ祦澶辫触: " + jsonObject.getString("msg"));
+ }
+ return result;
+ }
+
+ /**
+ * 鏌ヨ寰呰浆鎺ㄧ殑娴佹槸鍚﹀氨缁�
+ */
+ public Boolean isRtpReady(String streamId) {
+ JSONObject mediaInfo = zlmresTfulUtils.getMediaInfo("rtp", "rtmp", streamId);
+ return (mediaInfo.getInteger("code") == 0 && mediaInfo.getBoolean("online"));
+ }
+
+ /**
+ * 鏌ヨ杞帹鐨勬祦鏄惁鏈夊叾瀹冭鐪嬭��
+ * @param streamId
+ * @return
+ */
+ public int totalReaderCount(String streamId) {
+ JSONObject mediaInfo = zlmresTfulUtils.getMediaInfo("rtp", "rtmp", streamId);
+ return mediaInfo.getInteger("totalReaderCount");
+ }
+
+ /**
+ * 璋冪敤zlm RESTful API 鈥斺�� stopSendRtp
+ */
+ public Boolean stopSendRtpStream(Map<String, Object>param) {
+ Boolean result = false;
+ JSONObject jsonObject = zlmresTfulUtils.stopSendRtp(param);
+ System.out.println(jsonObject);
+ if (jsonObject == null) {
+ logger.error("鍋滄RTP鎺ㄦ祦澶辫触: 璇锋鏌LM鏈嶅姟");
+ } else if (jsonObject.getInteger("code") == 0) {
+ result= true;
+ logger.error("鍋滄RTP鎺ㄦ祦鎴愬姛");
+ } else {
+ logger.error("鍋滄RTP鎺ㄦ祦澶辫触: " + jsonObject.getString("msg"));
+ }
+ return result;
+ }
}
--
Gitblit v1.8.0