From ad36354ef46a31f24b2583263f575d6736c0ad28 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 05 十二月 2023 11:29:05 +0800
Subject: [PATCH] 优化国标录像服务端,使用zlm新接口实现功能

---
 src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java |   16 +++++++++++++---
 1 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
index bb15414..3bf9505 100755
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
@@ -275,7 +275,7 @@
         List<SsrcTransaction> ssrcTransactionForAll = sessionManager.getSsrcTransactionForAll(null, null, null, param.getStream());
         if (ssrcTransactionForAll != null && ssrcTransactionForAll.size() == 1) {
 
-            // 涓哄綍鍒跺浗鏍囨ā鎷熶竴涓壌鏉冧俊鎭�
+            // 涓哄綍鍒跺浗鏍囨ā鎷熶竴涓壌鏉冧俊鎭�, 鏂逛究鍚庣画鍐欏叆褰曞儚鏂囦欢鏃朵娇鐢�
             StreamAuthorityInfo streamAuthorityInfo = StreamAuthorityInfo.getInstanceByHook(param);
             streamAuthorityInfo.setApp(param.getApp());
             streamAuthorityInfo.setStream(ssrcTransactionForAll.get(0).getStream());
@@ -291,8 +291,18 @@
             }
             // 濡傛灉鏄綍鍍忎笅杞藉氨璁剧疆瑙嗛闂撮殧鍗佺
             if (ssrcTransactionForAll.get(0).getType() == InviteSessionType.DOWNLOAD) {
-                result.setMp4_max_second(30);
-                result.setEnable_mp4(true);
+                // 鑾峰彇褰曞儚鐨勬�绘椂闀匡紝鐒跺悗璁剧疆涓鸿繖涓棰戠殑鏃堕暱
+                InviteInfo inviteInfo = inviteStreamService.getInviteInfo(InviteSessionType.DOWNLOAD, deviceId, channelId, param.getStream());
+                if (inviteInfo.getStreamInfo() != null ) {
+                    String startTime = inviteInfo.getStreamInfo().getStartTime();
+                    String endTime = inviteInfo.getStreamInfo().getEndTime();
+                    long difference = DateUtil.getDifference(startTime, endTime)/1000;
+                    result.setMp4_max_second((int)difference);
+                    result.setEnable_mp4(true);
+                    // 璁剧疆涓�2淇濊瘉寰楀埌鐨刴p4鐨勬椂闀挎槸姝e父鐨�
+                    result.setModify_stamp(2);
+                }
+
             }
         }
         if (param.getApp().equalsIgnoreCase("rtp")) {

--
Gitblit v1.8.0