daily-video-editor 0.0.0-stage → 0.0.2

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 (115) hide show
  1. package/README.md +137 -2
  2. package/dist/algorithm/face_landmarker.task +0 -0
  3. package/dist/algorithm/mediapipe/vision_wasm_internal.js +9140 -0
  4. package/dist/algorithm/mediapipe/vision_wasm_internal.wasm +0 -0
  5. package/dist/algorithm/mediapipe/vision_wasm_module_internal.js +9136 -0
  6. package/dist/algorithm/mediapipe/vision_wasm_module_internal.wasm +0 -0
  7. package/dist/algorithm/mediapipe/vision_wasm_nosimd_internal.js +9131 -0
  8. package/dist/algorithm/mediapipe/vision_wasm_nosimd_internal.wasm +0 -0
  9. package/dist/clip-track/components/ContextMenu/index.vue.d.ts +35 -0
  10. package/dist/clip-track/components/Ruler/index.vue.d.ts +22 -0
  11. package/dist/clip-track/components/ToolsBar/icons/SnapIcon.vue.d.ts +2 -0
  12. package/dist/clip-track/components/ToolsBar/index.vue.d.ts +46 -0
  13. package/dist/clip-track/components/Tracks/ClipItem.vue.d.ts +43 -0
  14. package/dist/clip-track/components/Tracks/Clips/AudioClip.vue.d.ts +9 -0
  15. package/dist/clip-track/components/Tracks/Clips/EffectClip.vue.d.ts +6 -0
  16. package/dist/clip-track/components/Tracks/Clips/FilterClip.vue.d.ts +6 -0
  17. package/dist/clip-track/components/Tracks/Clips/StickerClip.vue.d.ts +6 -0
  18. package/dist/clip-track/components/Tracks/Clips/SubtitleClip.vue.d.ts +6 -0
  19. package/dist/clip-track/components/Tracks/Clips/TextClip.vue.d.ts +6 -0
  20. package/dist/clip-track/components/Tracks/Clips/TransitionClip.vue.d.ts +6 -0
  21. package/dist/clip-track/components/Tracks/Clips/VideoClip.vue.d.ts +8 -0
  22. package/dist/clip-track/components/Tracks/DragPreview.vue.d.ts +6 -0
  23. package/dist/clip-track/components/Tracks/TrackArea.vue.d.ts +47 -0
  24. package/dist/clip-track/components/Tracks/TrackControl.vue.d.ts +35 -0
  25. package/dist/clip-track/components/Tracks/index.vue.d.ts +354 -0
  26. package/dist/clip-track/components/index.vue.d.ts +1911 -0
  27. package/dist/clip-track/composables/useAutoScroll.d.ts +11 -0
  28. package/dist/clip-track/composables/useKeyboard.d.ts +21 -0
  29. package/dist/clip-track/composables/useResize.d.ts +579 -0
  30. package/dist/clip-track/composables/useSelection.d.ts +4 -0
  31. package/dist/clip-track/composables/useTheme.d.ts +26 -0
  32. package/dist/clip-track/composables/useVirtualScroll.d.ts +19 -0
  33. package/dist/clip-track/index.d.ts +14 -0
  34. package/dist/clip-track/stores/clipTrackPinia.d.ts +14 -0
  35. package/dist/clip-track/stores/drag.d.ts +1891 -0
  36. package/dist/clip-track/stores/history.d.ts +74 -0
  37. package/dist/clip-track/stores/playback.d.ts +52 -0
  38. package/dist/clip-track/stores/scale.d.ts +79 -0
  39. package/dist/clip-track/stores/tracks.d.ts +6329 -0
  40. package/dist/clip-track/types/clip.d.ts +216 -0
  41. package/dist/clip-track/types/config.d.ts +195 -0
  42. package/dist/clip-track/types/index.d.ts +3 -0
  43. package/dist/clip-track/types/track.d.ts +12 -0
  44. package/dist/clip-track/utils/helpers.d.ts +16 -0
  45. package/dist/clip-track/utils/mainTrack.d.ts +5 -0
  46. package/dist/clip-track/utils/mediaProcessor.d.ts +66 -0
  47. package/dist/clip-track/utils/mockData.d.ts +8 -0
  48. package/dist/clip-track/utils/performance.d.ts +27 -0
  49. package/dist/editor/VideoComposeEditor.vue.d.ts +7680 -0
  50. package/dist/editor/applyTextTemplateSvg.d.ts +1 -0
  51. package/dist/editor/asset-panel/VideoComposeAssetCard.vue.d.ts +12 -0
  52. package/dist/editor/asset-panel/VideoComposeAssetPanel.vue.d.ts +74 -0
  53. package/dist/editor/asset-panel/VideoComposeClipCatalog.vue.d.ts +23 -0
  54. package/dist/editor/asset-panel/VideoComposeTextTemplateCatalog.vue.d.ts +9 -0
  55. package/dist/editor/composeRuntime.d.ts +7 -0
  56. package/dist/editor/index.d.ts +7 -0
  57. package/dist/editor/installComposeElementPlus.d.ts +6 -0
  58. package/dist/editor/modals/BgmUploadModal.vue.d.ts +27 -0
  59. package/dist/editor/player/VideoComposeFrameBox.vue.d.ts +37 -0
  60. package/dist/editor/player/VideoComposePlayer.vue.d.ts +174 -0
  61. package/dist/editor/player/VideoComposeTextStickerOverlay.vue.d.ts +30 -0
  62. package/dist/editor/session/createComposeEditorState.d.ts +179 -0
  63. package/dist/editor/session/ports.d.ts +25 -0
  64. package/dist/editor/session/trackLookup.d.ts +20 -0
  65. package/dist/editor/session/useComposeCatalog.d.ts +45 -0
  66. package/dist/editor/session/useComposeEditorSession.d.ts +7765 -0
  67. package/dist/editor/session/useComposeInspector.d.ts +57 -0
  68. package/dist/editor/session/useComposePlaybackBridge.d.ts +13 -0
  69. package/dist/editor/session/useComposeProject.d.ts +12 -0
  70. package/dist/editor/session/useComposeShellLayout.d.ts +13 -0
  71. package/dist/editor/session/useComposeVideoFrame.d.ts +24 -0
  72. package/dist/editor/session/videoComposeEditorExpose.d.ts +19 -0
  73. package/dist/editor/shared/VideoComposeUnderlineTabs.vue.d.ts +12 -0
  74. package/dist/editor/shared/applyTextTemplateSvg.d.ts +17 -0
  75. package/dist/editor/shared/playbackRate.d.ts +12 -0
  76. package/dist/editor/shared/textTemplateCatalog.d.ts +48 -0
  77. package/dist/editor/shared/videoComposeMockClips.d.ts +28 -0
  78. package/dist/editor/shared/videoFrame.d.ts +68 -0
  79. package/dist/editor/shared/volumeDb.d.ts +37 -0
  80. package/dist/editor/sidebar/PlaybackRateControl.vue.d.ts +12 -0
  81. package/dist/editor/sidebar/SubtitleFontPopover.vue.d.ts +46 -0
  82. package/dist/editor/sidebar/VideoComposeBeautyControls.vue.d.ts +11 -0
  83. package/dist/editor/sidebar/VideoComposeSidebar.vue.d.ts +126 -0
  84. package/dist/editor/sidebar/VideoComposeTextTemplateProps.vue.d.ts +22 -0
  85. package/dist/editor/sidebar/VideoComposeTransformPanel.vue.d.ts +17 -0
  86. package/dist/editor/sidebar/VolumeDbControl.vue.d.ts +12 -0
  87. package/dist/editor/textTemplateCatalog.d.ts +1 -0
  88. package/dist/editor/timeline/VideoComposeTimeline.vue.d.ts +3416 -0
  89. package/dist/editor/timeline/VideoComposeZoomBar.vue.d.ts +20 -0
  90. package/dist/editor/volumeDb.d.ts +1 -0
  91. package/dist/hooks/previewAudioMixer.d.ts +33 -0
  92. package/dist/hooks/previewMediaGain.d.ts +10 -0
  93. package/dist/hooks/previewSourceTime.d.ts +20 -0
  94. package/dist/hooks/useComposePreviewFrame.d.ts +39 -0
  95. package/dist/hooks/useComposeUploadCatalog.d.ts +3 -0
  96. package/dist/hooks/useResolveComposeClips.d.ts +37 -0
  97. package/dist/hooks/useVideoComposePreview.d.ts +53 -0
  98. package/dist/hooks/useVideoComposeSubtitleAdjust.d.ts +122 -0
  99. package/dist/hooks/useVideoComposeTextStickerOverlay.d.ts +53 -0
  100. package/dist/hooks/useVideoComposeTimelineScale.d.ts +29 -0
  101. package/dist/index.d.ts +3 -0
  102. package/dist/index.js +37394 -0
  103. package/dist/service/resolveComposeMediaUrl.d.ts +42 -0
  104. package/dist/style.css +1 -0
  105. package/dist/style.d.ts +0 -0
  106. package/dist/types/beautyPreview.d.ts +82 -0
  107. package/dist/types/composeMedia.d.ts +173 -0
  108. package/dist/types/videoCompose.d.ts +350 -0
  109. package/dist/utils/beauty/gpuPixelPreview.d.ts +32 -0
  110. package/dist/workers/beauty/copyFrameRgba.d.ts +15 -0
  111. package/dist/workers/beauty/decodeSession.d.ts +30 -0
  112. package/dist/workers/beauty/facePass.d.ts +26 -0
  113. package/dist/workers/beauty/installImportScripts.d.ts +6 -0
  114. package/dist/workers/beautyPreview.worker.d.ts +1 -0
  115. package/package.json +43 -4
package/README.md CHANGED
@@ -1,3 +1,138 @@
1
- # Temporary Holding Version
1
+ # video-clips
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ 视频合成编辑器。打包后宿主只需 Vue,不必再装 Pinia、全局 Element Plus 或 Tailwind。
4
+
5
+ ## 接入
6
+
7
+ ```ts
8
+ import { createApp, ref } from "vue";
9
+ import {
10
+ createDefaultVideoComposeEditorModel,
11
+ VideoComposeEditor,
12
+ type VideoComposeEditorExpose,
13
+ type VideoComposeEditorModel,
14
+ } from "video-clips";
15
+ import "video-clips/style.css";
16
+
17
+ const model = ref<VideoComposeEditorModel>(
18
+ createDefaultVideoComposeEditorModel({
19
+ bizType: "source_video",
20
+ bizId: "local",
21
+ }),
22
+ );
23
+ const editorRef = ref<VideoComposeEditorExpose | null>(null);
24
+
25
+ createApp(App).mount("#app");
26
+ ```
27
+
28
+ ```vue
29
+ <VideoComposeEditor ref="editorRef" v-model="model" />
30
+ ```
31
+
32
+ `peerDependencies` 只有 `vue`。`pinia`、`element-plus` 随包安装,并在编辑器内部使用:每个时间轴自建一份 Pinia,同页多个编辑器不会抢轨。
33
+
34
+ 换稿必须调用 `editorRef.reload(model)`。只改 `v-model` 引用不会回灌时间轴。
35
+
36
+ ## 组件 Ref(`VideoComposeEditorExpose`)
37
+
38
+ | 方法 | 说明 |
39
+ | --- | --- |
40
+ | `validate(): string \| null` | 导出前校验。`null` 表示通过,否则为错误文案 |
41
+ | `flush(): void` | 立刻把当前轨道、喜欢态、缩放写入 `update:modelValue` |
42
+ | `reload(model): Promise<void>` | 用指定工程整页重置时间轴。换稿只走这个方法 |
43
+ | `exportComposePayload()` | 先 `flush`,再返回 `{ id, bizType, bizId, tracks }` |
44
+ | `getMainVideoClips()` | 主轨视频片段。优先读时间轴,否则用派生列表 |
45
+ | `requestUploadClip()` | 触发上传视频:有 `onRequestUploadClip` 则交给宿主,否则走内置上传 |
46
+
47
+ ## 公共类型
48
+
49
+ 声明在 `dist/index.d.ts`。包根导出:
50
+
51
+ - 组件与工厂:`VideoComposeEditor`、`createDefaultVideoComposeEditorModel`
52
+ - 工程:`VideoComposeEditorModel`、`ComposeExportPayload`、`ComposeTrack`、`ComposeClip`、`MediaBizType`、`MediaRef`、`ComposeSegmentClipAssets`
53
+ - 侧栏种子:`BgmItem`、`TextTemplateItem`、`VideoClipItem`
54
+ - 入参与上传:`ComposeEditorProps`、`ComposeUploadAdapter`、`ComposeBgmUploadResult`、`ComposeCatalogUploadPayload`
55
+ - Ref:`VideoComposeEditorExpose`
56
+ - 轨道片段:`MediaClip`、`SubtitleClip`、`TextClip`、`TrackType`
57
+ - 媒体地址:`createComposeMediaResolver`、`isPassthroughMediaUrl`、`mediaCorsMessage`、`ComposeMediaResolver`、`ResolveMediaUrl`
58
+
59
+ 字段含义以声明文件为准。
60
+
61
+ ## 发包
62
+
63
+ `package.json` 保持 `"private": true`。本包默认不发到公共 npm。
64
+
65
+ 安装方式:monorepo workspace、`file:` 依赖,或私有 registry。类型入口是 `dist/index.d.ts`(`files` 含整个 `dist`)。要公开发到 npm 时,须先去掉 `private`,再按公开发布流程处理,不走上述私有安装约定。
66
+
67
+ 构建:
68
+
69
+ ```bash
70
+ npm run build
71
+ ```
72
+
73
+ 库产物:
74
+
75
+ - `dist/index.js`
76
+ - `dist/index.d.ts`
77
+ - `dist/style.css`
78
+ - `dist/algorithm/`
79
+
80
+ ## 产物部署
81
+
82
+ 宿主必须引入样式,否则编辑器没有皮肤:
83
+
84
+ ```ts
85
+ import "video-clips/style.css";
86
+ ```
87
+
88
+ 美颜预览 Worker 在 `npm run build` 时内联进 `dist/index.js`。不要单独部署 worker 文件,也不要再准备 `/assets/beautyPreview.worker-*.js`。
89
+
90
+ `dist/algorithm/` 仍须挂到宿主静态目录。默认从站点根路径 `/algorithm/` 读取:
91
+
92
+ - `/algorithm/face_landmarker.task`
93
+ - `/algorithm/mediapipe/`
94
+
95
+ 本地 demo 使用 `public/algorithm/`。库构建只拷贝这两项到 `dist/algorithm/`。挂好后可用 `algorithmBaseUrl` 改根路径(须是目录,并能拼出上述两个相对路径)。
96
+
97
+ ## 侧栏素材(不进工程 JSON)
98
+
99
+ 视频 / 音频 / 音效 / 花字列表由 **Editor 内部数组**维护,**不写入** `v-model`(`model` 只有 tracks、likedMedia、scale 等)。
100
+
101
+ 可用 props 作种子;上传成功事件载荷为:
102
+
103
+ ```ts
104
+ { file: File; item: T; items: T[] }
105
+ ```
106
+
107
+ 宿主可把 `items` 回写到自己的状态。纯 `onRequestUpload*` 由宿主自管 UX,不走该 emit。
108
+
109
+ ## 跨域媒体
110
+
111
+ 预览、缩略图和美颜抽帧都要能读取像素。编辑器会:
112
+
113
+ - 给 `video` / `audio` 设置 `crossorigin="anonymous"`
114
+ - 对跨域地址默认 `fetch`(`mode: "cors"`)并转成 `blob:`
115
+ - 同源、`blob:`、`data:` 原样使用
116
+
117
+ 源站需要:
118
+
119
+ ```
120
+ Access-Control-Allow-Origin: <页面源> 或 *
121
+ Access-Control-Allow-Methods: GET
122
+ ```
123
+
124
+ 没有 CORS 头时,默认 fetch 会失败,界面提示配置 `resolveMediaUrl`。宿主把地址换成同源代理或 blob:
125
+
126
+ ```ts
127
+ async function proxyToBlob(url: string): Promise<string> {
128
+ const response = await fetch(`/api/media-proxy?url=${encodeURIComponent(url)}`);
129
+ if (!response.ok) throw new Error("媒体代理失败");
130
+ return URL.createObjectURL(await response.blob());
131
+ }
132
+ ```
133
+
134
+ ```vue
135
+ <VideoComposeEditor v-model="model" :resolve-media-url="proxyToBlob" />
136
+ ```
137
+
138
+ 本仓库不实现代理服务。