mb-rrvideo-server 1.0.16 → 1.0.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mb-rrvideo-server",
3
- "version": "1.0.16",
3
+ "version": "1.0.17",
4
4
  "description": "视频转码服务 - 接收可回溯机请求,执行转码/合并,上传MinIO/本地存储",
5
5
  "main": "src/index.js",
6
6
  "bin": {
@@ -83,13 +83,18 @@ async function handleMerge(inputData, res, logFileName) {
83
83
  logger.debug(`[${actionName}] 视频列表(${videos.length}个): ${JSON.stringify(videos)}`, taskId, 'merge');
84
84
  logger.info(`[${actionName}] 输出路径: ${output}`, taskId, 'merge');
85
85
  logger.debug(`[${actionName}] 回调数据: ${JSON.stringify(callbackData)}`, taskId, 'merge');
86
+
87
+ const mergeDownloadDir = path.join(process.cwd(), '__rrvideos__temp__', 'merge_downloads', String(taskId));
88
+ ensureDir(mergeDownloadDir);
89
+ logger.info(`[${actionName}] 合并临时下载目录: ${mergeDownloadDir}`, taskId, 'merge');
86
90
 
87
91
  // 生成合并命令
88
92
  const command = buildMergeCommand(videos, output, {
89
93
  format,
90
94
  method,
91
95
  auto_mode: autoMode,
92
- headers
96
+ headers,
97
+ download_dir: mergeDownloadDir
93
98
  });
94
99
 
95
100
  logger.info(`[${actionName}] 合并指令:\n${command}`, taskId, 'merge');
@@ -183,12 +183,17 @@ function buildMergeCommand(videos, output, options = {}) {
183
183
  const method = options.method || 'concat';
184
184
  const autoMode = options.auto_mode || 'smart';
185
185
  const headers = options.headers || {};
186
+ const downloadDir = options.download_dir;
186
187
 
187
188
  let command = `${nodePath} --expose-gc ${rrvideosPath} merge --output ${escapeArg(output)} --format ${escapeArg(format)} --method ${escapeArg(method)} --auto-mode ${escapeArg(autoMode)}`;
188
189
 
189
190
  videos.forEach((v) => {
190
191
  command += ` --videos ${escapeArg(v)}`;
191
192
  });
193
+
194
+ if (downloadDir) {
195
+ command += ` --download-dir ${escapeArg(downloadDir)}`;
196
+ }
192
197
 
193
198
  Object.keys(headers).forEach((k) => {
194
199
  const pair = `${k}:${headers[k]}`;