|
@@ -2,6 +2,7 @@ import { FFmpeg } from '@ffmpeg/ffmpeg';
|
|
|
import { fetchFile, toBlobURL } from '@ffmpeg/util';
|
|
|
import { showSaveFilePicker } from 'native-file-system-adapter';
|
|
|
import workerUrl from '../../../../node_modules/@ffmpeg/ffmpeg/dist/esm/worker.js?worker&url';
|
|
|
+import w from '../../../../../../core/packages/compiler-sfc/__tests__/rewriteDefault.spec';
|
|
|
|
|
|
const ffmpeg = new FFmpeg();
|
|
|
|
|
@@ -132,13 +133,7 @@ async function UrlStreamSaverDownload(url, fileName) {
|
|
|
* @param {Function} callback - 画面渲染完成时的回调
|
|
|
* @returns {Object} 包含两个Web Worker和一个关闭函数的对象
|
|
|
*/
|
|
|
-function useWorker(
|
|
|
- url,
|
|
|
- className,
|
|
|
- device,
|
|
|
- callback = () => {},
|
|
|
- cropFullInfo = ''
|
|
|
-) {
|
|
|
+function useWorker(url, className, device, callback = () => {}) {
|
|
|
let canvas = document.querySelector(className);
|
|
|
canvas = canvas.transferControlToOffscreen();
|
|
|
const worker = new Worker(new URL('./worker.js', import.meta.url), {
|
|
@@ -156,11 +151,6 @@ function useWorker(
|
|
|
callback();
|
|
|
}
|
|
|
});
|
|
|
- let DataType = 'Start';
|
|
|
- worker.postMessage(
|
|
|
- { DataType, canvas, url, device, cropFullInfo, className },
|
|
|
- [canvas]
|
|
|
- );
|
|
|
|
|
|
const WebSocketWork = new Worker(
|
|
|
new URL('./GetVideoStreaming.js', import.meta.url).href,
|
|
@@ -170,6 +160,12 @@ function useWorker(
|
|
|
);
|
|
|
WebSocketWork.postMessage({ url });
|
|
|
WebSocketWork.addEventListener('message', async (message) => {
|
|
|
+ if (message.data.DataType === 'Opt') {
|
|
|
+ worker.postMessage({ DataType: 'Opt', data: message.data.data });
|
|
|
+ let DataType = 'Start';
|
|
|
+ worker.postMessage({ DataType, canvas, url, device, className }, [canvas]);
|
|
|
+
|
|
|
+ }
|
|
|
if (message.data.DataType === 'Track') {
|
|
|
let DataType = 'Track';
|
|
|
let codec = message.data.track.codec.startsWith('vp08')
|