# Web 音视频(七)中期回顾

Web 音视频目录

# 个人回顾

本系列更新至今,持续了一个月时间,内容可以总结为音频、视频数据的 解析 - 处理 - 合成,在浏览器中比较粗粒度地实现音视频编辑的主要环节,差不多是把 WebAV 项目 (opens new window)的原理讲完了。

讲解的知识非常浅,目标读者是准备在 Web 平台进行音视频开发的新手;
这是我第一次进行高频率技术写作,将一个知识点讲得浅显易懂实在太难了,仍需要刻苦练习。

标题设定为“中期回顾”,是期望后续还有机会聊 Web 音视频相关更深更广的话题,比如推流、滤镜、转场等等。

# WebCodecs 的价值

在本系列第一章中,提到了 WebCodecs 给 Web 补齐了缺失编解码能力;
于是在音视频的消费端,可实现更细致的控制,实现逐帧播放、倒放、生成缩略图、分享视频片段等功能;
当然,最适合 WebCodecs 大展身手的领域应该是音视频的生产端,很多以前 Web 平台没法做、或者很难做的功能现在都成为可能。

谈 WebCodecs 价值当然离不开 Web 平台本身,Web 的诱惑在于互联、跨平台、低门槛

Figma 是一个完美案例:设计师在线(跨平台)协同(互联)创作设计稿,交付给前端开发的是一个 URL(低门槛);
5 年前设计师甩给我一个 html zip 包,3 年前设计师让我去下载 zeplin,现在给我一个 Figma URL 可真是太美好了。

如果以 Figma 为模板来想像视频创作工具,那就是在网页中多人协同进行视频编辑,恰好已经有这样的产品 (opens new window)了。
再结合炙手可热的 AI 技术,视频创作门槛越来越低,可能会有大量的非专业用户,那 Web 应该是最佳的产品承载平台。

在直播领域,各平台的推流终端都少有 Mac 版,虽有网页推流的跨平台实现(WebSocket 或 WebRTC),但受限于可控编解码能力的缺失,很难满足产品的多样化功能诉求;
用 Electron + WebCodecs 实现完备的跨平台推流客户端,技术复用实现网页推流,也许是一个不错的技术方案。

# WebCodecs 的挑战

  • 生态不成熟
    • 比如 缺少多样、成熟的解封装库
  • 兼容性问题
    • 目前之后 Chrome 有良好支持
    • 未来乐观,Firefox、Safari 都表示会支持
  • 无法自定义编解码器
    • 这点当前没办法解决

如果是一个用户群比较大的产品,端云结合将是一个长期过程;
将一些计算量转移到端上以降低成本,为不支持的用户提供云端支持。

# 附录