首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在火狐中使用ffmpeg.wasm而不使用SharedArrayBuffer?

如何在火狐中使用ffmpeg.wasm而不使用SharedArrayBuffer?
EN

Stack Overflow用户
提问于 2020-11-23 03:36:58
回答 2查看 2.8K关注 0票数 4

我正试图在一个react应用程序中加载ffmpeg.wasm,以完成一个小型视频转换器项目。该代码在chrome上运行良好,但在firefox版本(83.0b)中,我捕捉到以下错误:

ReferenceError:未定义SharedArrayBuffer

下面是组件中捕获错误的部分(变量就绪永远不会变为真):

代码语言:javascript
复制
import React, { useState, useEffect } from 'react'
import styles from './App.module.css'
import { createFFmpeg, fetchFile } from '@ffmpeg/ffmpeg'
const ffmpeg = createFFmpeg({ log: true })

function App() {
  // load state
  const [ready, setReady] = useState(false)
  // files state
  const [video, setVideo] = useState('')
  const [gif, setGif]   = useState()
  // UI state
  const [dragOver, setDragOver ] = useState(false)
  const [nOfEnters, setNOfEnters] = useState(0)

  const load = async () => {
    try {
      await ffmpeg.load()
      setReady(true)
    } catch(error) {
      console.log(error)
    }
  }

  useEffect(() => {
    load()
  }, [])

谢谢,如果我应该提供更多的细节,请告诉我。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-12-14 12:28:44

尝试在服务器响应中添加以下标题:

代码语言:javascript
复制
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp

您可以在这里找到一些详细信息:https://web.dev/coop-coep/

票数 4
EN

Stack Overflow用户

发布于 2020-12-28 19:07:30

对我来说,添加标题只是解决方案的一部分。

首先在Apache中,我需要启用mod_header

代码语言:javascript
复制
sudo a2enmod headers

然后,我可以在mysite.conf文件中设置头部。

代码语言:javascript
复制
Header set Cross-Origin-Opener-Policy: same-origin
Header set Cross-Origin-Embedder-Policy: require-corp

不过,在此之后,我仍然收到错误,需要为HTTPS创建SSL证书和安装Apache。

生成SSL证书

代码语言:javascript
复制
sudo mkdir /etc/apache2/ssl
sudo openssl req -x509 -nodes -days 1095 -newkey rsa:2048 -out /etc/apache2/ssl/server.crt -keyout /etc/apache2/ssl/server.key

设置Apachce

代码语言:javascript
复制
sudo a2enmod ssl
sudo ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/000-default-ssl.conf

然后编辑000-default-ssl.conf文件

代码语言:javascript
复制
SSLCertificateFile    /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key

https://hallard.me/enable-ssl-for-apache-server-in-5-minutes/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64962224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档