开篇废话
2022年的库存废文拿来摆路灯
以下内容纯属个人猜测,只是在想当时为何 Pixiv 会社没有直接使用 mp4 而是使用了奇妙的 canvas 画布来安排动图播放。
历史背景
Pixiv 的第一张动图作品 id=44298467 是 2014 年发布的
而 YouTube 才终于在 2015 年全面放弃 flash 播放器 (新闻链接)
随后大部分视频网站厂商也是在 2015 年以后陆陆续续地支持了原生 HTML5 播放器,在这期间有 hls.js / flv.js / dash 还有妈妈的计划等项目陆陆续续地出现,还有 Google 宣布逐步停止 Chromium 的 flash 支持,最后 Adobe 在 2020 也亲手干掉了 ta 特色地区除外。
所以我认为当时的背景应该是这样的,在浏览器刚刚支持原生播放器没多久的情况下,使用 mp4 作为格式还是是很冒险的做法,因为不能让用户因为一个网站去换浏览器。
虽然到现在非常多软件都是电子或者 libcef。
为什么当时不使用 GIF ?
有的同学可能会说,为什么不直接用 GIF 这样也会动~
但是
这 太 T M 大 了,以 id=64467770 作品为例
并且由于同一帧画布最多展示256种颜色,所用色彩会有失真
所以我觉得他们因为这些限制,最后商议出了使用压缩包里面放动图然后用 canvas 逐帧渲染的过渡方案了。
当然也有开源出来 pixiv/zip_player
参考:
Pixiv 什么时候会用上 mp4 ?
其实 x 问题是:「xxx 什么时候用上xxx技术」
在这里我的猜测是,能用就行,由于人事调动之类的,内部开发小组没有推动的动力没人敢碰屎山或者没 KPI。
大概等到有人自告奋勇的那一天才有机会看到了。
参考:
总结
总之这样的东西就是项目迭代中必然出现的过时组件,可能各种嫌弃,但是要重构肯定都不肯干了。
然后又想起我在高考前就想重构的项目之一 @pcbeta_bot 到现在都还没重构,继续用着 JSON 能跑就行。
最后惭愧的是,说了那么多,也没有什么实锤,就当关于一个项目生命周期的思考了(
完