V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
7075
V2EX  ›  程序员

都 2021 年了,一切都可范 js(web)了,那么视频处理呢

  •  
  •   7075 · 153 天前 · 2214 次点击
    这是一个创建于 153 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需求描述: 1 视频处理库,可处理各种视频压缩,视频格式转换(此基础上 api 越丰富功能越多越好) 2 跨平台(最起码支持 win7 win10 macos ) 3 免费,最好开源,并且持续维护 ing 4 范 js 环境灵活集成(不需要单独处理平台差异或者二次编译),nodejs,web 环境,or webassembly 接可。

    熟悉的朋友来推荐一下呢。

    11 条回复    2021-07-04 15:28:56 +08:00
    xiyuesaves
        1
    xiyuesaves  
       153 天前
    webassembly 的话 ffmpeg 啊
    neoblackcap
        2
    neoblackcap  
       153 天前
    视频转码用 FFmpeg 啊,没有另外的选择了。大家都在用,其他语言也是对它的封装
    Loserzhu
        3
    Loserzhu  
       153 天前
    npm 上有现成的,ffmpeg wasm 。
    之前试着用了下。现有的包,体积大。。。
    web 默认加载 core 部分。node 里面用就没啥限制了。他会根据环境加载不同的代码。
    转换格式还是比较耗时。所以试着用 web worker,但是,web 环境他会创建一个 script 标签然后用 cdn 资源把其他部分加载进来。worker 里不能操作 dom,然后我就卡住了。。
    7075
        4
    7075  
    OP
       153 天前
    @Loserzhu 他这个东西跨平台怎么样?是否依赖二进制代码?
    7075
        5
    7075  
    OP
       153 天前
    @xiyuesaves 嗯嗯,这玩意是否依赖大量平台相关的二进制代码?
    yin1999
        6
    yin1999  
       152 天前
    @Loserzhu 要操作 DOM 的话,只能把前端和 Worker 分离开,前端 JS 通过 Worker 的 postMessage 来传递数据,再用 onmessage 来接收处理结果
    muzuiget
        7
    muzuiget  
       152 天前
    ffmpeg,很多所谓视频处理库,本质就是生成 ffmpeg 参数,然后调用 ffmpeg 命令而已,自己的常用的任务,自己写一下就行了。
    7075
        8
    7075  
    OP
       151 天前
    @muzuiget ffmpeg 不是很熟悉,是否依赖很多第三方二进制库,类似 graphmagick 得 delegators
    muzuiget
        9
    muzuiget  
       151 天前
    ffmpeg 自己就是第一方。
    Jinyao
        10
    Jinyao  
       151 天前 via Android
    ffmpeg+wasm
    wdlth
        11
    wdlth  
       151 天前
    ffmpeg.js 可以编码 webm 和 mp4,也就是 Webassembly 的 ffmpeg 。
    音视频编解码涉及很多版权、专利,所以支持的格式估计不会多。
    等以后 WebGPU 上线后可以调用 GPU 的话会更方便一些。
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1113 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 21:27 · PVG 05:27 · LAX 13:27 · JFK 16:27
    ♥ Do have faith in what you're doing.