# 视频编辑,如何选择技术方案

以下是视频文字稿,观看视频请移步 B 站 (opens new window)抖音 (opens new window)

# 开场

大家好!

我是风痕, 开源项目 WebAV(音视频编辑 SDK )的作者,

在我的博客有许多 Web 音视频入门的技术文章。

随着 AI 视频技术的爆发,越来越多普通用户开始创作视频,许多团队也开始研发创新视频编辑工具。

大家正在观看的视频,就使用了我自己开发的剪辑产品进行加工, 视频结尾会介绍项目状态。

# 背景知识

现在,我们先聊聊视频编辑类产品,如何做技术选型问题。

首先,简单介绍一下视频的基础知识。

我们需要了解视频文件的构成,一个视频文件主要由两部分组成:封装层和图像帧编码数据。

封装层就像是视频的"外壳", 在整个视频文件中体积占比通常比较小。

而真正的"大头"是图像帧数据, 它占据了视频文件的绝大部分空间!

图像帧的编解码过程,也就是压缩和解压的过程,计算量是非常巨大的。

这就是为什么我们通常优先使用 GPU 硬件加速的原因 因为 CPU 处理起来实在太慢了。

理解了这个基础,我们再来看看现在市面上主流的三种技术方案。

# Native 方案

第一种是原生 Native 方案

它的实现原理

主要是通过 FFmpeg 这类音视频处理库,或者直接调用操作系统的视频编解码能力

优点是

  • 生态非常丰富,各种功能应有尽有
  • 兼容性也很好,能处理各种格式的视频
  • 用户体验丝滑流畅

缺点是

  • 用户需要下载安装,操作的学习成本也更高
  • 开发成本相对较高,需要深入了解底层技术

# B/S 方案

第二种是 B/S 方案,也就是浏览器+服务器的架构。

它的实现原理是

前端用 Web 技术做出 UI 界面,将用户操作数据与素材上传到服务器,服务器用 Native 方案处理视频,两者结合

他的优点是

  • 使用便捷,浏览器打开网页即可
  • 稳定性,将 Native 方案部署在服务端,消除不确定因素
  • 不挑用户设备,浏览器版本低、配置差的设备也能用

它的缺点是

  • 视频预览和最终合成结果可能不一致,因为预览是前端模拟的效果
  • 服务器资源可能排队,高峰期要等待,用户的交互响应可能会有延迟
  • 成本昂贵,既要前后端协作开发,又要承担服务器的计算、带宽、存储成本

# 纯 Web 方案

第三种是纯 Web 网页编辑方案,这是近年来因 Web 开放了新 API 才逐渐流行

它的实现原理

是使用浏览器提供的 WebCodecs API,让 JS 能够间接调用系统的编解码能力

它的优点是

  • 使用非常便捷 跟 B/S 方案一样,打开浏览器就能用
  • 跨平台 不管是 Windows、Mac 还是 Linux 都能用
  • 开发成本极低 前端工程师就能独立搞定

它的缺点是

  • 生态还不够成熟 开源社区还没有丰富可用的配套工具
  • 浏览器版本兼容性问题 旧版本浏览器可能不支持

# 对比分析

我们从几个维度来对比这三种方案

成本方面

  • Web 优于 Native 优于 B/S
  • 这里的成本包括 学习开发成本、服务的运行成本

便捷性方面

  • B/S 等于 Web 优于 Native

生态方面

  • Native 优于 B/S 优于 Web

兼容性

  • B/S 优于 Native 优于 Web

性能体验方面

  • Native 优于 Web 优于 B/S
    • Native 最快,Web 其实比较接近了
    • B/S 方案在操作过程中可能出现延迟,它的合成速度理论上最快的,但因为计算资源是所有用户共享的,往往需要等待更长的时间

# 未来趋势预测

展望未来,我个人认为会有这样的发展趋势:

  • Native 方案维持现状 成为专业人士的专属工具,就像达芬奇、PR、Final Cut Pro 一样
  • B/S 方案像是在 Web 没有视频编辑能力之前, 为了便捷性的妥协的方案,因为成本和用户体验的问题,加上 Web 技术发展,会逐渐挤占该方案的生存空间
  • Web 加 AI 的组合会成为面向大众用户的主流方案, 现在已经看到越来越多的创新产品使用这个方案来处理音视频

# 选择建议

那么当下该如何选择呢?

首先要考虑你的团队技术积累。 如果团队在某个方向有深厚积累,优先考虑发挥优势。

然后根据具体的产品需求来选择:

选择 Native 的情况

  • 需要影视级的音视频处理能力
  • 要用到最新的编解码技术或特殊硬件
  • 产品功能复杂,需要成熟的生态能力支持

选择 B/S 的情况

  • 不差钱,预算充足
  • 对兼容性零容忍,要求支持绝大部分用户,甚至包括手机用户

如果看了前面的分析内容,还没有确定的答案;

建议在调研阶段先用 Web 方案,验证当前能力是否满足你们的核心诉求;

因为 Web 方案的优势就是成本小,能快速验证;

有问题也欢迎联系我,进行技术咨询。

# 总结

总结一下, 技术选型没有标准答案, 希望今天分享的信息能帮助大家在开发视频剪辑产品前,找到最合适的技术方案。

最后预告我正在开发的产品

也能帮助大家从一个侧面大概了解 Web 方案的技术成熟度怎么样, 目前具备了哪些视频编辑功能。
这就是产品的界面,目前还在开发中,
已经具备了调节字幕的样式, 比如配色、描边、阴影;
设置字幕的字符数、动画效果,
还支持 AI 标记字幕重点信息、自动添加 emoji,
特别适合文本信息为主的视频,更多功能敬请期待
上面演示的功能都是基于 WebAV Pro 版 SDK 进行构建的, 如果有观众感兴趣 欢迎联系我咨询购买授权。

我的博客首页、商务合作链接里面有我的联系方式

今天的分享就到这里,如果你觉得有用的话, 记得点赞!分享!关注!我们 下期再见!

💗 博主正处于裸辞待业状态,欢迎 商务合作 💗

相关文章

WebAV SDK(Web 视频编辑)V1 发布

前言 WebAV 是基于 WebCodecs 构建的 SDK,用于在 Web 平台上创建/编辑视频文件。 V1 对项目来说是里程碑版本,意味着 API 已经稳定,且功能的稳定性也经过了长时间的考验,可用于生产环境。 我在 20 年加入 B 站,开始接触 Web 音视频相关的知识(Web 播放器), WebCodecs API 在 21 年发布; 我预期 WebCode ...

纯 Web 视频剪辑

前言 WebCodecs API 为 Web 平台提供了音视频编解码能力,使得在 Web 平台(网页、Electron)上实现高效、专业的视频剪辑成品成为可能。 读者可阅读笔者的入门系列文章获取更详细的信息,或直接使用 WebAV 开源项目在浏览器中创建/编辑音视频文件。 背景 & 方案 为了解决主播投稿场景中,需要对直播视频进行简单编辑的诉求, ...

WebCodecs 性能表现及优化思路

笔者开源 WebAV 已经一年半,还写了系列文章帮助初学者入门 Web 音视频。 之前一直隐隐担心在 Web 平台处理音视频与 Native APP 会有明显性能差距,因为 WebCodecs API 毕竟被浏览器代理了一层,且一些数据处理需要 js 配合,不确定有多大的性能损耗。 相信刚接触 WebCodecs 的读者也非常关心它的性能表现如何。 ...

WebCodecs 编码字符串(codec)介绍

笔者的 Web 音视频系列文章 视频播放经常会看到这样的字符串 video/mp4; codecs="avc1.4d002a",WebCodecs 编解码器初始化也需要配置 codec 参数,本文尝试简单介绍编码字符串含义。 视频编码分许多种类,每个种类还分多个版本,不同种类、版本对应的编解码算法、支持的能力(分辨率上限、色深等等)不同 ...

WebCodecs 开启 Web 音视频新篇章

你可以先略过下面的无聊文字,体验一番 WebCodecs 的实力 WebCodecs 是什么 WebCodecs 是一个 Web 规范,21 年 9 月份在 Chrome 94 中实现 WebCodecs 提供访问编解码能力的接口,可精细控制音视频数据 Web 音视频 API 存在什么问题 音视频技术在 Web 平台上的应用非常广泛,已有许多 Web ...

【译】WebCodecs 说明

本文翻译至 WebCodecs Explainer 问题与动机 已有许多 Web API 在内部使用媒体编解码器来支持特定用途,比如: HTMLMediaElement and Media Source Extensions WebAudio (decodeAudioData) MediaRecorder WebRTC 但是还没有一种通用的方式来灵活 ...

Web 音视频(六)图像素材处理

Web 音视频目录 前序章节介绍了如何在浏览器中解析、创建视频,以及给视频添加一些自定义素材(图片、音频、文字...); 本章介绍如何给图像素材加特效、加动画,实现转场、移动水印、图像滤镜美化等功能。 你可以跳过原理介绍,直接查看 WebAV 示例 素材动画 在视频制作中实现动画跟其他场景略有不同,因为视频 ...

Web 音视频(七)中期回顾

Web 音视频目录 个人回顾 本系列更新至今,持续了一个月时间,内容可以总结为音频、视频数据的 解析 - 处理 - 合成,在浏览器中比较粗粒度地实现音视频编辑的主要环节,差不多是把 WebAV 项目的原理讲完了。 讲解的知识非常浅,目标读者是准备在 Web 平台进行音视频开发的新手; 这是我第一次进行高频率技术写作,将一 ...

Web 音视频(五)在浏览器中合成视频

Web 音视频目录 经过前序章节的介绍,读者能大致了解如何在播放器中解析、创建视频; 本章介绍何在浏览器中合成视频,这是视频编辑中最基础的功能。 你可以跳过原理介绍,直接查看 WebAV 合成视频示例 在视频上叠加素材 常见的素材有:视频、音频、图片、文字 [在浏览器中创建视频](/posts/2 ...

Web 音视频(四)在浏览器中处理音频

Web 音视频目录 为什么单独介绍音频处理? 网络上缺乏音频处理的资料,绝大多数示例都是针对视频而略过音频,很多人在网上寻找音频处理的示例 对前端开发者来说,音频处理相对视频略微复杂一些 所以,本文专门针对音频数据,汇总讲解采集-处理-编码-封装全过程,帮助初学者入门。 ![audio-data-flow](./audio ...