|
@@ -44,6 +44,7 @@ import com.ym.mec.util.http.HttpUtil;
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
|
|
+import org.joda.time.DateTime;
|
|
|
import org.redisson.api.RBucket;
|
|
|
import org.redisson.api.RLock;
|
|
|
import org.redisson.api.RMap;
|
|
@@ -59,6 +60,7 @@ import javax.servlet.http.HttpServletResponse;
|
|
|
import java.io.IOException;
|
|
|
import java.io.OutputStream;
|
|
|
import java.io.Serializable;
|
|
|
+import java.text.MessageFormat;
|
|
|
import java.util.*;
|
|
|
import java.util.concurrent.CompletableFuture;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
@@ -613,7 +615,7 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
|
|
|
message.setToChatRoomId(roomUid);
|
|
|
message.setObjectName(ImRoomMessage.FORCED_OFFLINE);
|
|
|
|
|
|
- SysUser sysUser = sysUserFeignService.queryUserById(speakerId);
|
|
|
+ SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
if (Objects.nonNull(sysUser)) {
|
|
|
|
|
|
// 发送用户信息
|
|
@@ -1011,12 +1013,19 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- pluginService.rtcRoomRecordStart(RTCRequest.RecordStart.builder()
|
|
|
+ // 直播开始时间
|
|
|
+ DateTime dateTime = new DateTime(imLiveBroadcastRoomVo.getLiveStartTime());
|
|
|
+
|
|
|
+ RTCRoom.RecordResp recordResp = pluginService.rtcRoomRecordStart(RTCRequest.RecordStart.builder()
|
|
|
+ .startTime(dateTime.plusMillis(5).getMillis() / 1000)
|
|
|
+ .endTime(dateTime.plusDays(1).getMillis() / 1000)
|
|
|
+ .steamName(MessageFormat.format("{0}_{1}", imLiveBroadcastRoomVo.getRoomUid(), String.valueOf(imLiveBroadcastRoomVo.getSpeakerId())))
|
|
|
.sessionId(rtcRoom.getSessionId())
|
|
|
- .config(RTCRequest.RecordConfig.builder()
|
|
|
+ .config(RTCRequest.RecordConfig.builder()
|
|
|
.videoResolution(videoResolution)
|
|
|
.build())
|
|
|
.build());
|
|
|
+ log.info("startLive 直播录录开启: recordResp={}", JSON.toJSONString(recordResp));
|
|
|
} catch (Exception e) {
|
|
|
log.error("startRecord error: {}", e.getMessage());
|
|
|
}
|
|
@@ -1078,6 +1087,11 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
+ // 若返回的sessionId为空,则手动查询录制任务taskId
|
|
|
+ if (StringUtils.isBlank(rtcRoom.getSessionId())) {
|
|
|
+ // FIXME: 获取腾讯云直播录制任务Id
|
|
|
+ }
|
|
|
+
|
|
|
pluginService.rtcRoomRecordStop(rtcRoom.getSessionId());
|
|
|
} catch (Exception e) {
|
|
|
log.error("stopRecord error: {}", e.getMessage());
|