|  |  |  | 
|---|
|  |  |  | import com.alibaba.fastjson.JSONObject; | 
|---|
|  |  |  | import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem; | 
|---|
|  |  |  | import okhttp3.*; | 
|---|
|  |  |  | import okhttp3.logging.HttpLoggingInterceptor; | 
|---|
|  |  |  | import org.jetbrains.annotations.NotNull; | 
|---|
|  |  |  | import org.slf4j.Logger; | 
|---|
|  |  |  | import org.slf4j.LoggerFactory; | 
|---|
|  |  |  | 
|---|
|  |  |  | void run(JSONObject response); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private OkHttpClient getClient(){ | 
|---|
|  |  |  | OkHttpClient.Builder httpClientBuilder = new OkHttpClient.Builder(); | 
|---|
|  |  |  | if (logger.isDebugEnabled()) { | 
|---|
|  |  |  | HttpLoggingInterceptor logging = new HttpLoggingInterceptor(message -> { | 
|---|
|  |  |  | logger.debug("http请求参数:" + message); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | logging.setLevel(HttpLoggingInterceptor.Level.BASIC); | 
|---|
|  |  |  | // OkHttp進行添加攔截器loggingInterceptor | 
|---|
|  |  |  | httpClientBuilder.addInterceptor(logging); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return httpClientBuilder.build(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public JSONObject sendPost(MediaServerItem mediaServerItem, String api, Map<String, Object> param, RequestCallback callback) { | 
|---|
|  |  |  | OkHttpClient client = new OkHttpClient(); | 
|---|
|  |  |  | OkHttpClient client = getClient(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (mediaServerItem == null) { | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | return sendPost(mediaServerItem, "startSendRtp",param, null); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public JSONObject startSendRtpPassive(MediaServerItem mediaServerItem, Map<String, Object> param) { | 
|---|
|  |  |  | return sendPost(mediaServerItem, "startSendRtpPassive",param, null); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public JSONObject stopSendRtp(MediaServerItem mediaServerItem, Map<String, Object> param) { | 
|---|
|  |  |  | return sendPost(mediaServerItem, "stopSendRtp",param, null); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | param.put("url", url); | 
|---|
|  |  |  | param.put("enable_hls", enable_hls?1:0); | 
|---|
|  |  |  | param.put("enable_mp4", enable_mp4?1:0); | 
|---|
|  |  |  | param.put("enable_rtmp", 1); | 
|---|
|  |  |  | param.put("enable_fmp4", 1); | 
|---|
|  |  |  | param.put("enable_audio", 1); | 
|---|
|  |  |  | param.put("enable_rtsp", 1); | 
|---|
|  |  |  | param.put("add_mute_audio", 1); | 
|---|
|  |  |  | param.put("rtp_type", rtp_type); | 
|---|
|  |  |  | return sendPost(mediaServerItem, "addStreamProxy",param, null); | 
|---|
|  |  |  | } | 
|---|