|
@@ -152,6 +152,7 @@ function useWorker(url, className, device, callback = () => {}) {
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
|
|
|
|
+ var cropFullInfo = '';
|
|
const WebSocketWork = new Worker(
|
|
const WebSocketWork = new Worker(
|
|
new URL('./GetVideoStreaming.js', import.meta.url).href,
|
|
new URL('./GetVideoStreaming.js', import.meta.url).href,
|
|
{
|
|
{
|
|
@@ -161,10 +162,12 @@ function useWorker(url, className, device, callback = () => {}) {
|
|
WebSocketWork.postMessage({ url });
|
|
WebSocketWork.postMessage({ url });
|
|
WebSocketWork.addEventListener('message', async (message) => {
|
|
WebSocketWork.addEventListener('message', async (message) => {
|
|
if (message.data.DataType === 'Opt') {
|
|
if (message.data.DataType === 'Opt') {
|
|
|
|
+ cropFullInfo = message.data.data;
|
|
worker.postMessage({ DataType: 'Opt', data: message.data.data });
|
|
worker.postMessage({ DataType: 'Opt', data: message.data.data });
|
|
let DataType = 'Start';
|
|
let DataType = 'Start';
|
|
- worker.postMessage({ DataType, canvas, url, device, className }, [canvas]);
|
|
|
|
-
|
|
|
|
|
|
+ worker.postMessage({ DataType, canvas, url, device, className }, [
|
|
|
|
+ canvas,
|
|
|
|
+ ]);
|
|
}
|
|
}
|
|
if (message.data.DataType === 'Track') {
|
|
if (message.data.DataType === 'Track') {
|
|
let DataType = 'Track';
|
|
let DataType = 'Track';
|
|
@@ -211,7 +214,7 @@ function useWorker(url, className, device, callback = () => {}) {
|
|
'-c',
|
|
'-c',
|
|
'copy',
|
|
'copy',
|
|
'-metadata:s:v',
|
|
'-metadata:s:v',
|
|
- 'rotate=0',
|
|
|
|
|
|
+ 'rotate=' + JSON.parse(cropFullInfo).Rotate,
|
|
'out.mp4',
|
|
'out.mp4',
|
|
]);
|
|
]);
|
|
const data = await ffmpeg.readFile('out.mp4');
|
|
const data = await ffmpeg.readFile('out.mp4');
|