当前位置: 首页 > 软件库 > 程序开发 > 多媒体处理 >

FFmpeg.wasm

FFmpeg 的 WebAssembly 移植
授权协议 MIT
开发语言 JavaScript
所属分类 程序开发、 多媒体处理
软件类型 开源软件
地区 不详
投 递 者 弓玉书
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

ffmpeg.wasm 是纯 WebAssembly / JavaScript 实现的 FFmpeg 移植。它可以在浏览器中进行视频和音频录制、转换和流式传输。

AVI to MP4 Demo

ffmpeg.wasm 提供简单易用的 API,只需几行代码即可对视频进行转码:

const fs = require('fs');
const { createFFmpeg, fetchFile } = require('@ffmpeg/ffmpeg');

const ffmpeg = createFFmpeg({ log: true });

(async () => {
  await ffmpeg.load();
  ffmpeg.FS('writeFile', 'test.avi', await fetchFile('./test.avi'));
  await ffmpeg.run('-i', 'test.avi', 'test.mp4');
  await fs.promises.writeFile('./test.mp4', ffmpeg.FS('readFile', 'test.mp4'));
  process.
  • 安装 首先肯定得先安装ffmpeg.wasm到项目中 yarn add @ffmpeg/ffmpeg @ffmpeg/core 在web使用时最好使用ffmpeg/@ffmpeg/dist/ffmpeg.min.js,因为这个包默认环境是node,打包出的是web,或者去看看怎么配置webpack等打包工具 启动 这个wasm需要使用SharedArrayBuffer api,服务器的respo

 相关资料
  • 概述 案例 Figma 框架和工具 参考 WebAssembly官网

  • WebAssembly(缩写为 Wasm)是基于堆栈的虚拟机的二进制指令格式。Wasm 被设计为编程语言的可移植编译目标,从而可以在 Web 上为客户端和服务器应用程序进行部署。 高效快捷:Wasm stack machine 设计为以节省大小和加载时间的二进制格式进行编码。WebAssembly旨在通过利用广泛平台上可用的通用硬件功能,以本机速度执行。 安全的:WebAssembly描述了一种内

  • WebAssembly Studio 是 Mozilla 推出的一个在线 IDE,这个在线 IDE 将帮助开发者学习或是教授 WebAssembly,Mozilla 表示在任何使用 WebAssembly 的场景都派得上用场。 WebAssembly Studio 提供的几项主要功能,包括: 支持 C,C++ 和 Rust 语言,后续还计划支持编译为 WebAssembly 的任何语言。虽然目前编

  • WebAssembly Polyfill 包括用于展示 WebAssembly polyfill 可行性的原型。其他库中用于设计实际标准二进制格式的工作正在进行中。此库也没有在本地浏览器进行解码,所以从技术上讲,polyfill 是个纯的 JS 库。

  • WebAssembly is a portable sandboxed platform with limited, local, nondeterminism. Limited: nondeterministic execution can only occur in a small number of well-defined cases (described below) and, in t

  • WebAssembly Design Documents 包括了对 WebAssembly 顶层设计的描述,并且是 WebAssembly 社区组的一部分。WebAssembly 的认证将会起草不同的版本。 期望内容会一直变化,不过目前一切还是实验性的。

  • 定义一个可移植、体积小、加载快的二进制格式作为编译结果。通过充分发挥通用硬件的能力(包括移动设备以及物联网),使其在大多数平台上能达到原生的执行效率。 逐步制定与完善: 主要针对 C/C++,提供一个和 asm.js 有大致相同功能的该标准最小可行性产品(MVP); 其他特性,首先关注在线程、零成本异常处理和单指令流多数据流等关键功能特性上,然后优先考虑通过反馈和经验总结的其他特性,比如对非 C/

  • WebAssembly 简称WASM Golang 在1.11版本中引入了 WebAssembly 支持,意味着以后可以用 go编写可以在浏览器中运行的程序,当然这个肯定也是要受浏览器沙盒环境约束的. 1. 简单例子 1.1 code package main func main() { println("Hello, WebAssembly!") } 1.2 编译 必须是 go1.11