package com.genersoft.iot.vmp.jt1078.config; 
 | 
  
 | 
import com.genersoft.iot.vmp.jt1078.cmd.JT1078Template; 
 | 
import com.genersoft.iot.vmp.jt1078.proc.response.*; 
 | 
import com.genersoft.iot.vmp.vmanager.bean.WVPResult; 
 | 
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; 
 | 
import org.springframework.web.bind.annotation.GetMapping; 
 | 
import org.springframework.web.bind.annotation.PathVariable; 
 | 
import org.springframework.web.bind.annotation.RequestMapping; 
 | 
import org.springframework.web.bind.annotation.RestController; 
 | 
  
 | 
import javax.annotation.Resource; 
 | 
  
 | 
/** 
 | 
 * curl http://localhost:18080/api/jt1078/start/live/18864197066/1 
 | 
 * 
 | 
 * @author QingtaiJiang 
 | 
 * @date 2023/4/27 18:12 
 | 
 * @email qingtaij@163.com 
 | 
 */ 
 | 
@ConditionalOnProperty(value = "jt1078.enable", havingValue = "true") 
 | 
@RestController 
 | 
@RequestMapping("/api/jt1078") 
 | 
public class JT1078Controller { 
 | 
  
 | 
    @Resource 
 | 
    JT1078Template jt1078Template; 
 | 
  
 | 
    /** 
 | 
     * jt1078Template 调用示例 
 | 
     */ 
 | 
    @GetMapping("/start/live/{deviceId}/{channelId}") 
 | 
    public WVPResult<?> startLive(@PathVariable String deviceId, @PathVariable String channelId) { 
 | 
        J9101 j9101 = new J9101(); 
 | 
        j9101.setChannel(Integer.valueOf(channelId)); 
 | 
        j9101.setIp("192.168.1.1"); 
 | 
        j9101.setRate(1); 
 | 
        j9101.setTcpPort(7618); 
 | 
        j9101.setUdpPort(7618); 
 | 
        j9101.setType(0); 
 | 
        // TODO 分配ZLM,获取IP、端口 
 | 
        String s = jt1078Template.startLive(deviceId, j9101, 6); 
 | 
        // TODO 设备响应成功后,封装拉流结果集 
 | 
        WVPResult<String> wvpResult = new WVPResult<>(); 
 | 
        wvpResult.setCode(200); 
 | 
        wvpResult.setData(String.format("http://192.168.1.1/rtp/%s_%s.live.mp4", deviceId, channelId)); 
 | 
        return wvpResult; 
 | 
    } 
 | 
  
 | 
} 
 |