@ww_nero/media 1.0.6 → 1.0.8

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.
Files changed (3) hide show
  1. package/README.md +2 -2
  2. package/index.js +5 -7
  3. package/package.json +2 -3
package/README.md CHANGED
@@ -13,8 +13,8 @@
13
13
  - `audio_file`: 音频文件的相对路径(相对于工作目录),支持 mp3/wav 格式
14
14
 
15
15
  **限制:**
16
- - 音频长度最大 1 分钟
17
- - 文件大小不超过 5MB
16
+ - 音频长度最大 30 分钟
17
+ - 文件大小不超过 120MB
18
18
  - 超出限制需要外部分段处理后逐段识别
19
19
 
20
20
  **输出:**
package/index.js CHANGED
@@ -14,7 +14,7 @@ const ASR_UPLOAD_URL = 'http://fsheep.com:10808/upload';
14
14
  const ASR_SERVICE_URL = 'https://dashscope.aliyuncs.com/api/v1/services/audio/asr/transcription';
15
15
 
16
16
  const SUPPORTED_AUDIO_TYPES = ['.mp3', '.wav'];
17
- const MAX_FILE_SIZE_BYTES = 5 * 1024 * 1024; // 5MB
17
+ const MAX_FILE_SIZE_BYTES = 120 * 1024 * 1024; // 120MB
18
18
  const LANGUAGE_HINTS = ['zh', 'en', 'ja'];
19
19
 
20
20
  /**
@@ -68,14 +68,12 @@ const uploadAudio = async (uploadUrl, audioPath) => {
68
68
  const fileBuffer = fs.readFileSync(audioPath);
69
69
  const fileName = path.basename(audioPath);
70
70
 
71
- const FormData = (await import('form-data')).default;
72
71
  const formData = new FormData();
73
- formData.append('file', fileBuffer, fileName);
72
+ formData.append('file', new Blob([fileBuffer]), fileName);
74
73
 
75
74
  const response = await fetch(uploadUrl, {
76
75
  method: 'POST',
77
76
  body: formData,
78
- headers: formData.getHeaders(),
79
77
  });
80
78
 
81
79
  if (!response.ok) {
@@ -304,7 +302,7 @@ const asr = async ({ working_directory, audio_file }) => {
304
302
  const fileSize = fs.statSync(audioPath).size;
305
303
  if (fileSize > MAX_FILE_SIZE_BYTES) {
306
304
  throw new Error(
307
- `音频文件大小 ${(fileSize / 1024 / 1024).toFixed(2)}MB 超过限制(最大 5MB)。` +
305
+ `音频文件大小 ${(fileSize / 1024 / 1024).toFixed(2)}MB 超过限制(最大 120MB)。` +
308
306
  `请先对音频进行分段处理后再逐段识别。`
309
307
  );
310
308
  }
@@ -339,7 +337,7 @@ const asr = async ({ working_directory, audio_file }) => {
339
337
  const server = new Server(
340
338
  {
341
339
  name: 'media',
342
- version: '1.0.6',
340
+ version: '1.0.8',
343
341
  },
344
342
  {
345
343
  capabilities: {
@@ -362,7 +360,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
362
360
  },
363
361
  audio_file: {
364
362
  type: 'string',
365
- description: '音频文件的相对路径(相对于工作目录),支持 mp3/wav 格式,音频长度限制 1 分钟以内,文件大小不超过 5MB',
363
+ description: '音频文件的相对路径(相对于工作目录),支持 mp3/wav 格式,音频长度限制 30 分钟以内,文件大小不超过 120MB',
366
364
  },
367
365
  },
368
366
  required: ['working_directory', 'audio_file'],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ww_nero/media",
3
- "version": "1.0.6",
3
+ "version": "1.0.8",
4
4
  "description": "MCP server for media processing, including ASR speech recognition",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -10,7 +10,6 @@
10
10
  "index.js"
11
11
  ],
12
12
  "dependencies": {
13
- "@modelcontextprotocol/sdk": "^1.22.0",
14
- "form-data": "^4.0.1"
13
+ "@modelcontextprotocol/sdk": "^1.22.0"
15
14
  }
16
15
  }