|  |  |  | 
|---|
|  |  |  | * @param tcp 是否为tcp | 
|---|
|  |  |  | * @return SendRtpItem | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public SendRtpItem createSendRtpItem(MediaServerItem serverItem, String ip, int port, String ssrc, String platformId, String deviceId, String channelId, boolean tcp){ | 
|---|
|  |  |  | public SendRtpItem createSendRtpItem(MediaServerItem serverItem, String ip, int port, String ssrc, String platformId, String deviceId, String channelId, boolean tcp, boolean rtcp){ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 默认为随机端口 | 
|---|
|  |  |  | int localPort = 0; | 
|---|
|  |  |  | 
|---|
|  |  |  | sendRtpItem.setDeviceId(deviceId); | 
|---|
|  |  |  | sendRtpItem.setChannelId(channelId); | 
|---|
|  |  |  | sendRtpItem.setTcp(tcp); | 
|---|
|  |  |  | sendRtpItem.setRtcp(rtcp); | 
|---|
|  |  |  | sendRtpItem.setApp("rtp"); | 
|---|
|  |  |  | sendRtpItem.setLocalPort(localPort); | 
|---|
|  |  |  | sendRtpItem.setServerId(userSetting.getServerId()); | 
|---|
|  |  |  | 
|---|
|  |  |  | * @param tcp 是否为tcp | 
|---|
|  |  |  | * @return SendRtpItem | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public SendRtpItem createSendRtpItem(MediaServerItem serverItem, String ip, int port, String ssrc, String platformId, String app, String stream, String channelId, boolean tcp){ | 
|---|
|  |  |  | public SendRtpItem createSendRtpItem(MediaServerItem serverItem, String ip, int port, String ssrc, String platformId, String app, String stream, String channelId, boolean tcp, boolean rtcp){ | 
|---|
|  |  |  | // 默认为随机端口 | 
|---|
|  |  |  | int localPort = 0; | 
|---|
|  |  |  | if (userSetting.getGbSendStreamStrict()) { | 
|---|
|  |  |  | 
|---|
|  |  |  | sendRtpItem.setLocalPort(localPort); | 
|---|
|  |  |  | sendRtpItem.setServerId(userSetting.getServerId()); | 
|---|
|  |  |  | sendRtpItem.setMediaServerId(serverItem.getId()); | 
|---|
|  |  |  | sendRtpItem.setRtcp(rtcp); | 
|---|
|  |  |  | return sendRtpItem; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | * 释放保持的端口 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public boolean releasePort(MediaServerItem serverItem, String ssrc) { | 
|---|
|  |  |  | logger.info("[上级点播] {}->释放监听端口,等待推流", ssrc); | 
|---|
|  |  |  | logger.info("[上级点播] {}->释放监听端口", ssrc); | 
|---|
|  |  |  | boolean closeRTPServerResult = closeRtpServer(serverItem, ssrc); | 
|---|
|  |  |  | HookSubscribeForRtpServerTimeout hookSubscribeForRtpServerTimeout = HookSubscribeFactory.on_rtp_server_timeout(ssrc, null, serverItem.getId()); | 
|---|
|  |  |  | // 订阅 zlm启动事件, 新的zlm也会从这里进入系统 | 
|---|