ard-sample/src/main/java/com/ard/sample/manage/service/impl/LiveStreamServiceImpl.java
@@ -125,10 +125,6 @@ String protocol = mediamtxConfig.isHttps() ? "https://" : "http://"; String webrtcUrl = protocol + mediamtxConfig.getPlayHost() + ":8889" + "/" + name; // 拼接 webrtcUrl live.setRtmpUrl(rtmpUrl); live.setRtspUrl(rtspUrl); live.setWebrtcUrl(webrtcUrl); // 如果没有,插入新的记录 ArdVtdu vtdu = ArdVtdu.builder().name(name).rtspSource("publisher").rtspUrl(rtspUrl).rtmpUrl(rtmpUrl).webrtcUrl(webrtcUrl).build(); int i = ardVtduService.insertArdVtdu(vtdu); // 保存到媒体表 ard-vtdu/src/main/java/com/ard/vtdu/service/impl/ArdArdMediaServiceImpl.java
@@ -63,11 +63,11 @@ conf.setMaxReaders(100); conf.setSourceProtocol("tcp"); if (!checkNameExist(ardVtdu.getName())) { mediaClient.addPath(ardVtdu.getName(), conf); } else { mediaClient.editPath(ardVtdu.getName(), conf); if (checkNameExist(ardVtdu.getName())) { mediaClient.removePath(ardVtdu.getName()); } mediaClient.addPath(ardVtdu.getName(), conf); ardVtdu.setCameraId(ardVtdu.getName().split("_")[0]); ardVtdu.setRtspUrl(rtspUrl); ardVtdu.setRtmpUrl(rtmpUrl); ard-work/src/main/java/com/ard/work/component/forest/TokenInterceptor.java
@@ -3,6 +3,7 @@ import com.ard.work.domain.receiver.AccessTokenReceiver; import com.ard.work.service.IArdServerInfoService; import com.dtflys.forest.http.ForestRequest; import com.dtflys.forest.interceptor.ForestInterceptor; import com.dtflys.forest.interceptor.Interceptor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @@ -10,7 +11,7 @@ @Component @Slf4j public class TokenInterceptor<T> implements Interceptor<T> { public class TokenInterceptor implements ForestInterceptor { @Resource private IArdServerInfoService ardServerService; @@ -21,11 +22,19 @@ */ @Override public boolean beforeExecute(ForestRequest req) { log.debug("invoke Simple beforeExecute"); try { String serverId = (String) req.getVariableValue("serverId"); AccessTokenReceiver accessToken = ardServerService.getAccessToken(serverId); if (accessToken == null) { log.warn("AccessToken 为 null, serverId={}", serverId); return false; // 阻止请求继续 } req.addHeader("x-cid", accessToken.getCompanyId()); req.addHeader("x-token", accessToken.getAccessToken()); return true; // 继续执行请求返回true } catch (Exception e) { log.error("TokenInterceptor 处理异常:{}", e.getMessage()); return false; } return true; } }