diff --git a/src/api/setting-api.js b/src/api/setting-api.js index 05f3991..8d29247 100644 --- a/src/api/setting-api.js +++ b/src/api/setting-api.js @@ -29,6 +29,13 @@ export default { data }) }, + cancelTranscodeTask(data) { + return request({ + url: '/cloud/setting/transcode/cancel-task', + method: 'put', + data + }) + }, syncUser(params) { return request({ url: '/user/setting/sync', @@ -162,3 +169,11 @@ export function getTaskProgress(params) { params }) } + +export function getTranscodeStatus(params) { + return request({ + url: '/cloud/transcode/status', + method: 'get', + params + }) +} diff --git a/src/sse/SSEClient.js b/src/sse/SSEClient.js index e527dee..e60e0fa 100644 --- a/src/sse/SSEClient.js +++ b/src/sse/SSEClient.js @@ -54,6 +54,7 @@ function onMessage(msg) { const eventMapping = { synced: 'msg/synced', taskProgress: 'msg/taskProgress', + transcodeStatus: 'msg/transcodeStatus', uploaderChunkSize: 'uploaderChunkSize', }; diff --git a/src/styles/setting.scss b/src/styles/setting.scss index b0348c7..594c402 100644 --- a/src/styles/setting.scss +++ b/src/styles/setting.scss @@ -214,4 +214,11 @@ a:hover { } } } - +.form-item-flex { + display: flex; + align-items: center; + >>> .el-icon-question { + padding: 5px; + font-size: 1rem; + } +} diff --git a/src/utils/media.js b/src/utils/media.js index d30bd62..2156ded 100644 --- a/src/utils/media.js +++ b/src/utils/media.js @@ -65,11 +65,23 @@ export function formatVideo(videoInfo) { if (videoInfo['bitrate']) { videoStr += `\r\n码率: ${videoInfo['bitrate']}` } + if (videoInfo['frameRate']) { + videoStr += `\r\n帧率: ${videoInfo['frameRate']} fps` + } if (videoInfo['format']) { videoStr += `\r\n格式: ${videoInfo['format']}` } if (videoInfo['duration']) { videoStr += `\r\n时长: ${videoInfo['duration']}` } + if (videoInfo['toBitrate']) { + videoStr += `\r\n转码后的码率: ${videoInfo['toBitrate']} kbps` + } + if (videoInfo['toFrameRate']) { + videoStr += `\r\n转码后的帧率: ${videoInfo['toFrameRate']} fps` + } + if (videoInfo['toHeight']) { + videoStr += `\r\n转码后的高度: ${videoInfo['toHeight']}` + } return videoStr } diff --git a/src/views/setting/cloudSetting/transcodeConfig.vue b/src/views/setting/cloudSetting/transcodeConfig.vue index 8763961..82bd967 100644 --- a/src/views/setting/cloudSetting/transcodeConfig.vue +++ b/src/views/setting/cloudSetting/transcodeConfig.vue @@ -3,25 +3,120 @@ - - - - + + + + + + + + + + + + + + + 转码条件, 以下三个条件满足其一即可 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 转码参数 + - - 默认2500 kbps,小于该值则不转码 + + + + + + + + - - 默认720,小于该值则不转码(视频宽度则默认随高度等比例缩放) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - 保存配置 + + 取消任务 + 保存配置 + + {{transcodeStatus.waitingTranscodingCount}}个视频等待转码 + {{transcodeStatus.transcodingCount}}个视频正在转码中 + + @@ -29,7 +124,8 @@