想写一个 wasm 软解 av1 的播放器,请问如何下手? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
NatsumeMio
V2EX    程序员

想写一个 wasm 软解 av1 的播放器,请问如何下手?

  •  1  
  •   NatsumeMio 2022-02-21 21:23:16 +08:00 4245 次点击
    这是一个创建于 1328 天前的主题,其中的信息可能已经有所发展或是发生改变。

    翻遍了 github 和全网都没有找到现存的轮子。 看到 b 站最近加入了 av1 的解码器,不知道是怎么实现的(笑哭。https://www.bilibili.com/blackboard/webplayer_history.html#html5

    17 条回复    2022-02-24 01:05:47 +08:00
    test3207
        1
    test3207  
       2022-02-21 21:44:17 +08:00
    ffmpeg.js
    (如果没有那就自己编译
    sky96111
        2
    sky96111  
       2022-02-21 21:48:20 +08:00
    kkocdko
        3
    kkocdko  
       2022-02-22 01:05:14 +08:00 via Android
    ( b 站网页端 chrome+windows )

    hevc 是基于 wasm 的,但 av1 是 chrome 直接解码,占用高是由于软解。
    littlewing
        4
    littlewing  
       2022-02-22 01:58:45 +08:00
    找到一个 h265 的文章,不知道有没有帮助: https://juejin.cn/post/6877058224424976392
    xratzh
        5
    xratzh  
       2022-02-22 02:22:52 +08:00
    哎,AMD 的解码鸡肋,日常使用明显感觉得到。这还不搞 AV1
    Remember
        6
    Remember  
       2022-02-22 02:28:07 +08:00
    @xratzh Rembrandt 的 rnda2 的解码能力应该进步很多,起码 av1 是支持了的。
    duke807
        7
    duke807  
       2022-02-22 05:03:11 +08:00 via Android
    @littlewing
    不,的文章和我想的一,下不怕只有死的果不支持 av1 了,大不了只子 safari 上 wasm 解的 pilyfill

    找了一下,果然有源支持:
    https://github.com/brion/ogv.js

    果用就忍受分辨率低一些,在果器支持 av1 之前

    另外 av1 的片也有 pilyfill:
    https://github.com/Kagami/avif.js
    duke807
        8
    duke807  
       2022-02-22 05:09:32 +08:00 via Android
    fix typo: polyfill, 新手老是抽
    okakuyang
        9
    okakuyang  
       2022-02-22 09:45:55 +08:00
    软解 AV1 太费 cpu 了,而且帧数也不高,没啥用。AV1 编码一个视频又慢,也就 b 站为了省流量这么折腾。
    lvsemi1
        10
    lvsemi1  
       2022-02-22 10:17:48 +08:00
    av1 还是死了算了,都整了多少年了编解码器还是一潭死水,快进到 h.266/vvc
    longbye0
        11
    longbye0  
       2022-02-22 10:32:00 +08:00
    chromium 源码里有个第三方软解 265 实现,265 解码很多人应该会参考这个。

    av1 就是浏览器自带支持了。
    wanguorui123
        12
    wanguorui123  
       2022-02-22 10:38:08 +08:00   1
    什么时候有开源基于 wasm 的万能播放器就好了
    Latin
       13
    Latin  
       2022-02-22 11:10:40 +08:00
    bitdepth
        14
    bitdepth  
       2022-02-22 11:31:25 +08:00
    不支援 HEVC 的 browser 才被,av1 或者 VP10 糟糕的格式也就是 google 推,VP 系列一如既往的
    GalaDOS
        15
    GalaDOS  
       2022-02-22 11:40:15 +08:00
    底层解码器建议用 dav1d ,aom 比较慢
    NatsumeMio
        16
    NatsumeMio  
    OP
       2022-02-23 23:39:20 +08:00
    @lvsemi1 不至于不至于,svt-av1 已经可以在 12 代酷睿 8 preset ( fast )下做到 180fps 了,如果改成 slow 也有 30 多 fps 。
    NatsumeMio
        17
    NatsumeMio  
    OP
       2022-02-24 01:05:47 +08:00
    @duke807 感谢!用这个 ogv.js 已经实现了第一个 demo
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2730 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 07:36 PVG 15:36 LAX 00:36 JFK 03:36
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86