|
@@ -278,7 +278,7 @@ public class IMHelper {
|
|
|
IMApiResultInfo resultInfo = JSON.parseObject(httpHelper.returnResult(conn, body), IMApiResultInfo.class);
|
|
|
if(resultInfo.getResultCode() == 10000){
|
|
|
redisTemplate.opsForValue().set(resultInfo.getRecordId(),registrationId.toString());
|
|
|
- }else {
|
|
|
+ }else if(resultInfo.getResultCode() == 47032 || resultInfo.getResultCode() == 47002){
|
|
|
log.error("直播视频录制失败:body : {},resultInfo : {} 准备重试",body,resultInfo);
|
|
|
int i = 1;
|
|
|
while (i<=3){
|
|
@@ -288,7 +288,11 @@ public class IMHelper {
|
|
|
if (members == null || members.size() == 0) {
|
|
|
throw new IllegalArgumentException("Paramer 'roomMembers' is can not be null");
|
|
|
}
|
|
|
- config.put("input",getInput(roomMembers));
|
|
|
+ if(1 == 3){
|
|
|
+ config.put("input",getSignInput(roomMembers));
|
|
|
+ }else {
|
|
|
+ config.put("input",getInput(roomMembers));
|
|
|
+ }
|
|
|
paramJson.put("config",config);
|
|
|
body = paramJson.toJSONString();
|
|
|
HttpURLConnection connection = httpHelper.createIMRtcPostHttpConnection("/rtc/record/start.json", "application/json", roomId);
|
|
@@ -384,6 +388,33 @@ public class IMHelper {
|
|
|
return input;
|
|
|
}
|
|
|
|
|
|
+ private JSONObject getSignInput(List<RoomMember> roomMembers){
|
|
|
+
|
|
|
+ JSONArray videos = new JSONArray();
|
|
|
+ int size = roomMembers.size();
|
|
|
+ boolean isMaster = false;
|
|
|
+ for (int i = 0; i < size; i++) {
|
|
|
+ RoomMember roomMember = roomMembers.get(i);
|
|
|
+ JSONObject video = new JSONObject();
|
|
|
+ video.put("userId",roomMember.getUid());
|
|
|
+ video.put("streamId",roomMember.getUid() + "_RongCloudRTC");
|
|
|
+ if(roomMember.getRole() == 3 || i == size - 1){
|
|
|
+ video.put("x",0);
|
|
|
+ video.put("y",0);
|
|
|
+ video.put("width",1);
|
|
|
+ video.put("height",1);
|
|
|
+ isMaster = true;
|
|
|
+ }
|
|
|
+ videos.add(video);
|
|
|
+ if (isMaster){
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ JSONObject input = new JSONObject();
|
|
|
+ input.put("video",videos);
|
|
|
+ return input;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 结束录制
|
|
|
* @param roomId
|