|
|
@@ -208,49 +208,6 @@ public class PlayController {
|
|
|
return json;
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 将不是h264的视频通过ffmpeg 转码为h264 + aac
|
|
|
- * @param streamId 流ID
|
|
|
- */
|
|
|
- @Operation(summary = "将不是h264的视频通过ffmpeg 转码为h264 + aac", security = @SecurityRequirement(name = JwtUtils.HEADER))
|
|
|
- @Parameter(name = "streamId", description = "视频流ID", required = true)
|
|
|
- @PostMapping("/convert/{streamId}")
|
|
|
- public JSONObject playConvert(@PathVariable String streamId) {
|
|
|
-// StreamInfo streamInfo = redisCatchStorage.queryPlayByStreamId(streamId);
|
|
|
-
|
|
|
- InviteInfo inviteInfo = inviteStreamService.getInviteInfoByStream(null, streamId);
|
|
|
- if (inviteInfo == null || inviteInfo.getStreamInfo() == null) {
|
|
|
- logger.warn("视频转码API调用失败!, 视频流已经停止!");
|
|
|
- throw new ControllerException(ErrorCode.ERROR100.getCode(), "未找到视频流信息, 视频流可能已经停止");
|
|
|
- }
|
|
|
- MediaServerItem mediaInfo = mediaServerService.getOne(inviteInfo.getStreamInfo().getMediaServerId());
|
|
|
- JSONObject rtpInfo = zlmresTfulUtils.getRtpInfo(mediaInfo, streamId);
|
|
|
- if (!rtpInfo.getBoolean("exist")) {
|
|
|
- logger.warn("视频转码API调用失败!, 视频流已停止推流!");
|
|
|
- throw new ControllerException(ErrorCode.ERROR100.getCode(), "未找到视频流信息, 视频流可能已停止推流");
|
|
|
- } else {
|
|
|
- String dstUrl = String.format("rtmp://%s:%s/convert/%s", "127.0.0.1", mediaInfo.getRtmpPort(),
|
|
|
- streamId );
|
|
|
- String srcUrl = String.format("rtsp://%s:%s/rtp/%s", "127.0.0.1", mediaInfo.getRtspPort(), streamId);
|
|
|
- JSONObject jsonObject = zlmresTfulUtils.addFFmpegSource(mediaInfo, srcUrl, dstUrl, "1000000", true, false, null);
|
|
|
- logger.info(jsonObject.toJSONString());
|
|
|
- if (jsonObject != null && jsonObject.getInteger("code") == 0) {
|
|
|
- JSONObject data = jsonObject.getJSONObject("data");
|
|
|
- if (data != null) {
|
|
|
- JSONObject result = new JSONObject();
|
|
|
- result.put("key", data.getString("key"));
|
|
|
- StreamInfo streamInfoResult = mediaService.getStreamInfoByAppAndStreamWithCheck("convert", streamId, mediaInfo.getId(), false);
|
|
|
- result.put("StreamInfo", streamInfoResult);
|
|
|
- return result;
|
|
|
- }else {
|
|
|
- throw new ControllerException(ErrorCode.ERROR100.getCode(), "转码失败");
|
|
|
- }
|
|
|
- }else {
|
|
|
- throw new ControllerException(ErrorCode.ERROR100.getCode(), "转码失败");
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* 结束转码
|
|
|
*/
|