使用FFmpeg 【报ReferenceError: SharedArrayBuffer is not defined 】如何解决
·
什么是SharedArrayBuffer ?
在讨论SharedArrayBuffer ,根据词意上:“共享”、"阵列 "和 “缓冲区”。
SharedArrayBuffer 是一种 JavaScript 对象,用于在多线程环境中共享内存。然而,由于共享内存的特性,它可能导致安全漏洞。攻击者可以通过操纵共享内存来执行恶意代码,因此大部分浏览器对其进行了限制。
数组是一种数据结构,在编程中用来存储由不同数据类型(字符串、布尔值、数字和对象)组成的数据元素。
缓冲区是内存存储的一部分,用于在发送或接收使用前暂时存储数据。
ArrayBuffer是一个与其他不同的数组–它是一个字节数组,意味着只接受字节。
跨源隔离
跨源隔离是一项新的安全功能(截至2021年4月),被添加到浏览器中。简而言之,它是在你的顶层文件上发送两个HTTP头信息(COOP和COEP)的结果。这些头信息使你的网站能够获得对网络API的访问,如SharedArrayBuffer ,并防止外部攻击(Spectre攻击、跨源攻击等)。
解决
添加请求头:
'Cross-Origin-Embedder-Policy': 'require-corp',
'Cross-Origin-Opener-Policy': 'same-origin',
# nginx
location /avcarft {
root html/dist;
index dolphin-ffmpeg.html;
add_header Cross-Origin-Opener-Policy same-origin;
add_header Cross-Origin-Embedder-Policy require-corp;
}
更多推荐



所有评论(0)