做中国人自己的视频编辑UI框架,WebCut正式开源

广告位招租
扫码页面底部二维码联系

朋友们晚上好啊,这段时间我在忙着完成最新【版权所有,侵权必究】【本文受版权保护】的开源项目WebCut。这个项目是我这小半年来唯一的开源新项目【作者:唐霜】【原创内容,转载请注明出处】,这对比我过去几年的一些开源事迹来说,真【原创不易,请尊重版权】【本文受版权保护】的是一段低产荒。不过这是正常的,没有任何【版权所有】唐霜 www.tangshuang.net【版权所有,侵权必究】人可以长时间的一直发布新项目,这种沉寂,【版权所有】唐霜 www.tangshuang.net【本文受版权保护】正是因为我把时间和精力都投入在其他事情上转载请注明出处:www.tangshuang.net【版权所有,侵权必究】,所以其实是好事。之所以要发起和开源这个转载请注明出处:www.tangshuang.net【未经授权禁止转载】项目,说起来还是有些背景,下面我会来聊一著作权归作者所有,禁止商业用途转载。【未经授权禁止转载】聊关于这个项目的一些背景,以及过程中在技【版权所有】唐霜 www.tangshuang.net原创内容,盗版必究。术上的一些探索。

【原创内容,转载请注明出处】【本文首发于唐霜的博客】【版权所有,侵权必究】【本文受版权保护】

没有合适的视频编辑UI框架😭

过去半年,我连续发布了多款与视频相关的产【原创不易,请尊重版权】著作权归作者所有,禁止商业用途转载。品,这些产品或多或少都需要用户参与视频编原创内容,盗版必究。著作权归作者所有,禁止商业用途转载。辑操作,比如给视频添加字幕、对视频进行裁【未经授权禁止转载】【访问 www.tangshuang.net 获取更多精彩内容】剪、给视频配音等等,这些在视频编辑器中常【版权所有,侵权必究】【本文首发于唐霜的博客】见的视频处理工具,在Web端其实需求非常本文作者:唐霜,转载请注明出处。转载请注明出处:www.tangshuang.net巨大,特别是现在AI领域,制作各种个样的转载请注明出处:www.tangshuang.net【版权所有,侵权必究】视频的需求非常多。而这些需求,可能并不需【版权所有】唐霜 www.tangshuang.net【版权所有】唐霜 www.tangshuang.net要在产品中载入一整个视频编辑器,而是只需【版权所有,侵权必究】著作权归作者所有,禁止商业用途转载。要几个简单的部件来实现编辑功能。然而回望【作者:唐霜】【关注微信公众号:wwwtangshuangnet】开源市场,能够支持这种编辑能力的项目少之【版权所有,侵权必究】【原创内容,转载请注明出处】又少,虽然有一些项目呈现了视频编辑的能力【原创内容,转载请注明出处】【访问 www.tangshuang.net 获取更多精彩内容】,然而,要么项目太大,一个完整的视频编辑【作者:唐霜】转载请注明出处:www.tangshuang.net器甩在开发者脸上,要么过于底层,没有UI【访问 www.tangshuang.net 获取更多精彩内容】【访问 www.tangshuang.net 获取更多精彩内容】界面。如果我只是想有一个视频预览,再有轨著作权归作者所有,禁止商业用途转载。原创内容,盗版必究。道和几个配置界面,就没法直接用这些项目。【作者:唐霜】未经授权,禁止复制转载。包括我自己在内,每次有与视频相关的功能,原创内容,盗版必究。【未经授权禁止转载】都要把之前在另外一个产品中实现的编辑能力转载请注明出处:www.tangshuang.net【版权所有,侵权必究】移植到新产品中,而且要调的细节也很多。正【未经授权禁止转载】【原创内容,转载请注明出处】是这种求而不得的现状,促使我打算自己写一著作权归作者所有,禁止商业用途转载。【关注微信公众号:wwwtangshuangnet】个视频编辑器项目。

【作者:唐霜】【转载请注明来源】

初始想法💡:拼积木

我可不是从0开始的,因为我已经开发过很多【关注微信公众号:wwwtangshuangnet】【原创内容,转载请注明出处】次视频编辑相关的功能了。我还在Videa项目中完整实现了一个视频编辑器。因此,我的想本文作者:唐霜,转载请注明出处。本文版权归作者所有,未经授权不得转载。法是把我之前做过的功能,整理一遍,就可以本文作者:唐霜,转载请注明出处。本文版权归作者所有,未经授权不得转载。得到想要的组件或逻辑。有了这个工具包之后【原创不易,请尊重版权】未经授权,禁止复制转载。,我只需要在将来的新产品中复用这些代码即【原创不易,请尊重版权】【访问 www.tangshuang.net 获取更多精彩内容】可。于是我建立了一个独立的npm包,来把【访问 www.tangshuang.net 获取更多精彩内容】【原创内容,转载请注明出处】所有功能集中放在一起。随着持续的迭代,我本文作者:唐霜,转载请注明出处。【版权所有,侵权必究】发现其实这里面是有规律的。

转载请注明出处:www.tangshuang.net转载请注明出处:www.tangshuang.net【原创内容,转载请注明出处】本文作者:唐霜,转载请注明出处。

视频编辑器我们都用过,像剪映一样,有各种【转载请注明来源】原创内容,盗版必究。功能,细节也很多。但是,当我们把视频编辑【原创不易,请尊重版权】本文作者:唐霜,转载请注明出处。的功能放到某个具体的产品中时,我们是不可本文作者:唐霜,转载请注明出处。【作者:唐霜】能直接把整个编辑器给用户的。实际上,我们转载请注明出处:www.tangshuang.net【未经授权禁止转载】最终呈现的产品形态,基本上都是剪映的子集未经授权,禁止复制转载。【未经授权禁止转载】,而且是很小很小的子集,可能只是整个剪映【本文受版权保护】【版权所有】唐霜 www.tangshuang.net1%的功能,最终给到用户操作可能只是非常本文版权归作者所有,未经授权不得转载。本文作者:唐霜,转载请注明出处。简单的一次性操作,而页面也很轻量,属于用本文版权归作者所有,未经授权不得转载。【未经授权禁止转载】户即用即走,用完就关再也不会来第二次的那【转载请注明来源】【未经授权禁止转载】种。正是这种看似功能点很小,但实际上需要转载请注明出处:www.tangshuang.net本文版权归作者所有,未经授权不得转载。为它单独定制,技术上的成本可以用巨大来描本文版权归作者所有,未经授权不得转载。【关注微信公众号:wwwtangshuangnet】述的场景,让我觉得这是一个需要认真对待的【版权所有,侵权必究】本文作者:唐霜,转载请注明出处。点。

原创内容,盗版必究。转载请注明出处:www.tangshuang.net【本文首发于唐霜的博客】转载请注明出处:www.tangshuang.net

我的计划是采用组件化的思想,把一个视频编未经授权,禁止复制转载。【转载请注明来源】辑器拆成一个一个的组件,把一个完整的剪映【未经授权禁止转载】【访问 www.tangshuang.net 获取更多精彩内容】编辑器,拆成一个按钮一个按钮的积木。当我【关注微信公众号:wwwtangshuangnet】【原创不易,请尊重版权】们面对产品需求时,就从这些积木中挑选,然【关注微信公众号:wwwtangshuangnet】著作权归作者所有,禁止商业用途转载。后组合成产品经理所描述的功能,同时,具体转载请注明出处:www.tangshuang.net【访问 www.tangshuang.net 获取更多精彩内容】这些积木怎么布局,则根据设计稿调整位置,【原创不易,请尊重版权】本文版权归作者所有,未经授权不得转载。还可以用CSS来覆盖组件内部的样式,达到转载请注明出处:www.tangshuang.net转载请注明出处:www.tangshuang.net与设计稿媲美的效果。

著作权归作者所有,禁止商业用途转载。著作权归作者所有,禁止商业用途转载。转载请注明出处:www.tangshuang.net【作者:唐霜】

未经授权,禁止复制转载。【版权所有】唐霜 www.tangshuang.net

上面是我用AI做的一张示意图,大概就是这【本文受版权保护】【未经授权禁止转载】个意思,把一个编辑器拆的细碎,然后要什么【版权所有】唐霜 www.tangshuang.net【本文受版权保护】功能就把对应的组件拿来拼凑一下。比如要对【原创不易,请尊重版权】【未经授权禁止转载】视频进行静音裁剪,就只要把预览区和轨道区未经授权,禁止复制转载。【未经授权禁止转载】拿出来,然后自己再增加一些能力上去。这样【访问 www.tangshuang.net 获取更多精彩内容】【访问 www.tangshuang.net 获取更多精彩内容】,开发者在面对各种各样的需求时,就能快速【版权所有】唐霜 www.tangshuang.net本文作者:唐霜,转载请注明出处。搭建起界面效果,而不需要从头实现界面和视【关注微信公众号:wwwtangshuangnet】原创内容,盗版必究。频处理能力。

【版权所有,侵权必究】本文作者:唐霜,转载请注明出处。

【本文首发于唐霜的博客】本文版权归作者所有,未经授权不得转载。【关注微信公众号:wwwtangshuangnet】【本文首发于唐霜的博客】

通过不同的组合方式,配合开发者自己的布局【本文首发于唐霜的博客】【本文首发于唐霜的博客】,就可以创建符合需求的视频编辑界面。

【作者:唐霜】【版权所有,侵权必究】

没那么容易😥:外简内繁的接口艺术

虽然想法很容易有,但是要做成成品,并且发【本文首发于唐霜的博客】原创内容,盗版必究。布为可用的库可没那么轻松。要知道视频编辑本文版权归作者所有,未经授权不得转载。原创内容,盗版必究。器的功能非常多,多到我们无法用简单的文字【作者:唐霜】【版权所有】唐霜 www.tangshuang.net描述它们。那么,如何才能站在开发者的角度【未经授权禁止转载】【访问 www.tangshuang.net 获取更多精彩内容】,让这件事变得简单呢?

本文作者:唐霜,转载请注明出处。【本文首发于唐霜的博客】本文作者:唐霜,转载请注明出处。

开发库永远面临着一个矛盾:灵活性和规范性本文作者:唐霜,转载请注明出处。原创内容,盗版必究。之间的矛盾。灵活性就是暴露又多又细的接口著作权归作者所有,禁止商业用途转载。本文作者:唐霜,转载请注明出处。,让开发者可以用不同参数,玩出花活,例如【版权所有,侵权必究】【原创不易,请尊重版权】知名项目echarts早期就是这种。这种【本文首发于唐霜的博客】本文作者:唐霜,转载请注明出处。对于刚上手的开发者而言,无言是一场灾难,【本文受版权保护】本文版权归作者所有,未经授权不得转载。他们甚至不知道从哪里开始,但是一旦完全掌【本文首发于唐霜的博客】转载请注明出处:www.tangshuang.net握,就相当于拥有了一个武器库,可以为所欲【访问 www.tangshuang.net 获取更多精彩内容】原创内容,盗版必究。为。而规范性则是强制性规则比较多,只能暴原创内容,盗版必究。【未经授权禁止转载】露少量接口,避免开发者破坏这种规范,例如【未经授权禁止转载】未经授权,禁止复制转载。很多前端UI组件库就是这样。这两者之间的未经授权,禁止复制转载。【本文首发于唐霜的博客】矛盾,是每一个库或框架开发者最难平衡的。

原创内容,盗版必究。【访问 www.tangshuang.net 获取更多精彩内容】

在视频编辑器上,我认为有些东西是固定的,【转载请注明来源】本文版权归作者所有,未经授权不得转载。几乎每一个需求都会用到,例如视频预览播放转载请注明出处:www.tangshuang.net本文版权归作者所有,未经授权不得转载。器、控制按钮等,但是有些功能是低频功能,【原创不易,请尊重版权】【原创内容,转载请注明出处】例如媒体库、字幕编辑等。因此,对于高频和本文版权归作者所有,未经授权不得转载。本文版权归作者所有,未经授权不得转载。低频的功能,我用两种态度去处理。

转载请注明出处:www.tangshuang.net【版权所有,侵权必究】本文作者:唐霜,转载请注明出处。

高频的功能,拆的很细,拆到一个按钮为止,【本文受版权保护】【关注微信公众号:wwwtangshuangnet】例如视频播放器,看上去已经很单一了,但是【未经授权禁止转载】【本文首发于唐霜的博客】,我还要把预览屏幕和播放按钮拆开,屏幕和未经授权,禁止复制转载。【关注微信公众号:wwwtangshuangnet】按钮如何布局就可以随意去处理。类似的还有转载请注明出处:www.tangshuang.net未经授权,禁止复制转载。导出按钮、分割片段按钮等等。把这些工具拆转载请注明出处:www.tangshuang.net【原创内容,转载请注明出处】分为一个一个最小的单元,由开发者自由布局【本文首发于唐霜的博客】【转载请注明来源】,这样就可以很好的去适配产品需求。

本文版权归作者所有,未经授权不得转载。【未经授权禁止转载】

对于低频功能,则直接导出为大组件,这样就【本文首发于唐霜的博客】著作权归作者所有,禁止商业用途转载。可以在一个组件内完成复杂的逻辑,减少开发转载请注明出处:www.tangshuang.net著作权归作者所有,禁止商业用途转载。这些组件时需要跨组件控制状态的心智成本。【原创不易,请尊重版权】【转载请注明来源】比如媒体库,里面包含了媒体的管理、上传、本文版权归作者所有,未经授权不得转载。著作权归作者所有,禁止商业用途转载。本地化等等,这些逻辑还是很复杂的,如果还【作者:唐霜】著作权归作者所有,禁止商业用途转载。是按照细拆思路,那么实现起来就烦得要死。【未经授权禁止转载】【访问 www.tangshuang.net 获取更多精彩内容】因此,这类工具我都是只暴露为一个大的组件【版权所有,侵权必究】著作权归作者所有,禁止商业用途转载。

【原创内容,转载请注明出处】本文作者:唐霜,转载请注明出处。

同时,为了方便开发者在某些情况下快捷接入【访问 www.tangshuang.net 获取更多精彩内容】转载请注明出处:www.tangshuang.net,我会设计一些自己看到的不错的编辑器UI【版权所有,侵权必究】转载请注明出处:www.tangshuang.net,然后用上诉的工具把它们搭出来,这样,开【版权所有,侵权必究】【本文首发于唐霜的博客】发者如果在产品需求中发现仓库里已经有功能【版权所有】唐霜 www.tangshuang.net【版权所有】唐霜 www.tangshuang.net一致的组件,就不需要自己去组合,直接使用【本文首发于唐霜的博客】【作者:唐霜】对应组件即可。

【访问 www.tangshuang.net 获取更多精彩内容】著作权归作者所有,禁止商业用途转载。【本文首发于唐霜的博客】转载请注明出处:www.tangshuang.net

以模仿剪映为例,开发者只需要接入WebCutEditor这个组件即可:

【原创内容,转载请注明出处】【作者:唐霜】
<script setup>
import { WebCutEditor } from 'webcut';
import 'webcut/esm/style.css';
</script>

<template>
    <WebCutEditor />
</template>

这样就可以得到一个界面接近于剪映的视频编【作者:唐霜】【未经授权禁止转载】辑器。

原创内容,盗版必究。转载请注明出处:www.tangshuang.net【版权所有】唐霜 www.tangshuang.net

数据驱动,视频编辑的DSL

经过我的研究,发现对于单纯的视频编辑而言本文作者:唐霜,转载请注明出处。【关注微信公众号:wwwtangshuangnet】,编辑器其实只需要两份数据,就可以解决大本文作者:唐霜,转载请注明出处。未经授权,禁止复制转载。部分场景下的需求。一份是编辑的素材数据,【作者:唐霜】【未经授权禁止转载】一份是视频的配置数据。

【转载请注明来源】【转载请注明来源】【原创内容,转载请注明出处】【作者:唐霜】

素材数据

它包含素材文件本身的信息、素材的组织信息原创内容,盗版必究。【访问 www.tangshuang.net 获取更多精彩内容】、素材的属性信息。

转载请注明出处:www.tangshuang.net【原创不易,请尊重版权】【访问 www.tangshuang.net 获取更多精彩内容】

文件信息

未经授权,禁止复制转载。【未经授权禁止转载】本文版权归作者所有,未经授权不得转载。本文作者:唐霜,转载请注明出处。

我通过opfs将文件存在本地,并且在in本文版权归作者所有,未经授权不得转载。【原创内容,转载请注明出处】dexedDB中存储每一个文件的关联信息【未经授权禁止转载】【版权所有】唐霜 www.tangshuang.net。包含文件的类型、名称、大小等。在一个域本文版权归作者所有,未经授权不得转载。【未经授权禁止转载】名下,每一个文件的实体(也就是File对【未经授权禁止转载】原创内容,盗版必究。象)只需要一份,通过file-md5值作本文作者:唐霜,转载请注明出处。【作者:唐霜】为索引存在opfs中。而一个文件可能会在著作权归作者所有,禁止商业用途转载。【原创不易,请尊重版权】多处被使用,indexedDB中则是记录【关注微信公众号:wwwtangshuangnet】【作者:唐霜】这些信息,多个关联信息可同时链接到同一个著作权归作者所有,禁止商业用途转载。【版权所有】唐霜 www.tangshuang.netFile。另外,基于indexedDB的【本文首发于唐霜的博客】【本文首发于唐霜的博客】特性,还可以实现筛选等能力。

【关注微信公众号:wwwtangshuangnet】未经授权,禁止复制转载。原创内容,盗版必究。

素材组织信息

转载请注明出处:www.tangshuang.net【版权所有】唐霜 www.tangshuang.net本文版权归作者所有,未经授权不得转载。

主要是指当把素材放在视频时间轨道中时,所著作权归作者所有,禁止商业用途转载。【访问 www.tangshuang.net 获取更多精彩内容】需要的数据结构。包含轨道列表、素材所对应本文版权归作者所有,未经授权不得转载。【版权所有】唐霜 www.tangshuang.net的文件、素材对应时间点、播放时的一些属性【原创内容,转载请注明出处】【版权所有,侵权必究】等等信息。这些信息综合起来,我们就知道,【作者:唐霜】【关注微信公众号:wwwtangshuangnet】在视频的某一个时刻,应该播放什么内容。

未经授权,禁止复制转载。著作权归作者所有,禁止商业用途转载。

素材属性信息

【本文首发于唐霜的博客】【未经授权禁止转载】

在播放中,素材以什么方式呈现,如文本的样原创内容,盗版必究。本文版权归作者所有,未经授权不得转载。式、视频音频的播放速度、动画、转场等。

本文作者:唐霜,转载请注明出处。转载请注明出处:www.tangshuang.net

配置数据

主要指视频本身的信息,在导出时这些配置可【原创不易,请尊重版权】未经授权,禁止复制转载。以直接体现出来,例如视频的分辨率、比例、原创内容,盗版必究。本文作者:唐霜,转载请注明出处。速率等,视频是否要添加某些特殊的内容,例【原创内容,转载请注明出处】未经授权,禁止复制转载。如水印等。

著作权归作者所有,禁止商业用途转载。【转载请注明来源】

基于素材数据和配置数据,我们基本上可以完【版权所有】唐霜 www.tangshuang.net本文版权归作者所有,未经授权不得转载。整的知道当前这个视频的编辑状态。通过数据【版权所有,侵权必究】未经授权,禁止复制转载。来恢复当前的编辑状态,变得可行,这可以抵本文版权归作者所有,未经授权不得转载。【原创内容,转载请注明出处】消用户在浏览器中经常执行“刷新”操作带来原创内容,盗版必究。本文版权归作者所有,未经授权不得转载。的状态丢失。同时,这份数据也可以备份到云【作者:唐霜】【转载请注明来源】端,实现多端的同步(不过需要同时同步Fi原创内容,盗版必究。【访问 www.tangshuang.net 获取更多精彩内容】le,速度肯定会受影响)。而且由于数据本本文作者:唐霜,转载请注明出处。【未经授权禁止转载】身是纯序列化的,因此,可以交给AI来进行未经授权,禁止复制转载。本文版权归作者所有,未经授权不得转载。处理,例如让AI调整一些时间、样式等可基著作权归作者所有,禁止商业用途转载。【本文受版权保护】于纯序列化数据完成的功能。这就让我们的编【原创不易,请尊重版权】【版权所有】唐霜 www.tangshuang.net辑器变得有更多的玩法。

【关注微信公众号:wwwtangshuangnet】【访问 www.tangshuang.net 获取更多精彩内容】

发布上线🌏

经过几天的工作,我终于把代码整理完整,经本文版权归作者所有,未经授权不得转载。【转载请注明来源】过调试之后,基本可用了,便迫不及待的准备著作权归作者所有,禁止商业用途转载。【关注微信公众号:wwwtangshuangnet】与大家分享。现在,你可以使用这个项目了。

【关注微信公众号:wwwtangshuangnet】【关注微信公众号:wwwtangshuangnet】【原创不易,请尊重版权】原创内容,盗版必究。

Github 开发文档 官方网站

本文版权归作者所有,未经授权不得转载。【未经授权禁止转载】本文版权归作者所有,未经授权不得转载。

由于底层是由Vue3作为驱动的,因此,在【本文首发于唐霜的博客】原创内容,盗版必究。Vue中使用有非常大的优势,具体如下:

【本文受版权保护】原创内容,盗版必究。
npm i webcut

先安装,安装之后,你就可以在Vue中如下著作权归作者所有,禁止商业用途转载。本文版权归作者所有,未经授权不得转载。使用。

本文版权归作者所有,未经授权不得转载。未经授权,禁止复制转载。
<script setup>
import { WebCutEditor } from 'webcut';
import 'webcut/esm/style.css';
</script>

<template>
    <WebCutEditor />
</template>

或者如果你的项目支持typescript【版权所有,侵权必究】【访问 www.tangshuang.net 获取更多精彩内容】,你可以直接从源码进行引入,这样就不必主未经授权,禁止复制转载。本文作者:唐霜,转载请注明出处。动引入css:

【访问 www.tangshuang.net 获取更多精彩内容】本文作者:唐霜,转载请注明出处。【访问 www.tangshuang.net 获取更多精彩内容】【原创内容,转载请注明出处】
<script setup lang="ts">
import { WebCutEditor } from 'webcut/src';
</script>

如果是非Vue的项目,则需要引用webc【访问 www.tangshuang.net 获取更多精彩内容】著作权归作者所有,禁止商业用途转载。omponents的构建产物:

【原创内容,转载请注明出处】【转载请注明来源】
import 'webcut/webcomponents';
import 'webcut/webcomponents/style.css';

export default function Some() {
    return <webcut-editor></webcut-editor>;
}

如果是直接在HTML中使用,可以直接引入本文作者:唐霜,转载请注明出处。本文版权归作者所有,未经授权不得转载。webcomponents/bundle【版权所有,侵权必究】原创内容,盗版必究。,这样包含了Vue等依赖,就不需要另外构【关注微信公众号:wwwtangshuangnet】【未经授权禁止转载】建。

【作者:唐霜】【关注微信公众号:wwwtangshuangnet】
<script src="https://unpkg.com/webcut/webcomponents/bundle/index.js"></script>
<link rel="stylesheet" href="https://unpkg.com/webcut/webcomponents/bundle/style.css" />

<webcut-editor></webcut-editor>

如果是想自己布局,则需要引入各个很小的组【转载请注明来源】著作权归作者所有,禁止商业用途转载。件来自己布局。在这种情况下,你必须引入W【本文受版权保护】【转载请注明来源】ebCutProvider组件,将所有的【版权所有】唐霜 www.tangshuang.net【版权所有】唐霜 www.tangshuang.net子组件包含在内。

【未经授权禁止转载】原创内容,盗版必究。
<webcut-provider>
    <webcut-player></webcut-player>
    <webcut-export-button></webcut-export-button>
</webcut-provider>

未来展望

当前,WebCut还是处于很初级的阶段,【版权所有】唐霜 www.tangshuang.net【版权所有,侵权必究】实现了最核心的能力,我的目标是能够为开发【原创不易,请尊重版权】原创内容,盗版必究。者们提供一切需要的组件,并且不需要复杂的未经授权,禁止复制转载。原创内容,盗版必究。脚本处理就可以获得视频编辑的全部功能。还本文版权归作者所有,未经授权不得转载。著作权归作者所有,禁止商业用途转载。有很多功能没有实现,在计划中:

【作者:唐霜】【版权所有,侵权必究】【本文受版权保护】【原创不易,请尊重版权】
  • 历史记录功能,包含撤销和重做功能
  • 【版权所有】唐霜 www.tangshuang.net本文作者:唐霜,转载请注明出处。
  • 内置样式的字体
  • 【原创内容,转载请注明出处】【关注微信公众号:wwwtangshuangnet】
  • 花字,比内置样式更高级的文本
  • 著作权归作者所有,禁止商业用途转载。【本文受版权保护】【本文首发于唐霜的博客】
  • 轨道里的素材吸附能力
  • 【版权所有】唐霜 www.tangshuang.net本文作者:唐霜,转载请注明出处。未经授权,禁止复制转载。【访问 www.tangshuang.net 获取更多精彩内容】
  • 视频的轨道分离(音频分离)
  • 【本文首发于唐霜的博客】【作者:唐霜】【版权所有,侵权必究】【本文受版权保护】
  • 音视频的音量调节
  • 转载请注明出处:www.tangshuang.net【访问 www.tangshuang.net 获取更多精彩内容】未经授权,禁止复制转载。
  • 单段素材的下载导出
  • 【版权所有】唐霜 www.tangshuang.net【版权所有,侵权必究】【关注微信公众号:wwwtangshuangnet】【原创不易,请尊重版权】
  • 整个视频导出时可以进行分辨率、码率、速率【作者:唐霜】原创内容,盗版必究。、编码、格式的选择,支持只导出音频
  • 【转载请注明来源】本文作者:唐霜,转载请注明出处。

以上这些都是编辑的基本功能。还有一些是从【作者:唐霜】【访问 www.tangshuang.net 获取更多精彩内容】视频编辑定制化的角度思考的能力:

本文版权归作者所有,未经授权不得转载。本文作者:唐霜,转载请注明出处。【原创内容,转载请注明出处】
  • 动画(帧)支持
  • 未经授权,禁止复制转载。转载请注明出处:www.tangshuang.net
  • 转场过渡效果支持
  • 著作权归作者所有,禁止商业用途转载。本文作者:唐霜,转载请注明出处。【版权所有】唐霜 www.tangshuang.net【本文首发于唐霜的博客】
  • 扩展功能模块,这部分可能会做成收费的,下【版权所有】唐霜 www.tangshuang.net【关注微信公众号:wwwtangshuangnet】载模块后,通过一个接口安装一下,就可以支【作者:唐霜】著作权归作者所有,禁止商业用途转载。持某些扩展功能
  • 未经授权,禁止复制转载。【访问 www.tangshuang.net 获取更多精彩内容】本文版权归作者所有,未经授权不得转载。
  • AI Agent能力,通过对话来执行视频【原创不易,请尊重版权】【转载请注明来源】编辑,降低视频编辑的门槛
  • 未经授权,禁止复制转载。转载请注明出处:www.tangshuang.net【本文受版权保护】
  • 视频模板,把一些流行的视频效果片段做成模【版权所有】唐霜 www.tangshuang.net未经授权,禁止复制转载。板,在视频中直接插入后,与现有视频融合为【转载请注明来源】【关注微信公众号:wwwtangshuangnet】模板中的效果
  • 【转载请注明来源】【作者:唐霜】
  • 基于AI来进行短剧创作的能力
  • 【未经授权禁止转载】【本文受版权保护】【版权所有】唐霜 www.tangshuang.net原创内容,盗版必究。

要实现这些能力,需要大量的投入,虽然现在转载请注明出处:www.tangshuang.net未经授权,禁止复制转载。AI编程非常火热,但是真正能够完美实现的【版权所有,侵权必究】【原创内容,转载请注明出处】,其实还比较少,因此,这些工作都需要小伙本文作者:唐霜,转载请注明出处。【转载请注明来源】伴们的支持,如果你对这个项目感兴趣,可以本文作者:唐霜,转载请注明出处。著作权归作者所有,禁止商业用途转载。通过DeepWiki来了解项目代码的底层结构,并fork项目后,向我们提PR,让我们一起共建一个属于本文版权归作者所有,未经授权不得转载。本文版权归作者所有,未经授权不得转载。我们自己的视频编辑UI框架。

著作权归作者所有,禁止商业用途转载。本文作者:唐霜,转载请注明出处。

最后,你的支持是我前进的动力,动动你的小【原创不易,请尊重版权】转载请注明出处:www.tangshuang.net手,到我们的github上给个start,让我们知道你对此感兴趣【关注微信公众号:wwwtangshuangnet】【原创内容,转载请注明出处】

【本文首发于唐霜的博客】转载请注明出处:www.tangshuang.net著作权归作者所有,禁止商业用途转载。

2025-12-04 845 ,

为价值买单,打赏一杯咖啡

本文价值8.45RMB