648540858
4 years ago
6 changed files with 194 additions and 80 deletions
@ -0,0 +1,86 @@ |
|||
package com.genersoft.iot.vmp.media.zlm; |
|||
|
|||
import com.alibaba.fastjson.JSON; |
|||
import com.alibaba.fastjson.JSONObject; |
|||
import okhttp3.*; |
|||
import org.slf4j.Logger; |
|||
import org.slf4j.LoggerFactory; |
|||
import org.springframework.beans.factory.annotation.Value; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
import java.io.IOException; |
|||
import java.util.HashMap; |
|||
import java.util.HashSet; |
|||
import java.util.Map; |
|||
|
|||
@Component |
|||
public class ZLMRESTfulUtils { |
|||
|
|||
private final static Logger logger = LoggerFactory.getLogger(ZLMRESTfulUtils.class); |
|||
|
|||
@Value("${media.ip}") |
|||
private String mediaIp; |
|||
|
|||
@Value("${media.port}") |
|||
private int mediaPort; |
|||
|
|||
@Value("${media.secret}") |
|||
private String mediaSecret; |
|||
|
|||
public JSONObject sendPost(String api, Map<String, Object> param) { |
|||
OkHttpClient client = new OkHttpClient(); |
|||
String url = String.format("http://%s:%s/index/api/%s", mediaIp, mediaPort, api); |
|||
JSONObject responseJSON = null; |
|||
logger.debug(url); |
|||
|
|||
FormBody.Builder builder = new FormBody.Builder(); |
|||
builder.add("secret",mediaSecret); |
|||
if (param != null) { |
|||
for (String key : param.keySet()){ |
|||
builder.add(key, param.get(key).toString()); |
|||
} |
|||
} |
|||
|
|||
FormBody body = builder.build(); |
|||
|
|||
Request request = new Request.Builder() |
|||
.post(body) |
|||
.url(url) |
|||
.build(); |
|||
try { |
|||
Response response = client.newCall(request).execute(); |
|||
if (response.isSuccessful()) { |
|||
String responseStr = response.body().string(); |
|||
if (responseStr != null) { |
|||
responseJSON = JSON.parseObject(responseStr); |
|||
} |
|||
} |
|||
} catch (IOException e) { |
|||
e.printStackTrace(); |
|||
} |
|||
|
|||
return responseJSON; |
|||
} |
|||
|
|||
public JSONObject getMediaList(String app, String schema){ |
|||
Map<String, Object> param = new HashMap<>(); |
|||
param.put("app",app); |
|||
param.put("schema",schema); |
|||
param.put("vhost","__defaultVhost__"); |
|||
return sendPost("getMediaList",param); |
|||
} |
|||
|
|||
public JSONObject getRtpInfo(String stream_id){ |
|||
Map<String, Object> param = new HashMap<>(); |
|||
param.put("stream_id",stream_id); |
|||
return sendPost("getRtpInfo",param); |
|||
} |
|||
|
|||
public JSONObject getMediaServerConfig(){ |
|||
return sendPost("getServerConfig",null); |
|||
} |
|||
|
|||
public JSONObject setServerConfig(Map<String, Object> param){ |
|||
return sendPost("setServerConfig",param); |
|||
} |
|||
} |
Loading…
Reference in new issue