@norskvideo/norsk-studio-built-ins 1.11.6 → 1.12.0-2025-01-28-397642d6

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 (238) hide show
  1. package/README.md +16 -0
  2. package/client/info.js +1402 -782
  3. package/client/output.whep/styles.css +9 -0
  4. package/client/style.css +520 -858
  5. package/lib/info.js +4 -8
  6. package/lib/info.js.map +1 -1
  7. package/lib/input.rtmp/info.js +2 -1
  8. package/lib/input.rtmp/info.js.map +1 -1
  9. package/lib/input.rtmp/runtime.d.ts +24 -5
  10. package/lib/input.rtmp/runtime.js +166 -60
  11. package/lib/input.rtmp/runtime.js.map +1 -1
  12. package/lib/input.rtmp/summary-view.d.ts +3 -5
  13. package/lib/input.rtmp/summary-view.js +26 -6
  14. package/lib/input.rtmp/summary-view.js.map +1 -1
  15. package/lib/input.rtmp/types.d.ts +133 -0
  16. package/lib/input.rtmp/types.js +3 -0
  17. package/lib/input.rtmp/types.js.map +1 -0
  18. package/lib/input.rtmp/types.yaml +99 -0
  19. package/lib/input.silence/info.js +3 -2
  20. package/lib/input.silence/info.js.map +1 -1
  21. package/lib/input.srt-caller/info.js +6 -5
  22. package/lib/input.srt-caller/info.js.map +1 -1
  23. package/lib/input.srt-caller/runtime.d.ts +1 -1
  24. package/lib/input.srt-listener/info.js +14 -6
  25. package/lib/input.srt-listener/info.js.map +1 -1
  26. package/lib/input.srt-listener/runtime.d.ts +42 -6
  27. package/lib/input.srt-listener/runtime.js +237 -57
  28. package/lib/input.srt-listener/runtime.js.map +1 -1
  29. package/lib/input.srt-listener/summary-view.d.ts +3 -5
  30. package/lib/input.srt-listener/summary-view.js +81 -5
  31. package/lib/input.srt-listener/summary-view.js.map +1 -1
  32. package/lib/input.srt-listener/types.d.ts +193 -0
  33. package/lib/input.srt-listener/types.js +3 -0
  34. package/lib/input.srt-listener/types.js.map +1 -0
  35. package/lib/input.srt-listener/types.yaml +145 -0
  36. package/lib/input.udp-ts/info.d.ts +1 -1
  37. package/lib/input.udp-ts/info.js +5 -4
  38. package/lib/input.udp-ts/info.js.map +1 -1
  39. package/lib/input.udp-ts/runtime.d.ts +1 -1
  40. package/lib/input.videoTestCard/info.d.ts +1 -1
  41. package/lib/input.videoTestCard/info.js +14 -4
  42. package/lib/input.videoTestCard/info.js.map +1 -1
  43. package/lib/output.autoCmaf/info.d.ts +2 -2
  44. package/lib/output.autoCmaf/info.js +65 -7
  45. package/lib/output.autoCmaf/info.js.map +1 -1
  46. package/lib/output.autoCmaf/runtime.d.ts +29 -9
  47. package/lib/output.autoCmaf/runtime.js +198 -60
  48. package/lib/output.autoCmaf/runtime.js.map +1 -1
  49. package/lib/output.autoCmaf/summary.js +26 -1
  50. package/lib/output.autoCmaf/summary.js.map +1 -1
  51. package/lib/output.autoCmaf/types.d.ts +101 -0
  52. package/lib/output.autoCmaf/types.js +3 -0
  53. package/lib/output.autoCmaf/types.js.map +1 -0
  54. package/lib/output.autoCmaf/types.yaml +28 -0
  55. package/lib/output.preview/info.js +5 -2
  56. package/lib/output.preview/info.js.map +1 -1
  57. package/lib/output.preview/inline-view.d.ts +2 -4
  58. package/lib/output.preview/inline-view.js +41 -7
  59. package/lib/output.preview/inline-view.js.map +1 -1
  60. package/lib/output.preview/runtime.d.ts +5 -3
  61. package/lib/output.preview/runtime.js +29 -18
  62. package/lib/output.preview/runtime.js.map +1 -1
  63. package/lib/output.rtmp/info.js +1 -0
  64. package/lib/output.rtmp/info.js.map +1 -1
  65. package/lib/output.rtmp/inline-view.js +2 -2
  66. package/lib/output.rtmp/runtime.d.ts +2 -2
  67. package/lib/output.rtmp/runtime.js.map +1 -1
  68. package/lib/output.srt/info.d.ts +2 -2
  69. package/lib/output.srt/info.js +26 -5
  70. package/lib/output.srt/info.js.map +1 -1
  71. package/lib/output.srt/runtime.d.ts +30 -5
  72. package/lib/output.srt/runtime.js +139 -5
  73. package/lib/output.srt/runtime.js.map +1 -1
  74. package/lib/output.srt/types.d.ts +101 -0
  75. package/lib/output.srt/types.js +3 -0
  76. package/lib/output.srt/types.js.map +1 -0
  77. package/lib/output.srt/types.yaml +31 -0
  78. package/lib/output.statistics/info.js +1 -0
  79. package/lib/output.statistics/info.js.map +1 -1
  80. package/lib/output.statistics/inline-view.js +3 -2
  81. package/lib/output.statistics/inline-view.js.map +1 -1
  82. package/lib/output.statistics/runtime.d.ts +1 -1
  83. package/lib/output.statistics/runtime.js.map +1 -1
  84. package/lib/output.udpTs/info.d.ts +1 -1
  85. package/lib/output.udpTs/info.js +4 -3
  86. package/lib/output.udpTs/info.js.map +1 -1
  87. package/lib/output.udpTs/runtime.d.ts +1 -1
  88. package/lib/output.whep/info.d.ts +2 -2
  89. package/lib/output.whep/info.js +50 -1
  90. package/lib/output.whep/info.js.map +1 -1
  91. package/lib/output.whep/inline-view.d.ts +4 -0
  92. package/lib/output.whep/inline-view.js +57 -0
  93. package/lib/output.whep/inline-view.js.map +1 -0
  94. package/lib/output.whep/runtime.d.ts +27 -5
  95. package/lib/output.whep/runtime.js +64 -13
  96. package/lib/output.whep/runtime.js.map +1 -1
  97. package/lib/output.whep/types.d.ts +101 -0
  98. package/lib/output.whep/types.js +3 -0
  99. package/lib/output.whep/types.js.map +1 -0
  100. package/lib/output.whep/types.yaml +30 -0
  101. package/lib/processor.browserOverlay/info.d.ts +2 -2
  102. package/lib/processor.browserOverlay/info.js +56 -2
  103. package/lib/processor.browserOverlay/info.js.map +1 -1
  104. package/lib/processor.browserOverlay/inline-view.d.ts +6 -0
  105. package/lib/processor.browserOverlay/inline-view.js +8 -0
  106. package/lib/processor.browserOverlay/inline-view.js.map +1 -0
  107. package/lib/processor.browserOverlay/runtime.d.ts +40 -6
  108. package/lib/processor.browserOverlay/runtime.js +151 -23
  109. package/lib/processor.browserOverlay/runtime.js.map +1 -1
  110. package/lib/processor.browserOverlay/summary-view.d.ts +4 -0
  111. package/lib/processor.browserOverlay/summary-view.js +27 -0
  112. package/lib/processor.browserOverlay/summary-view.js.map +1 -0
  113. package/lib/processor.browserOverlay/types.d.ts +174 -0
  114. package/lib/processor.browserOverlay/types.js +3 -0
  115. package/lib/processor.browserOverlay/types.js.map +1 -0
  116. package/lib/processor.browserOverlay/types.yaml +65 -0
  117. package/lib/processor.cascadingSwitch/info.js +4 -3
  118. package/lib/processor.cascadingSwitch/info.js.map +1 -1
  119. package/lib/processor.cascadingSwitch/inline-view.js +3 -3
  120. package/lib/processor.cascadingSwitch/runtime.d.ts +1 -1
  121. package/lib/processor.cascadingSwitch/runtime.js +2 -2
  122. package/lib/processor.cascadingSwitch/runtime.js.map +1 -1
  123. package/lib/processor.fixedLadder/codec-editor.js +1 -1
  124. package/lib/processor.fixedLadder/codec-editor.js.map +1 -1
  125. package/lib/processor.fixedLadder/codec-view.js +1 -1
  126. package/lib/processor.fixedLadder/codec-view.js.map +1 -1
  127. package/lib/processor.fixedLadder/info.js +4 -2
  128. package/lib/processor.fixedLadder/info.js.map +1 -1
  129. package/lib/processor.fixedLadder/rung-view.js +1 -1
  130. package/lib/processor.fixedLadder/rung-view.js.map +1 -1
  131. package/lib/processor.onscreenGraphic/image-selection.d.ts +9 -0
  132. package/lib/{processor.dynamicBug/bug-selection.js → processor.onscreenGraphic/image-selection.js} +10 -10
  133. package/lib/processor.onscreenGraphic/image-selection.js.map +1 -0
  134. package/lib/processor.onscreenGraphic/info.d.ts +3 -0
  135. package/lib/{processor.dynamicBug → processor.onscreenGraphic}/info.js +23 -16
  136. package/lib/processor.onscreenGraphic/info.js.map +1 -0
  137. package/lib/processor.onscreenGraphic/runtime.d.ts +91 -0
  138. package/lib/processor.onscreenGraphic/runtime.js +503 -0
  139. package/lib/processor.onscreenGraphic/runtime.js.map +1 -0
  140. package/lib/processor.onscreenGraphic/summary-view.d.ts +4 -0
  141. package/lib/processor.onscreenGraphic/summary-view.js +343 -0
  142. package/lib/processor.onscreenGraphic/summary-view.js.map +1 -0
  143. package/lib/processor.onscreenGraphic/types.d.ts +271 -0
  144. package/lib/processor.onscreenGraphic/types.js +3 -0
  145. package/lib/processor.onscreenGraphic/types.js.map +1 -0
  146. package/lib/processor.onscreenGraphic/types.yaml +211 -0
  147. package/lib/processor.streamKeyOverride/info.d.ts +3 -0
  148. package/lib/processor.streamKeyOverride/info.js +150 -0
  149. package/lib/processor.streamKeyOverride/info.js.map +1 -0
  150. package/lib/processor.streamKeyOverride/runtime.d.ts +54 -0
  151. package/lib/processor.streamKeyOverride/runtime.js +226 -0
  152. package/lib/processor.streamKeyOverride/runtime.js.map +1 -0
  153. package/lib/shared/drm/axinom.d.ts +2 -0
  154. package/lib/shared/drm/axinom.js +120 -0
  155. package/lib/shared/drm/axinom.js.map +1 -0
  156. package/lib/shared/drm/cpix.d.ts +24 -0
  157. package/lib/shared/drm/cpix.js +97 -0
  158. package/lib/shared/drm/cpix.js.map +1 -0
  159. package/lib/shared/drm/ezdrm.d.ts +2 -0
  160. package/lib/shared/drm/ezdrm.js +26 -0
  161. package/lib/shared/drm/ezdrm.js.map +1 -0
  162. package/lib/shared/srt-socket-options.js +6 -6
  163. package/lib/shared/srt-socket-options.js.map +1 -1
  164. package/lib/test/auto-cmaf.js +25 -17
  165. package/lib/test/auto-cmaf.js.map +1 -1
  166. package/lib/test/browser-overlay.js +1 -0
  167. package/lib/test/browser-overlay.js.map +1 -1
  168. package/lib/test/{dynamic-bug.js → onscreen-graphic.js} +139 -106
  169. package/lib/test/onscreen-graphic.js.map +1 -0
  170. package/lib/test/preview.js +3 -3
  171. package/lib/test/preview.js.map +1 -1
  172. package/lib/test/rtmp-input.js +6 -3
  173. package/lib/test/rtmp-input.js.map +1 -1
  174. package/lib/test/srt-input-caller.js +5 -5
  175. package/lib/test/srt-input-caller.js.map +1 -1
  176. package/lib/test/srt-input-listener.js +99 -18
  177. package/lib/test/srt-input-listener.js.map +1 -1
  178. package/lib/test/srt-output.js +2 -2
  179. package/lib/test/srt-output.js.map +1 -1
  180. package/lib/test/udp-output.js +2 -2
  181. package/lib/test/udp-output.js.map +1 -1
  182. package/lib/test/udp-ts-input.js +2 -2
  183. package/lib/test/udp-ts-input.js.map +1 -1
  184. package/lib/test/whep-output.js +8 -2
  185. package/lib/test/whep-output.js.map +1 -1
  186. package/lib/{util.latency → util.stats.latency}/info.js +2 -1
  187. package/lib/util.stats.latency/info.js.map +1 -0
  188. package/lib/util.stats.latency/inline-view.js.map +1 -0
  189. package/lib/{util.latency → util.stats.latency}/runtime.d.ts +1 -1
  190. package/lib/{util.latency → util.stats.latency}/runtime.js +2 -2
  191. package/lib/util.stats.latency/runtime.js.map +1 -0
  192. package/lib/util.stats.latency/source-node-selection.js.map +1 -0
  193. package/package.json +12 -5
  194. package/lib/processor.dynamicBug/bug-selection.d.ts +0 -9
  195. package/lib/processor.dynamicBug/bug-selection.js.map +0 -1
  196. package/lib/processor.dynamicBug/info.d.ts +0 -3
  197. package/lib/processor.dynamicBug/info.js.map +0 -1
  198. package/lib/processor.dynamicBug/runtime.d.ts +0 -64
  199. package/lib/processor.dynamicBug/runtime.js +0 -297
  200. package/lib/processor.dynamicBug/runtime.js.map +0 -1
  201. package/lib/processor.dynamicBug/summary-view.d.ts +0 -4
  202. package/lib/processor.dynamicBug/summary-view.js +0 -60
  203. package/lib/processor.dynamicBug/summary-view.js.map +0 -1
  204. package/lib/processor.whisper-transcribe/info.d.ts +0 -3
  205. package/lib/processor.whisper-transcribe/info.js +0 -43
  206. package/lib/processor.whisper-transcribe/info.js.map +0 -1
  207. package/lib/processor.whisper-transcribe/runtime.d.ts +0 -29
  208. package/lib/processor.whisper-transcribe/runtime.js +0 -83
  209. package/lib/processor.whisper-transcribe/runtime.js.map +0 -1
  210. package/lib/test/dynamic-bug.js.map +0 -1
  211. package/lib/util.latency/info.js.map +0 -1
  212. package/lib/util.latency/inline-view.js.map +0 -1
  213. package/lib/util.latency/runtime.js.map +0 -1
  214. package/lib/util.latency/source-node-selection.js.map +0 -1
  215. package/lib/util.ma35d/info.d.ts +0 -3
  216. package/lib/util.ma35d/info.js +0 -78
  217. package/lib/util.ma35d/info.js.map +0 -1
  218. package/lib/util.ma35d/inline-view.d.ts +0 -6
  219. package/lib/util.ma35d/inline-view.js +0 -76
  220. package/lib/util.ma35d/inline-view.js.map +0 -1
  221. package/lib/util.ma35d/runtime.d.ts +0 -21
  222. package/lib/util.ma35d/runtime.js +0 -49
  223. package/lib/util.ma35d/runtime.js.map +0 -1
  224. package/lib/util.timestamps/info.d.ts +0 -5
  225. package/lib/util.timestamps/info.js +0 -86
  226. package/lib/util.timestamps/info.js.map +0 -1
  227. package/lib/util.timestamps/inline-view.d.ts +0 -6
  228. package/lib/util.timestamps/inline-view.js +0 -94
  229. package/lib/util.timestamps/inline-view.js.map +0 -1
  230. package/lib/util.timestamps/runtime.d.ts +0 -29
  231. package/lib/util.timestamps/runtime.js +0 -40
  232. package/lib/util.timestamps/runtime.js.map +0 -1
  233. /package/lib/test/{dynamic-bug.d.ts → onscreen-graphic.d.ts} +0 -0
  234. /package/lib/{util.latency → util.stats.latency}/info.d.ts +0 -0
  235. /package/lib/{util.latency → util.stats.latency}/inline-view.d.ts +0 -0
  236. /package/lib/{util.latency → util.stats.latency}/inline-view.js +0 -0
  237. /package/lib/{util.latency → util.stats.latency}/source-node-selection.d.ts +0 -0
  238. /package/lib/{util.latency → util.stats.latency}/source-node-selection.js +0 -0
package/package.json CHANGED
@@ -1,13 +1,15 @@
1
1
  {
2
2
  "name": "@norskvideo/norsk-studio-built-ins",
3
- "version": "1.11.6",
3
+ "version": "1.12.0-2025-01-28-397642d6",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "clean": "rm -rf lib",
7
- "build": "npx studio-wrap-infos src/ && npx npm-run-all build:* && rm -rf build",
7
+ "types": "make",
8
+ "build": "npm run types && npx studio-wrap-infos src/ && npx npm-run-all build:* && rm -rf build",
8
9
  "build:server": "npx tsc",
9
10
  "build:client": "npx tsc -p tsconfig-client.json && npx studio-bundle build/info.js client/info.js",
10
- "build:copy-css": "rsync --mkpath -v -r --include '*/' --include '*.css' --exclude '*' src/ client/",
11
+ "build:css": "rsync --mkpath -v -r --include '*/' --include '*.css' --exclude '*' src/ client/",
12
+ "build:types": "rsync --mkpath -v -r --include '*/' --include 'types.yaml' --exclude '*' src/ lib/",
11
13
  "build:tailwind": "npx tailwindcss -i src/shared/tailwind.css -o client/style.css",
12
14
  "build:eslint": "npx eslint src",
13
15
  "test": "LOG_LEVEL=${LOG_LEVEL:-error} NODE_ENV=test mocha --no-parallel --jobs=0 --timeout 120000 --recursive lib/test"
@@ -19,13 +21,15 @@
19
21
  ],
20
22
  "license": "MIT",
21
23
  "dependencies": {
22
- "@norskvideo/norsk-sdk": "^1.0.368",
23
- "@norskvideo/norsk-studio": "^1.18.5",
24
+ "@norskvideo/norsk-sdk": "^1.0.399-2025-01-28-7195a061",
25
+ "@norskvideo/norsk-studio": "^1.20.1-2025-01-28-d7ddc822",
24
26
  "@norskvideo/webrtc-client": "^0.1.2",
25
27
  "body-parser": "^1.20.2",
26
28
  "cors": "^2.8.5",
27
29
  "express": "^4.18.2",
28
30
  "express-ws": "^5.0.2",
31
+ "json-refs": "^3.0.15",
32
+ "jsonwebtoken": "^9.0.2",
29
33
  "multer": "^1.4.5-lts.1"
30
34
  },
31
35
  "main": "lib/index.js",
@@ -35,6 +39,7 @@
35
39
  "@types/express": "^4.17.20",
36
40
  "@types/express-ws": "^3.0.3",
37
41
  "@types/hls-parser": "^0.8.7",
42
+ "@types/jsonwebtoken": "^9.0.6",
38
43
  "@types/mocha": "^10.0.6",
39
44
  "@types/multer": "^1.4.11",
40
45
  "@types/node-fetch": "^2.6.9",
@@ -53,6 +58,8 @@
53
58
  "mocha": "^10.4.0",
54
59
  "node-fetch": "^2.7.0",
55
60
  "npm-run-all": "^4.1.5",
61
+ "openapi-types": "^12.1.3",
62
+ "openapi-typescript": "^7.3.0",
56
63
  "puppeteer": "^21.5.2",
57
64
  "react": "^18.3.0",
58
65
  "tailwindcss": "^3.4.1",
@@ -1,9 +0,0 @@
1
- import type { DynamicBugConfig } from "./runtime";
2
- type BugSelectionProps = {
3
- defaultValue?: string;
4
- id: string;
5
- onChanged: (value: string) => void;
6
- latest: Partial<DynamicBugConfig>;
7
- };
8
- declare function BugSelection(props: BugSelectionProps): import("react/jsx-runtime").JSX.Element;
9
- export default BugSelection;
@@ -1 +0,0 @@
1
- {"version":3,"file":"bug-selection.js","sourceRoot":"","sources":["../../src/processor.dynamicBug/bug-selection.tsx"],"names":[],"mappings":";;;AAAA,iCAAyD;AAUzD,SAAS,YAAY,CAAC,KAAwB;IAC5C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC;IAE7C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,KAAK,IAAI,EAAE;YACpB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,sCAAsC,CAAC,CAAA;YAClE,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC7B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAc,CAAC;gBAC7C,OAAO,CAAC,IAAI,CAAC,CAAC;gBACd,UAAU,CAAC,KAAK,CAAC,CAAC;gBAClB,IAAI,KAAK,CAAC,YAAY;oBACpB,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;QACH,CAAC,CAAA;QACD,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,gBAAQ,EAAW,EAAE,CAAC,CAAC;IAE/C,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,wDAAoB,CAAA;IAC7B,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,6DAAyB,CAAA;IAClC,CAAC;IAED,OAAO,0CACL,oCAAQ,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,SAAS,EAAE,0BAA0B,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,aACrI,mCAAoB,KAAK,EAAC,EAAE,qBAAhB,OAAO,CAAsB,EACxC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACjB,OAAO,mCAAgB,KAAK,EAAE,CAAC,YAAG,CAAC,IAAf,CAAC,CAAwB,CAAA;gBAC/C,CAAC,CAAC,IACK,GACL,CAAA;IAGN,SAAS,UAAU,CAAC,CAAiC;QACnD,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED,kBAAe,YAAY,CAAC"}
@@ -1,3 +0,0 @@
1
- import type Registration from "@norskvideo/norsk-studio/lib/extension/registration";
2
- import type { DynamicBugCommand, DynamicBugConfig, DynamicBugEvent, DynamicBugState } from "./runtime";
3
- export default function ({ defineComponent, Video }: Registration): import("@norskvideo/norsk-studio/lib/extension/client-types").NodeInfo<DynamicBugConfig, DynamicBugState, DynamicBugCommand, DynamicBugEvent>;
@@ -1 +0,0 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/processor.dynamicBug/info.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,4BAyEC;AA7ED,uEAA+E;AAC/E,kDAA0B;AAG1B,mBAAwB,EACtB,eAAe,EACf,KAAK,EACQ;IACb,MAAM,YAAY,GAAG,eAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,mDAAQ,iBAAiB,GAAC,CAAC,CAAC;IACvE,MAAM,WAAW,GAAG,eAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,mDAAQ,gBAAgB,GAAC,CAAC,CAAC;IAErE,OAAO,eAAe,CAAwE;QAC5F,UAAU,EAAE,sBAAsB;QAClC,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,aAAa;QACnB,YAAY,EAAE;YAEZ,OAAO,EAAE;gBACP,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,KAAK;aACb;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,KAAK;aACb;SACF;QACD,eAAe,EAAE,UAAS,GAAG;YAC3B,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,OAAO;gBACL,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM;aAC1C,CAAA;QACH,CAAC;QACD,OAAO,EAAE;YACP,OAAO,EAAE,WAAW;YACpB,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,EACpB,CAAC;YACF,WAAW,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;gBACzB,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC;gBACvB,QAAQ,MAAM,EAAE,CAAC;oBACf,KAAK,aAAa;wBAChB,OAAO,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;oBAC3E;wBACE,iBAAiB,CAAC,MAAM,CAAC,CAAA;gBAE7B,CAAC;YACH,CAAC;SACF;QACD,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,QAAQ,EAAE,IAAA,0BAAiB,GAAE;aAC9B;YACD,IAAI,EAAE;gBACJ,UAAU,EAAE;oBACV,IAAI,EAAE,iDAAiD;oBACvD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,YAAY;qBACxB;iBACF;gBACD,eAAe,EAAE;oBACf,IAAI,EAAE,2CAA2C;oBACjD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,IAAI;wBACd,OAAO,EAAE;4BACP,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE;4BACzC,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE;4BAC3C,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE;4BAC/C,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE;yBAClD;qBACF;iBACF;aACF;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAQ;IACjC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAC/C,CAAC"}
@@ -1,64 +0,0 @@
1
- import { ComposePart, FileImageInputNode, Norsk, VideoComposeNode, VideoStreamMetadata } from '@norskvideo/norsk-sdk';
2
- import { CreatedMediaNode, OnCreated, RelatedMediaNodes, RuntimeUpdates, ServerComponentDefinition, StudioNodeSubscriptionSource, StudioRuntime } from '@norskvideo/norsk-studio/lib/extension/runtime-types';
3
- import { HardwareAccelerationType } from '@norskvideo/norsk-studio/lib/shared/config';
4
- import { Router } from 'express';
5
- import { ContextPromiseControl } from '@norskvideo/norsk-studio/lib/runtime/util';
6
- export type DynamicBugPosition = "topleft" | "topright" | "bottomleft" | "bottomright";
7
- export type DynamicBugConfig = {
8
- __global: {
9
- hardware?: HardwareAccelerationType;
10
- dataDir?: string;
11
- };
12
- id: string;
13
- displayName: string;
14
- defaultBug?: string;
15
- defaultPosition?: DynamicBugPosition;
16
- };
17
- export type DynamicBugState = {
18
- activeBug?: {
19
- file?: string;
20
- position?: DynamicBugPosition;
21
- };
22
- };
23
- export type DynamicBugCommand = {
24
- type: 'change-bug';
25
- file?: string;
26
- position?: DynamicBugPosition;
27
- };
28
- export type DynamicBugEvent = {
29
- type: 'bug-changed';
30
- file?: string;
31
- position?: DynamicBugPosition;
32
- };
33
- export default class DynamicBugDefinition implements ServerComponentDefinition<DynamicBugConfig, DynamicBug, DynamicBugState, DynamicBugCommand, DynamicBugEvent> {
34
- create(norsk: Norsk, cfg: DynamicBugConfig, cb: OnCreated<DynamicBug>, runtime: StudioRuntime<DynamicBugState, DynamicBugEvent>): Promise<void>;
35
- routes(): Router;
36
- handleCommand(node: DynamicBug, command: DynamicBugCommand): Promise<void>;
37
- }
38
- export declare class DynamicBug implements CreatedMediaNode {
39
- id: string;
40
- relatedMediaNodes: RelatedMediaNodes;
41
- contexts: ContextPromiseControl;
42
- norsk: Norsk;
43
- cfg: DynamicBugConfig;
44
- bug?: string;
45
- position?: DynamicBugPosition;
46
- videoSource?: StudioNodeSubscriptionSource;
47
- composeNode?: VideoComposeNode<"video" | "bug">;
48
- imageSource?: FileImageInputNode;
49
- oldImageSource?: FileImageInputNode;
50
- activeImage: "a" | "b";
51
- initialised: Promise<void>;
52
- updates: RuntimeUpdates<DynamicBugState, DynamicBugEvent>;
53
- currentVideo?: VideoStreamMetadata;
54
- static create(norsk: Norsk, cfg: DynamicBugConfig, updates: RuntimeUpdates<DynamicBugState, DynamicBugEvent>): Promise<DynamicBug>;
55
- constructor(norsk: Norsk, cfg: DynamicBugConfig, updates: RuntimeUpdates<DynamicBugState, DynamicBugEvent>);
56
- handleContext(): Promise<void>;
57
- doSubs(imageSource?: FileImageInputNode): void;
58
- setupBug(bug?: string, position?: DynamicBugPosition): Promise<void>;
59
- imagePart(position: DynamicBugPosition, videoWidth: number, videoHeight: number, imageWidth: number, imageHeight: number): ComposePart<"bug">;
60
- videoPart(videoWidth: number, videoHeight: number): ComposePart<"video">;
61
- initialise(): Promise<void>;
62
- subscribe(sources: StudioNodeSubscriptionSource[]): void;
63
- setSources(): void;
64
- }
@@ -1,297 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.DynamicBug = void 0;
7
- const norsk_sdk_1 = require("@norskvideo/norsk-sdk");
8
- const runtime_types_1 = require("@norskvideo/norsk-studio/lib/extension/runtime-types");
9
- const logging_1 = require("@norskvideo/norsk-studio/lib/server/logging");
10
- const config_1 = require("@norskvideo/norsk-studio/lib/shared/config");
11
- const util_1 = require("@norskvideo/norsk-studio/lib/shared/util");
12
- const config_2 = __importDefault(require("@norskvideo/norsk-studio/lib/server/config"));
13
- const promises_1 = __importDefault(require("fs/promises"));
14
- const path_1 = __importDefault(require("path"));
15
- const cors_1 = __importDefault(require("cors"));
16
- const body_parser_1 = __importDefault(require("body-parser"));
17
- const express_1 = __importDefault(require("express"));
18
- const multer_1 = __importDefault(require("multer"));
19
- const util_2 = require("@norskvideo/norsk-studio/lib/runtime/util");
20
- function bugDir() {
21
- return path_1.default.join(config_2.default.server.workingDir(), process.env.DYNAMICBUG_DIRECTORY ?? "bugs");
22
- }
23
- async function getBugs() {
24
- const files = await promises_1.default.readdir(bugDir());
25
- const images = files.filter((f) => {
26
- return f.endsWith(".png") || f.endsWith(".jpg");
27
- });
28
- return images;
29
- }
30
- class DynamicBugDefinition {
31
- async create(norsk, cfg, cb, runtime) {
32
- const node = await DynamicBug.create(norsk, cfg, runtime.updates);
33
- cb(node);
34
- runtime.router.get("/active-bug", async (_req, res) => {
35
- res.send(JSON.stringify({
36
- bug: node.bug,
37
- position: node.position
38
- }));
39
- });
40
- runtime.router.delete("/active-bug", async (_req, res) => {
41
- await node.setupBug(undefined, undefined);
42
- res.send("ok");
43
- });
44
- runtime.router.post("/active-bug", async (req, res) => {
45
- if ((req.body.bug || req.body.position)) {
46
- if (!["topleft", "topright", "bottomleft", "bottomright"].includes(req.body.position)) {
47
- res.status(400).send("bad position");
48
- return;
49
- }
50
- const images = await getBugs();
51
- if (!images.includes(req.body.bug)) {
52
- res.status(400).send("bad bug");
53
- return;
54
- }
55
- }
56
- await node.setupBug(req.body.bug, req.body.position);
57
- res.send("ok");
58
- });
59
- const storage = multer_1.default.diskStorage({
60
- destination: bugDir(),
61
- filename: function (_req, file, cb) {
62
- cb(null, path_1.default.basename(file.originalname));
63
- }
64
- });
65
- const upload = (0, multer_1.default)({ storage });
66
- runtime.router.post('/bugs', upload.single('file'), (_req, res) => {
67
- res.send('File uploaded successfully');
68
- });
69
- runtime.router.get("/bugs", (0, cors_1.default)({
70
- origin: '*',
71
- optionsSuccessStatus: 200
72
- }), async (_req, res) => {
73
- const images = await getBugs();
74
- res.send(JSON.stringify(images));
75
- });
76
- }
77
- routes() {
78
- const router = express_1.default.Router();
79
- router.use(body_parser_1.default.json());
80
- router.get("/bugs", async (_req, res) => {
81
- const images = await getBugs();
82
- res.send(JSON.stringify(images));
83
- });
84
- return router;
85
- }
86
- async handleCommand(node, command) {
87
- const commandType = command.type;
88
- switch (commandType) {
89
- case 'change-bug':
90
- await node.setupBug(command.file, command.position);
91
- break;
92
- default:
93
- (0, util_1.assertUnreachable)(commandType);
94
- }
95
- }
96
- }
97
- exports.default = DynamicBugDefinition;
98
- class DynamicBug {
99
- id;
100
- relatedMediaNodes = new runtime_types_1.RelatedMediaNodes();
101
- contexts = new util_2.ContextPromiseControl(this.handleContext.bind(this));
102
- norsk;
103
- cfg;
104
- bug;
105
- position;
106
- videoSource;
107
- composeNode;
108
- imageSource;
109
- oldImageSource;
110
- activeImage = "a";
111
- initialised;
112
- updates;
113
- currentVideo;
114
- static async create(norsk, cfg, updates) {
115
- const node = new DynamicBug(norsk, cfg, updates);
116
- await node.initialised;
117
- return node;
118
- }
119
- constructor(norsk, cfg, updates) {
120
- this.cfg = cfg;
121
- this.id = cfg.id;
122
- this.norsk = norsk;
123
- this.updates = updates;
124
- this.initialised = this.initialise();
125
- }
126
- async handleContext() {
127
- const video = this.videoSource?.latestStreams()[0]?.metadata;
128
- if (!video || !this.videoSource || video.message.case !== 'video') {
129
- await this.composeNode?.close();
130
- this.composeNode = undefined;
131
- this.currentVideo = undefined;
132
- return;
133
- }
134
- else {
135
- const nextVideo = video.message.value;
136
- (0, logging_1.debuglog)("Creating compose for dynamic bug", { id: this.id, metadata: nextVideo });
137
- if (this.currentVideo) {
138
- if (nextVideo.height !== this.currentVideo.height || nextVideo.width !== this.currentVideo.width) {
139
- (0, logging_1.debuglog)("Closing compose node in dynamic bug because of metadata change", { id: this.id, old: this.currentVideo, new: nextVideo });
140
- await this.composeNode?.close();
141
- this.currentVideo = undefined;
142
- }
143
- }
144
- this.currentVideo = nextVideo;
145
- if (!this.composeNode) {
146
- const thisCompose = this.composeNode = await this.norsk.processor.transform.videoCompose({
147
- onCreate: (n) => {
148
- this.relatedMediaNodes.addOutput(n);
149
- this.relatedMediaNodes.addInput(n);
150
- },
151
- onClose: () => {
152
- this.relatedMediaNodes.removeOutput(thisCompose);
153
- this.relatedMediaNodes.removeOutput(thisCompose);
154
- },
155
- id: `${this.id}-compose`,
156
- referenceStream: 'video',
157
- hardwareAcceleration: (0, config_1.contractHardwareAcceleration)(this.cfg.__global.hardware, ["nvidia"]),
158
- outputResolution: {
159
- width: nextVideo.width,
160
- height: nextVideo.height
161
- },
162
- parts: [
163
- this.videoPart(nextVideo.width, nextVideo.height),
164
- ]
165
- });
166
- this.doSubs();
167
- }
168
- if (this.imageSource || this.oldImageSource) {
169
- const newImageStream = this.imageSource?.outputStreams[0];
170
- const oldImageStream = this.oldImageSource?.outputStreams[0];
171
- if (newImageStream && oldImageStream) {
172
- this.doSubs();
173
- this.composeNode?.updateConfig({
174
- parts: [
175
- this.videoPart(nextVideo.width, nextVideo.height),
176
- ]
177
- });
178
- (0, logging_1.debuglog)("Closing old image source for bug", { id: this.id, oldNode: this.oldImageSource?.id, newNode: this.imageSource?.id });
179
- void this.oldImageSource?.close();
180
- this.oldImageSource = undefined;
181
- await this.handleContext();
182
- return;
183
- }
184
- if (newImageStream) {
185
- this.doSubs(this.imageSource);
186
- }
187
- else if (oldImageStream) {
188
- this.doSubs(this.oldImageSource);
189
- }
190
- const imageStream = newImageStream ?? oldImageStream;
191
- if (imageStream && imageStream.message.case == 'video') {
192
- this.composeNode?.updateConfig({
193
- parts: [
194
- this.videoPart(nextVideo.width, nextVideo.height),
195
- this.imagePart(this.position ?? 'topleft', nextVideo.width, nextVideo.height, imageStream.message.value.width, imageStream.message.value.height)
196
- ]
197
- });
198
- }
199
- else {
200
- this.doSubs();
201
- this.composeNode?.updateConfig({
202
- parts: [
203
- this.videoPart(nextVideo.width, nextVideo.height),
204
- ]
205
- });
206
- }
207
- }
208
- }
209
- }
210
- doSubs(imageSource) {
211
- if (!imageSource) {
212
- (0, logging_1.debuglog)("Doing subscriptions for dynamic bug without image source");
213
- this.composeNode?.subscribeToPins(this.videoSource?.selectVideoToPin("video") || []);
214
- }
215
- else {
216
- (0, logging_1.debuglog)("Doing subscriptions for dynamic bug with image source", { id: this.id, image: imageSource.id });
217
- this.composeNode?.subscribeToPins((this.videoSource?.selectVideoToPin("video") ?? []).concat([
218
- { source: imageSource, sourceSelector: (0, norsk_sdk_1.videoToPin)("bug") }
219
- ]));
220
- }
221
- }
222
- async setupBug(bug, position) {
223
- this.position = position;
224
- if (!bug || bug === "") {
225
- (0, logging_1.debuglog)("Clearing bug", { id: this.id });
226
- this.doSubs();
227
- await this.imageSource?.close();
228
- this.imageSource = undefined;
229
- this.bug = undefined;
230
- this.updates.raiseEvent({ type: 'bug-changed' });
231
- await this.contexts.schedule();
232
- return;
233
- }
234
- else if (bug !== this.bug) {
235
- (0, logging_1.debuglog)("Changing bug", { id: this.id, bug, position });
236
- this.bug = bug;
237
- this.activeImage = this.activeImage == "a" ? "b" : "a";
238
- this.oldImageSource = this.imageSource;
239
- this.imageSource = await this.norsk.input.fileImage({
240
- id: `${this.id}-${this.activeImage}`,
241
- sourceName: `${this.id}-bug-${this.activeImage}`,
242
- fileName: path_1.default.join(bugDir(), bug)
243
- });
244
- this.setSources();
245
- }
246
- else {
247
- (0, logging_1.debuglog)("Changing bug position", { id: this.id, bug, position });
248
- this.position = position;
249
- await this.contexts.schedule();
250
- }
251
- this.updates.raiseEvent({ type: 'bug-changed', file: bug, position });
252
- }
253
- imagePart(position, videoWidth, videoHeight, imageWidth, imageHeight) {
254
- imageWidth = Math.min(videoWidth - 100, imageWidth);
255
- imageHeight = Math.min(videoHeight - 100, imageHeight);
256
- const foo = {
257
- id: "bug",
258
- zIndex: 1,
259
- sourceRect: { x: 0, y: 0, width: videoWidth, height: videoHeight },
260
- referenceResolution: undefined,
261
- destRect: (position == 'topleft' ? { x: 5, y: 5, width: imageWidth, height: imageHeight } :
262
- position == 'topright' ? { x: videoWidth - imageWidth - 5, y: 5, width: imageWidth, height: imageHeight } :
263
- position == 'bottomleft' ? { x: 5, y: videoHeight - imageHeight - 5, width: imageWidth, height: imageHeight } :
264
- { x: videoWidth - imageWidth - 5, y: videoHeight - imageHeight - 5, width: imageWidth, height: imageHeight }),
265
- opacity: 1.0,
266
- pin: "bug"
267
- };
268
- return foo;
269
- }
270
- videoPart(videoWidth, videoHeight) {
271
- return {
272
- id: "video",
273
- zIndex: 0,
274
- sourceRect: { x: 0, y: 0, width: videoWidth, height: videoHeight },
275
- destRect: { x: 0, y: 0, width: videoWidth, height: videoHeight },
276
- opacity: 1.0,
277
- pin: "video"
278
- };
279
- }
280
- async initialise() {
281
- await this.setupBug(this.cfg.defaultBug, this.cfg.defaultPosition);
282
- }
283
- subscribe(sources) {
284
- this.videoSource = sources[0];
285
- this.setSources();
286
- }
287
- setSources() {
288
- const imageSources = [];
289
- if (this.oldImageSource)
290
- imageSources.push(this.oldImageSource);
291
- if (this.imageSource)
292
- imageSources.push(this.imageSource);
293
- this.contexts.setSources(this.videoSource ? [this.videoSource] : [], imageSources);
294
- }
295
- }
296
- exports.DynamicBug = DynamicBug;
297
- //# sourceMappingURL=runtime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/processor.dynamicBug/runtime.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import type { DynamicBugState, DynamicBugConfig, DynamicBugCommand } from "./runtime";
2
- import { ViewProps } from "@norskvideo/norsk-studio/lib/extension/client-types";
3
- declare function SummaryView({ state, sendCommand, httpApi }: ViewProps<DynamicBugConfig, DynamicBugState, DynamicBugCommand>): import("react/jsx-runtime").JSX.Element;
4
- export default SummaryView;
@@ -1,60 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const jsx_runtime_1 = require("react/jsx-runtime");
4
- const react_1 = require("react");
5
- function SummaryView({ state, sendCommand, httpApi }) {
6
- const [bug, setBug] = (0, react_1.useState)(state.activeBug?.file);
7
- const [position, setPosition] = (0, react_1.useState)(state.activeBug?.position);
8
- const [bugs, setBugs] = (0, react_1.useState)([]);
9
- const [fileToUpload, setFileToUpload] = (0, react_1.useState)(undefined);
10
- async function updateBugs() {
11
- const result = await fetch('components/processor.dynamicBug/bugs');
12
- if (result.ok && result.body) {
13
- const bugs = await result.json();
14
- setBugs(bugs);
15
- }
16
- else {
17
- const text = await result.text();
18
- throw new Error(text);
19
- }
20
- }
21
- (0, react_1.useEffect)(() => {
22
- const fn = async () => {
23
- await updateBugs();
24
- };
25
- fn().catch(console.error);
26
- }, []);
27
- function onFileChange(e) {
28
- if (e.target.files?.[0])
29
- setFileToUpload(e.target.files[0]);
30
- }
31
- return (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("h2", { children: "Controls" }), (0, jsx_runtime_1.jsx)("label", { htmlFor: "select-preview", className: "mt-2", children: "Source" }), (0, jsx_runtime_1.jsxs)("select", { id: "select-bug", className: "mt-2 node-editor-select-input", onChange: (e) => {
32
- setBug(e.currentTarget.value === '' ? undefined : e.currentTarget.value);
33
- }, children: [(0, jsx_runtime_1.jsx)("option", { value: "", selected: bug === undefined, children: "---" }), (0, jsx_runtime_1.jsx)("option", { value: 'new', selected: bug === 'new', children: "New" }), bugs.map((s, i) => (0, jsx_runtime_1.jsx)("option", { selected: bug == s, value: s, children: s }, i))] }), (0, jsx_runtime_1.jsx)("form", { style: { display: bug === 'new' ? 'block' : 'none' }, onSubmit: (e) => e.preventDefault(), children: (0, jsx_runtime_1.jsx)("input", { type: "file", id: "file", name: "filename", onChange: onFileChange }) }), (0, jsx_runtime_1.jsxs)("select", { style: { display: bug ? 'block' : 'none' }, id: "select-position", className: "mt-2 node-editor-select-input", onChange: (e) => {
34
- setPosition(e.currentTarget.value);
35
- }, children: [(0, jsx_runtime_1.jsx)("option", { value: 'topleft', selected: position === 'topleft', children: "Top Left" }), (0, jsx_runtime_1.jsx)("option", { value: 'topright', selected: position === 'topright', children: "Top Right" }), (0, jsx_runtime_1.jsx)("option", { value: 'bottomleft', selected: position === 'bottomleft', children: "Bottom Left" }), (0, jsx_runtime_1.jsx)("option", { value: 'bottomright', selected: position === 'bottomright', children: "Bottom Right" })] }), (bug != state.activeBug?.file || position != state.activeBug?.position || fileToUpload) ?
36
- (0, jsx_runtime_1.jsx)("button", { type: "button", className: "mt-2 mb-2 text-white w-full justify-center bg-primary-700 hover:bg-primary-800 focus:ring-4 focus:outline-none focus:ring-primary-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-primary-600 dark:hover:bg-primary-700 dark:focus:ring-primary-800", onClick: async (e) => {
37
- e.preventDefault();
38
- if (fileToUpload && bug === 'new') {
39
- const form = new FormData();
40
- const url = httpApi.toString() + "/bugs";
41
- form.append('file', fileToUpload);
42
- await fetch(url, {
43
- method: 'POST',
44
- body: form
45
- });
46
- setTimeout(async () => {
47
- await updateBugs();
48
- sendCommand({ type: "change-bug", file: fileToUpload.name, position });
49
- setBug(fileToUpload.name);
50
- setFileToUpload(undefined);
51
- return;
52
- }, 500);
53
- }
54
- else {
55
- sendCommand({ type: "change-bug", file: bug, position });
56
- }
57
- }, children: "Commit" }) : (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {})] });
58
- }
59
- exports.default = SummaryView;
60
- //# sourceMappingURL=summary-view.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"summary-view.js","sourceRoot":"","sources":["../../src/processor.dynamicBug/summary-view.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type Registration from "@norskvideo/norsk-studio/lib/extension/registration";
2
- import type { WhisperTranscribeConfig } from "./runtime";
3
- export default function ({ defineComponent, Av, Subtitle, validation: { Z } }: Registration): import("@norskvideo/norsk-studio/lib/extension/client-types").NodeInfo<WhisperTranscribeConfig, object, object, object>;
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = default_1;
4
- function default_1({ defineComponent, Av, Subtitle, validation: { Z } }) {
5
- return defineComponent({
6
- identifier: 'processor.whisper-transcribe',
7
- category: 'processor',
8
- name: "Whisper Transcribe",
9
- subscription: {
10
- accepts: {
11
- type: 'single-stream',
12
- media: Av
13
- },
14
- produces: {
15
- media: Subtitle,
16
- type: "single-stream",
17
- }
18
- },
19
- extraValidation: function (ctx) {
20
- const video = ctx.videoInputs();
21
- const audio = ctx.audioInputs();
22
- if (video.length !== 1) {
23
- ctx.addError("Whisper Transcribe requires a single video stream to use as a reference");
24
- }
25
- if (audio.length !== 1) {
26
- ctx.addError("Whisper Transcribe requires a single audio stream to transcribe");
27
- }
28
- },
29
- display: (desc) => {
30
- return {
31
- model: desc.config.model
32
- };
33
- },
34
- configForm: {
35
- form: {
36
- model: { help: "The ggml model path", hint: { type: 'text', validation: Z.string().min(1, "Choosing a model is mandatory") } },
37
- translate: { help: "Whether to translate the output to English", hint: { type: 'boolean', defaultValue: false } },
38
- language: { help: "Source language (otherwise automatic)", hint: { type: 'text', validation: Z.union([Z.string().length(0), Z.string().min(1)]) } }
39
- }
40
- }
41
- });
42
- }
43
- //# sourceMappingURL=info.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/processor.whisper-transcribe/info.ts"],"names":[],"mappings":";;AAGA,4BA2CC;AA3CD,mBAAwB,EACtB,eAAe,EACf,EAAE,EACF,QAAQ,EACR,UAAU,EAAE,EAAE,CAAC,EAAE,EACJ;IACb,OAAO,eAAe,CAA0B;QAC9C,UAAU,EAAE,8BAA8B;QAC1C,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,oBAAoB;QAC1B,YAAY,EAAE;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,EAAE;aACV;YACD,QAAQ,EAAE;gBACR,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,eAAe;aACtB;SACF;QACD,eAAe,EAAE,UAAS,GAAG;YAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,GAAG,CAAC,QAAQ,CAAC,yEAAyE,CAAC,CAAA;YACzF,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,GAAG,CAAC,QAAQ,CAAC,iEAAiE,CAAC,CAAA;YACjF,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,OAAO;gBACL,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;aACzB,CAAA;QACH,CAAC;QACD,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,+BAA+B,CAAC,EAAE,EAAE;gBAC9H,SAAS,EAAE,EAAE,IAAI,EAAE,4CAA4C,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE;gBACjH,QAAQ,EAAE,EAAE,IAAI,EAAE,uCAAuC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;aACpJ;SACF;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1,29 +0,0 @@
1
- import { AudioTranscribeWhisperNode, Norsk, StreamKeyOverrideNode, StreamMetadataOverrideNode, SubscribeDestination, SubscriptionError } from '@norskvideo/norsk-sdk';
2
- import { CreatedMediaNode, OnCreated, RelatedMediaNodes, ServerComponentDefinition, StudioNodeSubscriptionSource } from '@norskvideo/norsk-studio/lib/extension/runtime-types';
3
- export type WhisperTranscribeConfig = {
4
- id: string;
5
- displayName: string;
6
- model: string;
7
- translate: boolean;
8
- language: string;
9
- };
10
- export default class WhisperTranscribeDefinition implements ServerComponentDefinition<WhisperTranscribeConfig, WhisperTranscribeNode> {
11
- create(norsk: Norsk, cfg: WhisperTranscribeConfig, cb: OnCreated<WhisperTranscribeNode>): Promise<void>;
12
- }
13
- declare class WhisperTranscribeNode implements CreatedMediaNode, SubscribeDestination {
14
- norsk: Norsk;
15
- cfg: WhisperTranscribeConfig;
16
- initialised: Promise<void>;
17
- whisper?: AudioTranscribeWhisperNode;
18
- whisperCreating: boolean;
19
- streamkey?: StreamKeyOverrideNode;
20
- source?: StudioNodeSubscriptionSource;
21
- output?: StreamMetadataOverrideNode;
22
- constructor(norsk: Norsk, cfg: WhisperTranscribeConfig);
23
- get id(): string;
24
- relatedMediaNodes: RelatedMediaNodes;
25
- initialise(): Promise<void>;
26
- subscribe(sources: StudioNodeSubscriptionSource[]): void;
27
- sourceContextChange(_responseCallback: (error?: SubscriptionError | undefined) => void): Promise<boolean>;
28
- }
29
- export {};