需求描述: 1 视频处理库,可处理各种视频压缩,视频格式转换(此基础上 api 越丰富功能越多越好) 2 跨平台(最起码支持 win7 win10 macos ) 3 免费,最好开源,并且持续维护 ing 4 范 js 环境灵活集成(不需要单独处理平台差异或者二次编译),nodejs,web 环境,or webassembly 接可。
熟悉的朋友来推荐一下呢。
![]() | 1 xiyuesaves 2021-07-02 16:21:35 +08:00 webassembly 的话 ffmpeg 啊 |
2 neoblackcap 2021-07-02 16:24:38 +08:00 视频转码用 FFmpeg 啊,没有另外的选择了。大家都在用,其他语言也是对它的封装 |
![]() | 3 Loserzhu 2021-07-02 16:55:44 +08:00 npm 上有现成的,ffmpeg wasm 。 之前试着用了下。现有的包,体积大。。。 web 默认加载 core 部分。node 里面用就没啥限制了。他会根据环境加载不同的代码。 转换格式还是比较耗时。所以试着用 web worker,但是,web 环境他会创建一个 script 标签然后用 cdn 资源把其他部分加载进来。worker 里不能操作 dom,然后我就卡住了。。 |
5 7075 OP @xiyuesaves 嗯嗯,这玩意是否依赖大量平台相关的二进制代码? |
![]() | 6 yin1999 2021-07-03 09:34:50 +08:00 @Loserzhu 要操作 DOM 的话,只能把前端和 Worker 分离开,前端 JS 通过 Worker 的 postMessage 来传递数据,再用 onmessage 来接收处理结果 |
![]() | 7 muzuiget 2021-07-04 05:08:38 +08:00 ffmpeg,很多所谓视频处理库,本质就是生成 ffmpeg 参数,然后调用 ffmpeg 命令而已,自己的常用的任务,自己写一下就行了。 |
8 7075 OP @muzuiget ffmpeg 不是很熟悉,是否依赖很多第三方二进制库,类似 graphmagick 得 delegators |
![]() | 9 muzuiget 2021-07-04 13:19:27 +08:00 ffmpeg 自己就是第一方。 |
10 Jinyao 2021-07-04 15:22:18 +08:00 via Android ffmpeg+wasm |
![]() | 11 wdlth 2021-07-04 15:28:56 +08:00 ffmpeg.js 可以编码 webm 和 mp4,也就是 Webassembly 的 ffmpeg 。 音视频编解码涉及很多版权、专利,所以支持的格式估计不会多。 等以后 WebGPU 上线后可以调用 GPU 的话会更方便一些。 |