@dofe/infra-shared-services 0.1.17 → 0.1.18

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 (267) hide show
  1. package/dist/agentx/agentx-client.module.d.ts.map +1 -1
  2. package/dist/agentx/agentx-client.module.js.map +1 -1
  3. package/dist/agentx/agentx-client.service.d.ts.map +1 -1
  4. package/dist/agentx/agentx-client.service.js.map +1 -1
  5. package/dist/agentx/agentx-file-client.service.d.ts.map +1 -1
  6. package/dist/agentx/agentx-file-client.service.js.map +1 -1
  7. package/dist/agentx/index.d.ts.map +1 -1
  8. package/dist/agentx/index.js.map +1 -1
  9. package/dist/agentx/interfaces/file.interface.d.ts.map +1 -1
  10. package/dist/agentx/interfaces/file.interface.js.map +1 -1
  11. package/dist/agentx/interfaces/task.interface.d.ts.map +1 -1
  12. package/dist/agentx/interfaces/task.interface.js.map +1 -1
  13. package/dist/email/dto/email.dto.d.ts +70 -0
  14. package/dist/email/dto/email.dto.d.ts.map +1 -0
  15. package/dist/email/dto/email.dto.js +58 -0
  16. package/dist/email/dto/email.dto.js.map +1 -0
  17. package/dist/email/email.module.d.ts.map +1 -1
  18. package/dist/email/email.module.js.map +1 -1
  19. package/dist/email/email.service.d.ts.map +1 -1
  20. package/dist/email/email.service.js.map +1 -1
  21. package/dist/email/index.d.ts +5 -0
  22. package/dist/email/index.d.ts.map +1 -0
  23. package/dist/email/index.js +26 -0
  24. package/dist/email/index.js.map +1 -0
  25. package/dist/file-cdn/dto/file-cdn.dto.d.ts.map +1 -1
  26. package/dist/file-cdn/dto/file-cdn.dto.js.map +1 -1
  27. package/dist/file-cdn/file-cdn.client.d.ts +1 -1
  28. package/dist/file-cdn/file-cdn.client.d.ts.map +1 -1
  29. package/dist/file-cdn/file-cdn.client.js +2 -2
  30. package/dist/file-cdn/file-cdn.client.js.map +1 -1
  31. package/dist/file-cdn/file-cdn.module.d.ts.map +1 -1
  32. package/dist/file-cdn/file-cdn.module.js +2 -2
  33. package/dist/file-cdn/file-cdn.module.js.map +1 -1
  34. package/dist/file-cdn/index.d.ts.map +1 -1
  35. package/dist/file-cdn/index.js.map +1 -1
  36. package/dist/file-storage/bucket-resolver.d.ts +1 -1
  37. package/dist/file-storage/bucket-resolver.d.ts.map +1 -1
  38. package/dist/file-storage/bucket-resolver.js.map +1 -1
  39. package/dist/file-storage/file-storage.factory.d.ts +1 -1
  40. package/dist/file-storage/file-storage.factory.d.ts.map +1 -1
  41. package/dist/file-storage/file-storage.factory.js +7 -7
  42. package/dist/file-storage/file-storage.factory.js.map +1 -1
  43. package/dist/file-storage/file-storage.module.d.ts.map +1 -1
  44. package/dist/file-storage/file-storage.module.js.map +1 -1
  45. package/dist/file-storage/file-storage.service.d.ts +1 -1
  46. package/dist/file-storage/file-storage.service.d.ts.map +1 -1
  47. package/dist/file-storage/file-storage.service.js.map +1 -1
  48. package/dist/file-storage/index.d.ts +1 -1
  49. package/dist/file-storage/index.d.ts.map +1 -1
  50. package/dist/file-storage/index.js.map +1 -1
  51. package/dist/file-storage/types.d.ts +1 -1
  52. package/dist/file-storage/types.d.ts.map +1 -1
  53. package/dist/file-storage/types.js.map +1 -1
  54. package/dist/index.d.ts +3 -0
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +3 -0
  57. package/dist/index.js.map +1 -1
  58. package/dist/ip-geo/continent-mapping.d.ts.map +1 -1
  59. package/dist/ip-geo/continent-mapping.js.map +1 -1
  60. package/dist/ip-geo/index.d.ts +33 -0
  61. package/dist/ip-geo/index.d.ts.map +1 -0
  62. package/dist/ip-geo/index.js +41 -0
  63. package/dist/ip-geo/index.js.map +1 -0
  64. package/dist/ip-geo/ip-geo.module.d.ts.map +1 -1
  65. package/dist/ip-geo/ip-geo.module.js.map +1 -1
  66. package/dist/ip-geo/ip-geo.service.d.ts.map +1 -1
  67. package/dist/ip-geo/ip-geo.service.js.map +1 -1
  68. package/dist/ip-info/index.d.ts +7 -0
  69. package/dist/ip-info/index.d.ts.map +1 -0
  70. package/dist/ip-info/index.js +13 -0
  71. package/dist/ip-info/index.js.map +1 -0
  72. package/dist/ip-info/ip-info.client.d.ts.map +1 -1
  73. package/dist/ip-info/ip-info.client.js.map +1 -1
  74. package/dist/ip-info/ip-info.module.d.ts.map +1 -1
  75. package/dist/ip-info/ip-info.module.js.map +1 -1
  76. package/dist/ip-info/ip-info.service.d.ts.map +1 -1
  77. package/dist/ip-info/ip-info.service.js +2 -3
  78. package/dist/ip-info/ip-info.service.js.map +1 -1
  79. package/dist/ip-info-client/dto/ip-info.dto.d.ts.map +1 -1
  80. package/dist/ip-info-client/dto/ip-info.dto.js.map +1 -1
  81. package/dist/ip-info-client/index.d.ts.map +1 -1
  82. package/dist/ip-info-client/index.js.map +1 -1
  83. package/dist/ip-info-client/ip-info.client.d.ts.map +1 -1
  84. package/dist/ip-info-client/ip-info.client.js.map +1 -1
  85. package/dist/ip-info-client/ip-info.module.d.ts.map +1 -1
  86. package/dist/ip-info-client/ip-info.module.js.map +1 -1
  87. package/dist/notification/index.d.ts.map +1 -1
  88. package/dist/notification/index.js.map +1 -1
  89. package/dist/notification/notification.module.d.ts.map +1 -1
  90. package/dist/notification/notification.module.js.map +1 -1
  91. package/dist/notification/notification.service.d.ts.map +1 -1
  92. package/dist/notification/notification.service.js.map +1 -1
  93. package/dist/notification/notification.types.d.ts.map +1 -1
  94. package/dist/notification/notification.types.js.map +1 -1
  95. package/dist/ocr/index.d.ts +33 -0
  96. package/dist/ocr/index.d.ts.map +1 -0
  97. package/dist/ocr/index.js +53 -0
  98. package/dist/ocr/index.js.map +1 -0
  99. package/dist/ocr/ocr.module.d.ts.map +1 -1
  100. package/dist/ocr/ocr.module.js.map +1 -1
  101. package/dist/ocr/ocr.service.d.ts.map +1 -1
  102. package/dist/ocr/ocr.service.js.map +1 -1
  103. package/dist/openspeech/index.d.ts +35 -0
  104. package/dist/openspeech/index.d.ts.map +1 -0
  105. package/dist/openspeech/index.js +56 -0
  106. package/dist/openspeech/index.js.map +1 -0
  107. package/dist/openspeech/openspeech.client.d.ts +304 -0
  108. package/dist/openspeech/openspeech.client.d.ts.map +1 -0
  109. package/dist/openspeech/openspeech.client.js +405 -0
  110. package/dist/openspeech/openspeech.client.js.map +1 -0
  111. package/dist/openspeech/openspeech.factory.d.ts +247 -0
  112. package/dist/openspeech/openspeech.factory.d.ts.map +1 -0
  113. package/dist/openspeech/openspeech.factory.js +406 -0
  114. package/dist/openspeech/openspeech.factory.js.map +1 -0
  115. package/dist/openspeech/openspeech.module.d.ts +45 -0
  116. package/dist/openspeech/openspeech.module.d.ts.map +1 -0
  117. package/dist/openspeech/openspeech.module.js +68 -0
  118. package/dist/openspeech/openspeech.module.js.map +1 -0
  119. package/dist/openspeech/providers/aliyun.provider.d.ts +125 -0
  120. package/dist/openspeech/providers/aliyun.provider.d.ts.map +1 -0
  121. package/dist/openspeech/providers/aliyun.provider.js +274 -0
  122. package/dist/openspeech/providers/aliyun.provider.js.map +1 -0
  123. package/dist/openspeech/providers/base.provider.d.ts +98 -0
  124. package/dist/openspeech/providers/base.provider.d.ts.map +1 -0
  125. package/dist/openspeech/providers/base.provider.js +87 -0
  126. package/dist/openspeech/providers/base.provider.js.map +1 -0
  127. package/dist/openspeech/providers/index.d.ts +10 -0
  128. package/dist/openspeech/providers/index.d.ts.map +1 -0
  129. package/dist/openspeech/providers/index.js +26 -0
  130. package/dist/openspeech/providers/index.js.map +1 -0
  131. package/dist/openspeech/providers/volcengine-streaming.provider.d.ts +291 -0
  132. package/dist/openspeech/providers/volcengine-streaming.provider.d.ts.map +1 -0
  133. package/dist/openspeech/providers/volcengine-streaming.provider.js +1358 -0
  134. package/dist/openspeech/providers/volcengine-streaming.provider.js.map +1 -0
  135. package/dist/openspeech/providers/volcengine.provider.d.ts +144 -0
  136. package/dist/openspeech/providers/volcengine.provider.d.ts.map +1 -0
  137. package/dist/openspeech/providers/volcengine.provider.js +337 -0
  138. package/dist/openspeech/providers/volcengine.provider.js.map +1 -0
  139. package/dist/openspeech/types.d.ts +408 -0
  140. package/dist/openspeech/types.d.ts.map +1 -0
  141. package/dist/openspeech/types.js +11 -0
  142. package/dist/openspeech/types.js.map +1 -0
  143. package/dist/sms/index.d.ts +5 -0
  144. package/dist/sms/index.d.ts.map +1 -0
  145. package/dist/sms/index.js +29 -0
  146. package/dist/sms/index.js.map +1 -0
  147. package/dist/sms/sms.factory.d.ts.map +1 -1
  148. package/dist/sms/sms.factory.js +6 -6
  149. package/dist/sms/sms.factory.js.map +1 -1
  150. package/dist/sms/sms.module.d.ts.map +1 -1
  151. package/dist/sms/sms.module.js.map +1 -1
  152. package/dist/sms/sms.service.d.ts.map +1 -1
  153. package/dist/sms/sms.service.js.map +1 -1
  154. package/dist/sms/types.d.ts.map +1 -1
  155. package/dist/sms/types.js.map +1 -1
  156. package/dist/streaming-asr/index.d.ts +45 -0
  157. package/dist/streaming-asr/index.d.ts.map +1 -0
  158. package/dist/streaming-asr/index.js +66 -0
  159. package/dist/streaming-asr/index.js.map +1 -0
  160. package/dist/streaming-asr/streaming-asr.module.d.ts.map +1 -1
  161. package/dist/streaming-asr/streaming-asr.module.js.map +1 -1
  162. package/dist/streaming-asr/streaming-asr.service.d.ts.map +1 -1
  163. package/dist/streaming-asr/streaming-asr.service.js.map +1 -1
  164. package/dist/streaming-asr/types.d.ts.map +1 -1
  165. package/dist/streaming-asr/types.js.map +1 -1
  166. package/dist/system-health/index.d.ts +7 -0
  167. package/dist/system-health/index.d.ts.map +1 -0
  168. package/dist/system-health/index.js +25 -0
  169. package/dist/system-health/index.js.map +1 -0
  170. package/dist/system-health/system-health.controller.d.ts.map +1 -1
  171. package/dist/system-health/system-health.controller.js.map +1 -1
  172. package/dist/system-health/system-health.module.d.ts.map +1 -1
  173. package/dist/system-health/system-health.module.js.map +1 -1
  174. package/dist/system-health/system-health.service.d.ts.map +1 -1
  175. package/dist/system-health/system-health.service.js.map +1 -1
  176. package/dist/transcode/config/aliyun-oss.config.d.ts +14 -0
  177. package/dist/transcode/config/aliyun-oss.config.d.ts.map +1 -0
  178. package/dist/transcode/config/aliyun-oss.config.js +3 -0
  179. package/dist/transcode/config/aliyun-oss.config.js.map +1 -0
  180. package/dist/transcode/config/transcode.config.d.ts +55 -0
  181. package/dist/transcode/config/transcode.config.d.ts.map +1 -0
  182. package/dist/transcode/config/transcode.config.js +97 -0
  183. package/dist/transcode/config/transcode.config.js.map +1 -0
  184. package/dist/transcode/index.d.ts +27 -0
  185. package/dist/transcode/index.d.ts.map +1 -0
  186. package/dist/transcode/index.js +55 -0
  187. package/dist/transcode/index.js.map +1 -0
  188. package/dist/transcode/modules/aliyun-imm/aliyun-imm.client.d.ts +157 -0
  189. package/dist/transcode/modules/aliyun-imm/aliyun-imm.client.d.ts.map +1 -0
  190. package/dist/transcode/modules/aliyun-imm/aliyun-imm.client.js +879 -0
  191. package/dist/transcode/modules/aliyun-imm/aliyun-imm.client.js.map +1 -0
  192. package/dist/transcode/modules/aliyun-imm/aliyun-imm.module.d.ts +3 -0
  193. package/dist/transcode/modules/aliyun-imm/aliyun-imm.module.d.ts.map +1 -0
  194. package/dist/transcode/modules/aliyun-imm/aliyun-imm.module.js +23 -0
  195. package/dist/transcode/modules/aliyun-imm/aliyun-imm.module.js.map +1 -0
  196. package/dist/transcode/modules/aliyun-oss/aliyun-oss-transcode.client.d.ts +252 -0
  197. package/dist/transcode/modules/aliyun-oss/aliyun-oss-transcode.client.d.ts.map +1 -0
  198. package/dist/transcode/modules/aliyun-oss/aliyun-oss-transcode.client.js +1368 -0
  199. package/dist/transcode/modules/aliyun-oss/aliyun-oss-transcode.client.js.map +1 -0
  200. package/dist/transcode/modules/aliyun-oss/aliyun-oss-transcode.module.d.ts +3 -0
  201. package/dist/transcode/modules/aliyun-oss/aliyun-oss-transcode.module.d.ts.map +1 -0
  202. package/dist/transcode/modules/aliyun-oss/aliyun-oss-transcode.module.js +25 -0
  203. package/dist/transcode/modules/aliyun-oss/aliyun-oss-transcode.module.js.map +1 -0
  204. package/dist/transcode/modules/transcode-strategy/transcode-strategy.client.d.ts +118 -0
  205. package/dist/transcode/modules/transcode-strategy/transcode-strategy.client.d.ts.map +1 -0
  206. package/dist/transcode/modules/transcode-strategy/transcode-strategy.client.js +565 -0
  207. package/dist/transcode/modules/transcode-strategy/transcode-strategy.client.js.map +1 -0
  208. package/dist/transcode/modules/transcode-strategy/transcode-strategy.module.d.ts +3 -0
  209. package/dist/transcode/modules/transcode-strategy/transcode-strategy.module.d.ts.map +1 -0
  210. package/dist/transcode/modules/transcode-strategy/transcode-strategy.module.js +33 -0
  211. package/dist/transcode/modules/transcode-strategy/transcode-strategy.module.js.map +1 -0
  212. package/dist/transcode/modules/volcengine-tos/volcengine-tos-transcode.client.d.ts +93 -0
  213. package/dist/transcode/modules/volcengine-tos/volcengine-tos-transcode.client.d.ts.map +1 -0
  214. package/dist/transcode/modules/volcengine-tos/volcengine-tos-transcode.client.js +487 -0
  215. package/dist/transcode/modules/volcengine-tos/volcengine-tos-transcode.client.js.map +1 -0
  216. package/dist/transcode/modules/volcengine-tos/volcengine-tos-transcode.dto.d.ts +505 -0
  217. package/dist/transcode/modules/volcengine-tos/volcengine-tos-transcode.dto.d.ts.map +1 -0
  218. package/dist/transcode/modules/volcengine-tos/volcengine-tos-transcode.dto.js +10 -0
  219. package/dist/transcode/modules/volcengine-tos/volcengine-tos-transcode.dto.js.map +1 -0
  220. package/dist/transcode/modules/volcengine-tos/volcengine-tos-transcode.module.d.ts +3 -0
  221. package/dist/transcode/modules/volcengine-tos/volcengine-tos-transcode.module.d.ts.map +1 -0
  222. package/dist/transcode/modules/volcengine-tos/volcengine-tos-transcode.module.js +31 -0
  223. package/dist/transcode/modules/volcengine-tos/volcengine-tos-transcode.module.js.map +1 -0
  224. package/dist/transcode/types/transcode.types.d.ts +93 -0
  225. package/dist/transcode/types/transcode.types.d.ts.map +1 -0
  226. package/dist/transcode/types/transcode.types.js +3 -0
  227. package/dist/transcode/types/transcode.types.js.map +1 -0
  228. package/dist/transcode/utils/file.validator.d.ts +43 -0
  229. package/dist/transcode/utils/file.validator.d.ts.map +1 -0
  230. package/dist/transcode/utils/file.validator.js +126 -0
  231. package/dist/transcode/utils/file.validator.js.map +1 -0
  232. package/dist/transcode/utils/transcode.helper.d.ts +42 -0
  233. package/dist/transcode/utils/transcode.helper.d.ts.map +1 -0
  234. package/dist/transcode/utils/transcode.helper.js +221 -0
  235. package/dist/transcode/utils/transcode.helper.js.map +1 -0
  236. package/dist/uploader/index.d.ts +3 -0
  237. package/dist/uploader/index.d.ts.map +1 -0
  238. package/dist/uploader/index.js +8 -0
  239. package/dist/uploader/index.js.map +1 -0
  240. package/dist/uploader/uploader.module.d.ts.map +1 -1
  241. package/dist/uploader/uploader.module.js.map +1 -1
  242. package/dist/uploader/uploader.service.d.ts +1 -1
  243. package/dist/uploader/uploader.service.d.ts.map +1 -1
  244. package/dist/uploader/uploader.service.js.map +1 -1
  245. package/dist/verify/index.d.ts.map +1 -1
  246. package/dist/verify/index.js.map +1 -1
  247. package/dist/verify/verify.client.d.ts.map +1 -1
  248. package/dist/verify/verify.client.js.map +1 -1
  249. package/dist/verify/verify.module.d.ts.map +1 -1
  250. package/dist/verify/verify.module.js.map +1 -1
  251. package/dist/volcengine-tts/dto/tts.dto.d.ts +52 -0
  252. package/dist/volcengine-tts/dto/tts.dto.d.ts.map +1 -0
  253. package/dist/volcengine-tts/dto/tts.dto.js +59 -0
  254. package/dist/volcengine-tts/dto/tts.dto.js.map +1 -0
  255. package/dist/volcengine-tts/index.d.ts +4 -0
  256. package/dist/volcengine-tts/index.d.ts.map +1 -0
  257. package/dist/volcengine-tts/index.js +20 -0
  258. package/dist/volcengine-tts/index.js.map +1 -0
  259. package/dist/volcengine-tts/volcengine-tts.client.d.ts +104 -0
  260. package/dist/volcengine-tts/volcengine-tts.client.d.ts.map +1 -0
  261. package/dist/volcengine-tts/volcengine-tts.client.js +690 -0
  262. package/dist/volcengine-tts/volcengine-tts.client.js.map +1 -0
  263. package/dist/volcengine-tts/volcengine-tts.module.d.ts +3 -0
  264. package/dist/volcengine-tts/volcengine-tts.module.d.ts.map +1 -0
  265. package/dist/volcengine-tts/volcengine-tts.module.js +34 -0
  266. package/dist/volcengine-tts/volcengine-tts.module.js.map +1 -0
  267. package/package.json +83 -9
@@ -0,0 +1,93 @@
1
+ import { Logger } from 'winston';
2
+ import { ConfigService } from '@nestjs/config';
3
+ import { HttpService } from '@nestjs/axios';
4
+ import { FileBucketVendor, VideoQuality, VideoInfo, AudioInfo, ImageInfo } from '@prisma/client';
5
+ import { FileStorageService } from '../../../file-storage/file-storage.service';
6
+ import { MediaConvertTaskResult, AudioExtractOptions } from '../aliyun-imm/aliyun-imm.client';
7
+ import { SnapshotOptions } from '../../types/transcode.types';
8
+ import { VolcengineSubmitJobRequest, VolcengineSubmitJobResult } from './volcengine-tos-transcode.dto';
9
+ export declare class VolcengineTosTranscodeClient {
10
+ private readonly logger;
11
+ private readonly configService;
12
+ private readonly fileApi;
13
+ private readonly httpService;
14
+ private readonly baseUrl;
15
+ private readonly appConfig;
16
+ private readonly templateId;
17
+ private readonly action;
18
+ private readonly version;
19
+ private readonly accessKey;
20
+ private readonly secretKey;
21
+ private readonly region;
22
+ private readonly webhookApiBaseUrl;
23
+ private readonly callbackUri;
24
+ private readonly canCallback;
25
+ constructor(logger: Logger, configService: ConfigService, fileApi: FileStorageService, httpService: HttpService);
26
+ /**
27
+ * 从视频中提取音频(使用火山引擎 VOD API)
28
+ * 使用模板:video_audio_mp3_128K
29
+ */
30
+ extractAudioFromVideo(vendor: FileBucketVendor, bucket: string, key: string, options?: AudioExtractOptions): Promise<MediaConvertTaskResult>;
31
+ /**
32
+ * 获取视频信息(暂不支持,需要实现)
33
+ */
34
+ getVideoInfo(vendor: FileBucketVendor, bucket: string, key: string, type?: 'oss' | 'imm'): Promise<Partial<VideoInfo> & any>;
35
+ /**
36
+ * 获取音频信息(暂不支持,需要实现)
37
+ */
38
+ getAudioInfo(vendor: FileBucketVendor, bucket: string, key: string, type?: 'oss' | 'imm'): Promise<Partial<AudioInfo> & any>;
39
+ /**
40
+ * 获取图片信息(暂不支持,需要实现)
41
+ */
42
+ getImageInfo(vendor: FileBucketVendor, bucket: string, key: string, type?: 'oss' | 'imm'): Promise<Partial<ImageInfo> & any>;
43
+ /**
44
+ * 视频单帧截取(暂不支持)
45
+ */
46
+ takeSnapshot(vendor: FileBucketVendor, bucket: string, key: string, options?: SnapshotOptions): Promise<string>;
47
+ /**
48
+ * 获取视频头图(暂不支持)
49
+ */
50
+ getVideoThumbnail(vendor: FileBucketVendor, bucket: string, key: string): Promise<string>;
51
+ /**
52
+ * 查询转码任务状态
53
+ */
54
+ getTranscodeTaskStatus(vendor: FileBucketVendor, bucket: string, taskId: string): Promise<{
55
+ status: string;
56
+ progress?: number;
57
+ result?: any;
58
+ error?: string;
59
+ }>;
60
+ /**
61
+ * 取消转码任务
62
+ */
63
+ cancelTranscodeTask(vendor: FileBucketVendor, taskId: string): Promise<boolean>;
64
+ /**
65
+ * 提交媒体处理任务
66
+ * 参考:https://www.volcengine.com/docs/6448/76377?lang=zh
67
+ *
68
+ * @param request 提交任务请求参数
69
+ * @returns 任务 ID
70
+ */
71
+ submitJob(request: VolcengineSubmitJobRequest): Promise<VolcengineSubmitJobResult>;
72
+ /**
73
+ * 查询转码任务状态
74
+ * 参考:https://www.volcengine.com/docs/6448/76379?lang=zh
75
+ */
76
+ getTask(vendor: FileBucketVendor, bucket: string, taskId: string): Promise<{
77
+ status: string;
78
+ progress?: number;
79
+ result?: any;
80
+ error?: string;
81
+ }>;
82
+ /**
83
+ * 取消转码任务
84
+ * 参考:https://www.volcengine.com/docs/6448/76377?lang=zh (CancelJob)
85
+ */
86
+ cancelTask(vendor: FileBucketVendor, bucket: string, taskId: string): Promise<boolean>;
87
+ /**
88
+ * 视频转码(使用火山引擎 VOD API)
89
+ * 参考:https://www.volcengine.com/docs/4/127559
90
+ */
91
+ transcodeVideo(vendor: FileBucketVendor, bucket: string, key: string, qualities?: VideoQuality[], index?: number): Promise<MediaConvertTaskResult>;
92
+ }
93
+ //# sourceMappingURL=volcengine-tos-transcode.client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"volcengine-tos-transcode.client.d.ts","sourceRoot":"","sources":["../../../../src/transcode/modules/volcengine-tos/volcengine-tos-transcode.client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,487 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.VolcengineTosTranscodeClient = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const nest_winston_1 = require("nest-winston");
18
+ const winston_1 = require("winston");
19
+ const config_1 = require("@nestjs/config");
20
+ const axios_1 = require("@nestjs/axios");
21
+ const rxjs_1 = require("rxjs");
22
+ const client_1 = require("@prisma/client");
23
+ const infra_common_1 = require("@dofe/infra-common");
24
+ const file_storage_service_1 = require("../../../file-storage/file-storage.service");
25
+ const openapi_1 = require("@volcengine/openapi");
26
+ const infra_utils_1 = require("@dofe/infra-utils");
27
+ let VolcengineTosTranscodeClient = class VolcengineTosTranscodeClient {
28
+ logger;
29
+ configService;
30
+ fileApi;
31
+ httpService;
32
+ baseUrl;
33
+ appConfig;
34
+ templateId;
35
+ action;
36
+ version;
37
+ accessKey;
38
+ secretKey;
39
+ region;
40
+ webhookApiBaseUrl;
41
+ callbackUri;
42
+ canCallback = false;
43
+ constructor(logger, configService, fileApi, httpService) {
44
+ this.logger = logger;
45
+ this.configService = configService;
46
+ this.fileApi = fileApi;
47
+ this.httpService = httpService;
48
+ const transcodeConfig = (0, infra_common_1.getKeysConfig)()?.transcode;
49
+ if (!transcodeConfig || !transcodeConfig.tos) {
50
+ throw new Error('Transcode config not found');
51
+ }
52
+ this.baseUrl =
53
+ transcodeConfig.tos.baseUrl ||
54
+ 'https://open.volcengineapi.com';
55
+ this.templateId = transcodeConfig.tos.templateId;
56
+ this.action = transcodeConfig.tos.action || 'SubmitJob';
57
+ this.version = transcodeConfig.tos.version || '2021-06-11';
58
+ this.accessKey = transcodeConfig.tos.accessKey;
59
+ this.secretKey = transcodeConfig.tos.secretKey;
60
+ this.region = transcodeConfig.tos.region || 'cn-beijing';
61
+ this.appConfig = this.configService.getOrThrow('app');
62
+ this.webhookApiBaseUrl = infra_utils_1.environmentUtil.generateEnvironmentUrls({
63
+ domain: this.appConfig.domain,
64
+ subDomain: this.appConfig.subDomain,
65
+ apiSubDomain: this.appConfig.apiSubDomain,
66
+ }).api;
67
+ this.callbackUri = `${this.webhookApiBaseUrl}/${transcodeConfig.tos.callbackUri}`;
68
+ }
69
+ /**
70
+ * 从视频中提取音频(使用火山引擎 VOD API)
71
+ * 使用模板:video_audio_mp3_128K
72
+ */
73
+ async extractAudioFromVideo(vendor, bucket, key, options = {}) {
74
+ throw new Error('Audio extracti on not supported for TOS');
75
+ }
76
+ /**
77
+ * 获取视频信息(暂不支持,需要实现)
78
+ */
79
+ async getVideoInfo(vendor, bucket, key, type) {
80
+ const videoInfo = await this.fileApi.getVideoInfo(vendor, bucket, key);
81
+ console.log('techwu getVideoInfo', vendor, bucket, key, videoInfo);
82
+ return videoInfo;
83
+ }
84
+ /**
85
+ * 获取音频信息(暂不支持,需要实现)
86
+ */
87
+ async getAudioInfo(vendor, bucket, key, type) {
88
+ return this.fileApi.getAudioInfo(vendor, bucket, key);
89
+ // throw new Error('Audio info extraction not yet implemented for TOS');
90
+ }
91
+ /**
92
+ * 获取图片信息(暂不支持,需要实现)
93
+ */
94
+ async getImageInfo(vendor, bucket, key, type) {
95
+ return this.fileApi.getImageInfo(vendor, bucket, key);
96
+ }
97
+ /**
98
+ * 视频单帧截取(暂不支持)
99
+ */
100
+ async takeSnapshot(vendor, bucket, key, options) {
101
+ console.log('techwu takeSnapshot', key);
102
+ const { time = '00:00:01', width = 0, height = 0, format = 'jpg', } = options;
103
+ // 将 time (如 '00:00:01') 转为毫秒格式
104
+ let timeMs = 0;
105
+ if (typeof time === 'string') {
106
+ const parts = time.split(':').map(Number);
107
+ if (parts.length === 3) {
108
+ const [hh, mm, ss] = parts;
109
+ timeMs = (hh * 60 * 60 + mm * 60 + ss) * 1000;
110
+ }
111
+ else if (parts.length === 2) {
112
+ const [mm, ss] = parts;
113
+ timeMs = (mm * 60 + ss) * 1000;
114
+ }
115
+ else if (parts.length === 1) {
116
+ timeMs = parts[0] * 1000;
117
+ }
118
+ }
119
+ else if (typeof time === 'number') {
120
+ timeMs = time;
121
+ }
122
+ return await this.fileApi.getSnapshot(vendor, bucket, key, {
123
+ time: timeMs,
124
+ width,
125
+ height,
126
+ format,
127
+ });
128
+ }
129
+ /**
130
+ * 获取视频头图(暂不支持)
131
+ */
132
+ async getVideoThumbnail(vendor, bucket, key) {
133
+ return await this.fileApi.getSnapshot(vendor, bucket, key);
134
+ }
135
+ /**
136
+ * 查询转码任务状态
137
+ */
138
+ async getTranscodeTaskStatus(vendor, bucket, taskId) {
139
+ return this.getTask(vendor, bucket, taskId);
140
+ }
141
+ /**
142
+ * 取消转码任务
143
+ */
144
+ async cancelTranscodeTask(vendor, taskId) {
145
+ // 需要 bucket 参数,但这里没有提供,尝试从配置中获取默认 bucket
146
+ const bucketConfigs = this.configService.getOrThrow('buckets');
147
+ const defaultBucketConfig = bucketConfigs.find((config) => config.vendor === 'tos');
148
+ if (!defaultBucketConfig) {
149
+ throw new Error('No TOS bucket configured');
150
+ }
151
+ return this.cancelTask(vendor, defaultBucketConfig.bucket, taskId);
152
+ }
153
+ /**
154
+ * 提交媒体处理任务
155
+ * 参考:https://www.volcengine.com/docs/6448/76377?lang=zh
156
+ *
157
+ * @param request 提交任务请求参数
158
+ * @returns 任务 ID
159
+ */
160
+ async submitJob(request) {
161
+ try {
162
+ if (!this.accessKey || !this.secretKey) {
163
+ throw new Error('Volcengine access key or secret key not configured');
164
+ }
165
+ this.logger.info('Submitting media processing job', {
166
+ templateId: request.TemplateId,
167
+ inputPath: request.InputPath,
168
+ });
169
+ // 构建请求参数
170
+ const requestParams = {
171
+ Action: this.action,
172
+ Version: this.version,
173
+ TemplateId: request.TemplateId,
174
+ };
175
+ // 设置输入路径(InputPath 和 MultiInputs 二选一)
176
+ if (request.MultiInputs) {
177
+ if (request.MultiInputs.length > 20) {
178
+ throw new Error('MultiInputs cannot exceed 20 items');
179
+ }
180
+ requestParams.MultiInputs = JSON.stringify(request.MultiInputs);
181
+ }
182
+ else if (request.InputPath) {
183
+ requestParams.InputPath = JSON.stringify(request.InputPath);
184
+ }
185
+ else {
186
+ throw new Error('Either InputPath or MultiInputs must be provided');
187
+ }
188
+ // 添加输出路径(如果提供)
189
+ if (request.OutputPath) {
190
+ requestParams.OutputPath = JSON.stringify(request.OutputPath);
191
+ }
192
+ // 添加动态参数(如果提供)
193
+ if (request.Params) {
194
+ requestParams.Params = JSON.stringify(request.Params);
195
+ }
196
+ // 添加回调参数
197
+ if (request.CallbackArgs) {
198
+ if (request.CallbackArgs.length > 512) {
199
+ throw new Error('CallbackArgs cannot exceed 512 bytes');
200
+ }
201
+ requestParams.CallbackArgs = request.CallbackArgs;
202
+ }
203
+ // 添加回调地址
204
+ if (this.canCallback) {
205
+ if (request.CallbackUri) {
206
+ requestParams.CallbackUri = request.CallbackUri;
207
+ if (request.CallbackContentType) {
208
+ requestParams.CallbackContentType =
209
+ request.CallbackContentType;
210
+ }
211
+ }
212
+ else {
213
+ // 如果没有提供回调地址,使用默认的回调地址
214
+ requestParams.CallbackUri = this.callbackUri;
215
+ requestParams.CallbackContentType = 'application/json';
216
+ }
217
+ }
218
+ else {
219
+ if (request.CallbackUri || request.CallbackContentType) {
220
+ // 如果提供了回调地址或回调参数,但 canCallback 为 false,则抛出错误
221
+ // 这是因为 TOS 不支持回调,如果需要回调,请联系火山云客服开通回调白名单功能
222
+ throw new Error('Callback is not supported for TOS, please set canCallback to true');
223
+ }
224
+ }
225
+ // 添加闲时任务选项
226
+ if (request.EnableLowPriority !== undefined) {
227
+ requestParams.EnableLowPriority =
228
+ request.EnableLowPriority.toString();
229
+ }
230
+ // 添加单任务触发参数(如果提供)
231
+ if (request.Job) {
232
+ requestParams.Job = JSON.stringify(request.Job);
233
+ }
234
+ // 使用 Signer 签名请求
235
+ const openApiRequestData = {
236
+ region: this.region,
237
+ method: 'POST',
238
+ params: requestParams,
239
+ headers: {},
240
+ body: '',
241
+ };
242
+ const signer = new openapi_1.Signer(openApiRequestData, 'imp');
243
+ signer.addAuthorization({
244
+ accessKeyId: this.accessKey,
245
+ secretKey: this.secretKey,
246
+ });
247
+ console.log('techwu openApiRequestData', requestParams);
248
+ // 发送请求
249
+ const response = await (0, rxjs_1.firstValueFrom)(this.httpService.request({
250
+ url: this.baseUrl,
251
+ headers: openApiRequestData.headers,
252
+ params: openApiRequestData.params,
253
+ method: openApiRequestData.method,
254
+ }));
255
+ if (!response?.data?.Result) {
256
+ throw new Error('Invalid response from Volcengine IMP API: missing Result');
257
+ }
258
+ const result = {
259
+ taskId: response.data.Result,
260
+ requestId: response.data.ResponseMetadata?.RequestId || '',
261
+ eventId: response.data.Result,
262
+ };
263
+ this.logger.info('Media processing job submitted successfully', {
264
+ taskId: result.taskId,
265
+ templateId: request.TemplateId,
266
+ });
267
+ return result;
268
+ }
269
+ catch (error) {
270
+ const errorMessage = error instanceof Error ? error.message : String(error);
271
+ this.logger.error('Failed to submit media processing job', {
272
+ templateId: request.TemplateId,
273
+ error: errorMessage,
274
+ stack: error instanceof Error ? error.stack : undefined,
275
+ });
276
+ throw error;
277
+ }
278
+ }
279
+ /**
280
+ * 查询转码任务状态
281
+ * 参考:https://www.volcengine.com/docs/6448/76379?lang=zh
282
+ */
283
+ async getTask(vendor, bucket, taskId) {
284
+ try {
285
+ if (vendor !== 'tos') {
286
+ throw new Error(`Unsupported vendor for TOS: ${vendor}`);
287
+ }
288
+ if (!this.accessKey || !this.secretKey) {
289
+ throw new Error('Volcengine access key or secret key not configured');
290
+ }
291
+ this.logger.info('Retrieving media processing job', {
292
+ taskId,
293
+ });
294
+ // 构建请求参数
295
+ const requestParams = {
296
+ Action: 'RetrieveJob',
297
+ Version: '2021-06-11',
298
+ JobIds: JSON.stringify([taskId]), // JobIds 需要是 JSON 数组字符串
299
+ };
300
+ // 使用 Signer 签名请求
301
+ const openApiRequestData = {
302
+ region: this.region,
303
+ method: 'POST',
304
+ params: requestParams,
305
+ headers: {},
306
+ body: '',
307
+ };
308
+ const signer = new openapi_1.Signer(openApiRequestData, 'imp');
309
+ signer.addAuthorization({
310
+ accessKeyId: this.accessKey,
311
+ secretKey: this.secretKey,
312
+ });
313
+ // 发送请求
314
+ const response = await (0, rxjs_1.firstValueFrom)(this.httpService.request({
315
+ url: this.baseUrl,
316
+ headers: openApiRequestData.headers,
317
+ params: openApiRequestData.params,
318
+ method: openApiRequestData.method,
319
+ }));
320
+ if (!response?.data?.Result) {
321
+ throw new Error('Invalid response from Volcengine IMP API: missing Result');
322
+ }
323
+ // 从 Result 中获取对应 taskId 的任务信息
324
+ const jobInfo = response.data.Result[taskId];
325
+ if (!jobInfo) {
326
+ throw new Error(`Job not found: ${taskId}`);
327
+ }
328
+ // 解析任务状态
329
+ const status = jobInfo.Status || 'unknown';
330
+ const result = jobInfo;
331
+ const error = jobInfo.JobContent?.Error || undefined;
332
+ // 尝试从 JobContent 中提取进度信息
333
+ let progress;
334
+ if (jobInfo.JobContent) {
335
+ // 根据实际返回结构提取进度
336
+ progress =
337
+ jobInfo.JobContent.Progress || jobInfo.JobContent.progress;
338
+ }
339
+ this.logger.info('Media processing job retrieved successfully', {
340
+ taskId,
341
+ status,
342
+ progress,
343
+ });
344
+ return {
345
+ status,
346
+ progress,
347
+ result,
348
+ error,
349
+ };
350
+ }
351
+ catch (error) {
352
+ const errorMessage = error instanceof Error ? error.message : String(error);
353
+ this.logger.error('Failed to get task status', {
354
+ taskId,
355
+ error: errorMessage,
356
+ stack: error instanceof Error ? error.stack : undefined,
357
+ });
358
+ throw error;
359
+ }
360
+ }
361
+ /**
362
+ * 取消转码任务
363
+ * 参考:https://www.volcengine.com/docs/6448/76377?lang=zh (CancelJob)
364
+ */
365
+ async cancelTask(vendor, bucket, taskId) {
366
+ try {
367
+ if (vendor !== 'tos') {
368
+ throw new Error(`Unsupported vendor for TOS: ${vendor}`);
369
+ }
370
+ if (!this.accessKey || !this.secretKey) {
371
+ throw new Error('Volcengine access key or secret key not configured');
372
+ }
373
+ this.logger.info('Cancelling media processing job', {
374
+ taskId,
375
+ });
376
+ // 构建请求参数
377
+ const requestParams = {
378
+ Action: 'CancelJob',
379
+ Version: '2021-06-11',
380
+ JobId: taskId,
381
+ };
382
+ // 使用 Signer 签名请求
383
+ const openApiRequestData = {
384
+ region: this.region,
385
+ method: 'POST',
386
+ params: requestParams,
387
+ headers: {},
388
+ body: '',
389
+ };
390
+ const signer = new openapi_1.Signer(openApiRequestData, 'imp');
391
+ signer.addAuthorization({
392
+ accessKeyId: this.accessKey,
393
+ secretKey: this.secretKey,
394
+ });
395
+ // 发送请求
396
+ const response = await (0, rxjs_1.firstValueFrom)(this.httpService.request({
397
+ url: this.baseUrl,
398
+ headers: openApiRequestData.headers,
399
+ params: openApiRequestData.params,
400
+ method: openApiRequestData.method,
401
+ }));
402
+ this.logger.info('Media processing job cancelled successfully', {
403
+ taskId,
404
+ requestId: response.data.ResponseMetadata?.RequestId,
405
+ });
406
+ return true;
407
+ }
408
+ catch (error) {
409
+ const errorMessage = error instanceof Error ? error.message : String(error);
410
+ this.logger.error('Failed to cancel task', {
411
+ taskId,
412
+ error: errorMessage,
413
+ stack: error instanceof Error ? error.stack : undefined,
414
+ });
415
+ throw error;
416
+ }
417
+ }
418
+ /**
419
+ * 视频转码(使用火山引擎 VOD API)
420
+ * 参考:https://www.volcengine.com/docs/4/127559
421
+ */
422
+ async transcodeVideo(vendor, bucket, key, qualities = [
423
+ client_1.VideoQuality.VIDEO_4K,
424
+ client_1.VideoQuality.VIDEO_1080P,
425
+ client_1.VideoQuality.VIDEO_720P,
426
+ client_1.VideoQuality.VIDEO_360P,
427
+ ], index = 0) {
428
+ try {
429
+ if (vendor !== 'tos') {
430
+ throw new Error(`Unsupported vendor for TOS transcode: ${vendor}`);
431
+ }
432
+ this.logger.info('Creating video transcode task using Volcengine VOD', {
433
+ vendor,
434
+ bucket,
435
+ key,
436
+ qualities,
437
+ });
438
+ const request = {
439
+ Action: this.action,
440
+ Version: this.version,
441
+ TemplateId: this.templateId,
442
+ InputPath: {
443
+ Type: 'TOS',
444
+ TosBucket: bucket,
445
+ FileId: key,
446
+ },
447
+ CallbackArgs: JSON.stringify({
448
+ vendor,
449
+ bucket,
450
+ key,
451
+ index,
452
+ timestamp: new Date().toISOString(),
453
+ }),
454
+ // CallbackUri: `${this.webhookApiBaseUrl}/api/webhook/transcode/volcengine`,
455
+ // CallbackContentType: 'application/json',
456
+ };
457
+ if (this.canCallback) {
458
+ request.CallbackUri = this.callbackUri;
459
+ request.CallbackContentType = 'application/json';
460
+ }
461
+ const result = await this.submitJob(request);
462
+ console.log('techwu submitJob result', result);
463
+ return result;
464
+ }
465
+ catch (error) {
466
+ const errorMessage = error instanceof Error ? error.message : String(error);
467
+ this.logger.error('Failed to create video transcode task', {
468
+ vendor,
469
+ bucket,
470
+ key,
471
+ qualities,
472
+ error: errorMessage,
473
+ });
474
+ throw error;
475
+ }
476
+ }
477
+ };
478
+ exports.VolcengineTosTranscodeClient = VolcengineTosTranscodeClient;
479
+ exports.VolcengineTosTranscodeClient = VolcengineTosTranscodeClient = __decorate([
480
+ (0, common_1.Injectable)(),
481
+ __param(0, (0, common_1.Inject)(nest_winston_1.WINSTON_MODULE_PROVIDER)),
482
+ __metadata("design:paramtypes", [winston_1.Logger,
483
+ config_1.ConfigService,
484
+ file_storage_service_1.FileStorageService,
485
+ axios_1.HttpService])
486
+ ], VolcengineTosTranscodeClient);
487
+ //# sourceMappingURL=volcengine-tos-transcode.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"volcengine-tos-transcode.client.js","sourceRoot":"","sources":["../../../../src/transcode/modules/volcengine-tos/volcengine-tos-transcode.client.ts"],"names":[],"mappings":"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"}