朋友们晚上好啊,这段时间我在忙着完成最新转载请注明出处:www.tangshuang.net【版权所有】唐霜 www.tangshuang.net的开源项目WebCut。这个项目是我这小半年来唯一的开源新项目转载请注明出处:www.tangshuang.net未经授权,禁止复制转载。,这对比我过去几年的一些开源事迹来说,真【未经授权禁止转载】【作者:唐霜】的是一段低产荒。不过这是正常的,没有任何原创内容,盗版必究。原创内容,盗版必究。人可以长时间的一直发布新项目,这种沉寂,本文版权归作者所有,未经授权不得转载。【关注微信公众号:wwwtangshuangnet】正是因为我把时间和精力都投入在其他事情上原创内容,盗版必究。【版权所有,侵权必究】,所以其实是好事。之所以要发起和开源这个【本文首发于唐霜的博客】【转载请注明来源】项目,说起来还是有些背景,下面我会来聊一【本文首发于唐霜的博客】【原创内容,转载请注明出处】聊关于这个项目的一些背景,以及过程中在技【版权所有】唐霜 www.tangshuang.net转载请注明出处:www.tangshuang.net术上的一些探索。
没有合适的视频编辑UI框架😭
过去半年,我连续发布了多款与视频相关的产【版权所有】唐霜 www.tangshuang.net【关注微信公众号:wwwtangshuangnet】品,这些产品或多或少都需要用户参与视频编【本文首发于唐霜的博客】著作权归作者所有,禁止商业用途转载。辑操作,比如给视频添加字幕、对视频进行裁【关注微信公众号:wwwtangshuangnet】【原创内容,转载请注明出处】剪、给视频配音等等,这些在视频编辑器中常【原创不易,请尊重版权】【原创不易,请尊重版权】见的视频处理工具,在Web端其实需求非常【未经授权禁止转载】本文版权归作者所有,未经授权不得转载。巨大,特别是现在AI领域,制作各种个样的【关注微信公众号:wwwtangshuangnet】【关注微信公众号:wwwtangshuangnet】视频的需求非常多。而这些需求,可能并不需【转载请注明来源】【本文首发于唐霜的博客】要在产品中载入一整个视频编辑器,而是只需【未经授权禁止转载】【未经授权禁止转载】要几个简单的部件来实现编辑功能。然而回望【原创不易,请尊重版权】【本文受版权保护】开源市场,能够支持这种编辑能力的项目少之本文作者:唐霜,转载请注明出处。【未经授权禁止转载】又少,虽然有一些项目呈现了视频编辑的能力【关注微信公众号:wwwtangshuangnet】【访问 www.tangshuang.net 获取更多精彩内容】,然而,要么项目太大,一个完整的视频编辑【本文首发于唐霜的博客】【作者:唐霜】器甩在开发者脸上,要么过于底层,没有UI【作者:唐霜】【原创不易,请尊重版权】界面。如果我只是想有一个视频预览,再有轨【作者:唐霜】【版权所有】唐霜 www.tangshuang.net道和几个配置界面,就没法直接用这些项目。【未经授权禁止转载】【作者:唐霜】包括我自己在内,每次有与视频相关的功能,著作权归作者所有,禁止商业用途转载。【原创不易,请尊重版权】都要把之前在另外一个产品中实现的编辑能力【本文首发于唐霜的博客】【作者:唐霜】移植到新产品中,而且要调的细节也很多。正【原创不易,请尊重版权】本文版权归作者所有,未经授权不得转载。是这种求而不得的现状,促使我打算自己写一【原创不易,请尊重版权】【转载请注明来源】个视频编辑器项目。
【本文受版权保护】【作者:唐霜】【版权所有】唐霜 www.tangshu未经授权,禁止复制转载。本文作者:唐霜,转载请注明出处。ang.net【原创不易,请尊重版权】初始想法💡:拼积木
我可不是从0开始的,因为我已经开发过很多【本文受版权保护】【访问 www.tangshuang.net 获取更多精彩内容】次视频编辑相关的功能了。我还在Videa项目中完整实现了一个视频编辑器。因此,我的想本文作者:唐霜,转载请注明出处。【关注微信公众号:wwwtangshuangnet】法是把我之前做过的功能,整理一遍,就可以转载请注明出处:www.tangshuang.net【未经授权禁止转载】得到想要的组件或逻辑。有了这个工具包之后转载请注明出处:www.tangshuang.net【本文受版权保护】,我只需要在将来的新产品中复用这些代码即【版权所有】唐霜 www.tangshuang.net【转载请注明来源】可。于是我建立了一个独立的npm包,来把本文作者:唐霜,转载请注明出处。【转载请注明来源】所有功能集中放在一起。随着持续的迭代,我【本文首发于唐霜的博客】【作者:唐霜】发现其实这里面是有规律的。
未经授权,禁止复制转载。【原创不易,请尊重版权】视频编辑器我们都用过,像剪映一样,有各种著作权归作者所有,禁止商业用途转载。【原创内容,转载请注明出处】功能,细节也很多。但是,当我们把视频编辑本文作者:唐霜,转载请注明出处。未经授权,禁止复制转载。的功能放到某个具体的产品中时,我们是不可著作权归作者所有,禁止商业用途转载。【版权所有,侵权必究】能直接把整个编辑器给用户的。实际上,我们本文作者:唐霜,转载请注明出处。【本文受版权保护】最终呈现的产品形态,基本上都是剪映的子集【关注微信公众号:wwwtangshuangnet】未经授权,禁止复制转载。,而且是很小很小的子集,可能只是整个剪映【版权所有】唐霜 www.tangshuang.net【版权所有,侵权必究】1%的功能,最终给到用户操作可能只是非常【未经授权禁止转载】【未经授权禁止转载】简单的一次性操作,而页面也很轻量,属于用【关注微信公众号:wwwtangshuangnet】著作权归作者所有,禁止商业用途转载。户即用即走,用完就关再也不会来第二次的那【作者:唐霜】原创内容,盗版必究。种。正是这种看似功能点很小,但实际上需要【访问 www.tangshuang.net 获取更多精彩内容】【关注微信公众号:wwwtangshuangnet】为它单独定制,技术上的成本可以用巨大来描【关注微信公众号:wwwtangshuangnet】【版权所有,侵权必究】述的场景,让我觉得这是一个需要认真对待的转载请注明出处:www.tangshuang.net本文版权归作者所有,未经授权不得转载。点。
原创内容,盗版必究。【原创不易,请尊重版权】【未经授权禁止转载】我的计划是采用组件化的思想,把一个视频编【本文首发于唐霜的博客】本文作者:唐霜,转载请注明出处。辑器拆成一个一个的组件,把一个完整的剪映转载请注明出处:www.tangshuang.net转载请注明出处:www.tangshuang.net编辑器,拆成一个按钮一个按钮的积木。当我【原创内容,转载请注明出处】著作权归作者所有,禁止商业用途转载。们面对产品需求时,就从这些积木中挑选,然【原创内容,转载请注明出处】原创内容,盗版必究。后组合成产品经理所描述的功能,同时,具体著作权归作者所有,禁止商业用途转载。本文版权归作者所有,未经授权不得转载。这些积木怎么布局,则根据设计稿调整位置,本文作者:唐霜,转载请注明出处。【未经授权禁止转载】还可以用CSS来覆盖组件内部的样式,达到【关注微信公众号:wwwtangshuangnet】【本文首发于唐霜的博客】与设计稿媲美的效果。
未经授权,禁止复制转载。【原创不易,请尊重版权】【访问 www.tangshuang.n原创内容,盗版必究。【本文首发于唐霜的博客】et 获取更多精彩内容】
上面是我用AI做的一张示意图,大概就是这未经授权,禁止复制转载。著作权归作者所有,禁止商业用途转载。个意思,把一个编辑器拆的细碎,然后要什么【未经授权禁止转载】【本文首发于唐霜的博客】功能就把对应的组件拿来拼凑一下。比如要对【转载请注明来源】未经授权,禁止复制转载。视频进行静音裁剪,就只要把预览区和轨道区本文版权归作者所有,未经授权不得转载。本文作者:唐霜,转载请注明出处。拿出来,然后自己再增加一些能力上去。这样【版权所有,侵权必究】【版权所有】唐霜 www.tangshuang.net,开发者在面对各种各样的需求时,就能快速【未经授权禁止转载】转载请注明出处:www.tangshuang.net搭建起界面效果,而不需要从头实现界面和视【原创不易,请尊重版权】【版权所有,侵权必究】频处理能力。
原创内容,盗版必究。【本文首发于唐霜的博客】【访问 www.tangshuang.n【作者:唐霜】本文作者:唐霜,转载请注明出处。et 获取更多精彩内容】转载请注明出处:www.tangshua【本文受版权保护】【版权所有】唐霜 www.tangshuang.netng.net
通过不同的组合方式,配合开发者自己的布局转载请注明出处:www.tangshuang.net【原创不易,请尊重版权】,就可以创建符合需求的视频编辑界面。
【原创内容,转载请注明出处】【作者:唐霜】【未经授权禁止转载】原创内容,盗版必究。没那么容易😥:外简内繁的接口艺术
虽然想法很容易有,但是要做成成品,并且发【版权所有,侵权必究】未经授权,禁止复制转载。布为可用的库可没那么轻松。要知道视频编辑【作者:唐霜】【原创内容,转载请注明出处】器的功能非常多,多到我们无法用简单的文字【原创不易,请尊重版权】【原创内容,转载请注明出处】描述它们。那么,如何才能站在开发者的角度【本文首发于唐霜的博客】【关注微信公众号:wwwtangshuangnet】,让这件事变得简单呢?
未经授权,禁止复制转载。【转载请注明来源】【未经授权禁止转载】开发库永远面临着一个矛盾:灵活性和规范性【未经授权禁止转载】【版权所有】唐霜 www.tangshuang.net之间的矛盾。灵活性就是暴露又多又细的接口【版权所有】唐霜 www.tangshuang.net【转载请注明来源】,让开发者可以用不同参数,玩出花活,例如【作者:唐霜】【原创不易,请尊重版权】知名项目echarts早期就是这种。这种【版权所有】唐霜 www.tangshuang.net【原创不易,请尊重版权】对于刚上手的开发者而言,无言是一场灾难,【版权所有】唐霜 www.tangshuang.net本文作者:唐霜,转载请注明出处。他们甚至不知道从哪里开始,但是一旦完全掌原创内容,盗版必究。【关注微信公众号:wwwtangshuangnet】握,就相当于拥有了一个武器库,可以为所欲【本文首发于唐霜的博客】【本文首发于唐霜的博客】为。而规范性则是强制性规则比较多,只能暴【未经授权禁止转载】原创内容,盗版必究。露少量接口,避免开发者破坏这种规范,例如未经授权,禁止复制转载。未经授权,禁止复制转载。很多前端UI组件库就是这样。这两者之间的原创内容,盗版必究。【版权所有】唐霜 www.tangshuang.net矛盾,是每一个库或框架开发者最难平衡的。
【访问 www.tangshuang.n原创内容,盗版必究。【作者:唐霜】et 获取更多精彩内容】【原创不易,请尊重版权】在视频编辑器上,我认为有些东西是固定的,未经授权,禁止复制转载。【未经授权禁止转载】几乎每一个需求都会用到,例如视频预览播放本文版权归作者所有,未经授权不得转载。转载请注明出处:www.tangshuang.net器、控制按钮等,但是有些功能是低频功能,未经授权,禁止复制转载。【访问 www.tangshuang.net 获取更多精彩内容】例如媒体库、字幕编辑等。因此,对于高频和【未经授权禁止转载】未经授权,禁止复制转载。低频的功能,我用两种态度去处理。
【作者:唐霜】【未经授权禁止转载】高频的功能,拆的很细,拆到一个按钮为止,【本文首发于唐霜的博客】【未经授权禁止转载】例如视频播放器,看上去已经很单一了,但是【本文受版权保护】本文版权归作者所有,未经授权不得转载。,我还要把预览屏幕和播放按钮拆开,屏幕和未经授权,禁止复制转载。本文作者:唐霜,转载请注明出处。按钮如何布局就可以随意去处理。类似的还有【原创不易,请尊重版权】未经授权,禁止复制转载。导出按钮、分割片段按钮等等。把这些工具拆【本文受版权保护】【关注微信公众号:wwwtangshuangnet】分为一个一个最小的单元,由开发者自由布局【原创不易,请尊重版权】未经授权,禁止复制转载。,这样就可以很好的去适配产品需求。
【原创内容,转载请注明出处】未经授权,禁止复制转载。未经授权,禁止复制转载。【原创内容,转载请注明出处】对于低频功能,则直接导出为大组件,这样就【本文首发于唐霜的博客】著作权归作者所有,禁止商业用途转载。可以在一个组件内完成复杂的逻辑,减少开发本文作者:唐霜,转载请注明出处。【转载请注明来源】这些组件时需要跨组件控制状态的心智成本。著作权归作者所有,禁止商业用途转载。【关注微信公众号:wwwtangshuangnet】比如媒体库,里面包含了媒体的管理、上传、【转载请注明来源】【关注微信公众号:wwwtangshuangnet】本地化等等,这些逻辑还是很复杂的,如果还原创内容,盗版必究。【本文受版权保护】是按照细拆思路,那么实现起来就烦得要死。本文作者:唐霜,转载请注明出处。本文作者:唐霜,转载请注明出处。因此,这类工具我都是只暴露为一个大的组件未经授权,禁止复制转载。著作权归作者所有,禁止商业用途转载。。
本文版权归作者所有,未经授权不得转载。转载请注明出处:www.tangshua【版权所有】唐霜 www.tangshuang.net原创内容,盗版必究。ng.net同时,为了方便开发者在某些情况下快捷接入【原创不易,请尊重版权】【版权所有】唐霜 www.tangshuang.net,我会设计一些自己看到的不错的编辑器UI【本文受版权保护】【原创内容,转载请注明出处】,然后用上诉的工具把它们搭出来,这样,开【转载请注明来源】本文作者:唐霜,转载请注明出处。发者如果在产品需求中发现仓库里已经有功能【访问 www.tangshuang.net 获取更多精彩内容】未经授权,禁止复制转载。一致的组件,就不需要自己去组合,直接使用【关注微信公众号:wwwtangshuangnet】【版权所有,侵权必究】对应组件即可。
【访问 www.tangshuang.n【转载请注明来源】本文版权归作者所有,未经授权不得转载。et 获取更多精彩内容】本文版权归作者所有,未经授权不得转载。【版权所有,侵权必究】【关注微信公众号:wwwtangshua本文作者:唐霜,转载请注明出处。【本文受版权保护】ngnet】以模仿剪映为例,开发者只需要接入WebCutEditor这个组件即可:
<script setup>
import { WebCutEditor } from 'webcut';
import 'webcut/esm/style.css';
</script>
<template>
<WebCutEditor />
</template>
这样就可以得到一个界面接近于剪映的视频编【关注微信公众号:wwwtangshuangnet】【原创不易,请尊重版权】辑器。
【本文受版权保护】【未经授权禁止转载】转载请注明出处:www.tangshua【版权所有】唐霜 www.tangshuang.net【版权所有】唐霜 www.tangshuang.netng.net本文版权归作者所有,未经授权不得转载。数据驱动,视频编辑的DSL
经过我的研究,发现对于单纯的视频编辑而言原创内容,盗版必究。未经授权,禁止复制转载。,编辑器其实只需要两份数据,就可以解决大【作者:唐霜】原创内容,盗版必究。部分场景下的需求。一份是编辑的素材数据,转载请注明出处:www.tangshuang.net未经授权,禁止复制转载。一份是视频的配置数据。
【本文受版权保护】著作权归作者所有,禁止商业用途转载。未经授权,禁止复制转载。素材数据
它包含素材文件本身的信息、素材的组织信息【版权所有】唐霜 www.tangshuang.net著作权归作者所有,禁止商业用途转载。、素材的属性信息。
【本文受版权保护】【原创内容,转载请注明出处】【原创不易,请尊重版权】文件信息
【原创内容,转载请注明出处】【未经授权禁止转载】我通过opfs将文件存在本地,并且在in本文版权归作者所有,未经授权不得转载。【关注微信公众号:wwwtangshuangnet】dexedDB中存储每一个文件的关联信息【未经授权禁止转载】原创内容,盗版必究。。包含文件的类型、名称、大小等。在一个域【转载请注明来源】转载请注明出处:www.tangshuang.net名下,每一个文件的实体(也就是File对【转载请注明来源】转载请注明出处:www.tangshuang.net象)只需要一份,通过file-md5值作【作者:唐霜】【本文受版权保护】为索引存在opfs中。而一个文件可能会在【转载请注明来源】【原创内容,转载请注明出处】多处被使用,indexedDB中则是记录【转载请注明来源】著作权归作者所有,禁止商业用途转载。这些信息,多个关联信息可同时链接到同一个【本文受版权保护】【访问 www.tangshuang.net 获取更多精彩内容】File。另外,基于indexedDB的转载请注明出处:www.tangshuang.net【本文受版权保护】特性,还可以实现筛选等能力。
转载请注明出处:www.tangshua【原创不易,请尊重版权】【转载请注明来源】ng.net转载请注明出处:www.tangshua【未经授权禁止转载】【原创内容,转载请注明出处】ng.net未经授权,禁止复制转载。素材组织信息
【原创内容,转载请注明出处】【本文受版权保护】主要是指当把素材放在视频时间轨道中时,所【原创内容,转载请注明出处】【原创内容,转载请注明出处】需要的数据结构。包含轨道列表、素材所对应【访问 www.tangshuang.net 获取更多精彩内容】【作者:唐霜】的文件、素材对应时间点、播放时的一些属性【本文首发于唐霜的博客】未经授权,禁止复制转载。等等信息。这些信息综合起来,我们就知道,原创内容,盗版必究。本文作者:唐霜,转载请注明出处。在视频的某一个时刻,应该播放什么内容。
【本文受版权保护】转载请注明出处:www.tangshua转载请注明出处:www.tangshuang.net【关注微信公众号:wwwtangshuangnet】ng.net原创内容,盗版必究。【版权所有】唐霜 www.tangshu本文版权归作者所有,未经授权不得转载。未经授权,禁止复制转载。ang.net素材属性信息
【原创不易,请尊重版权】转载请注明出处:www.tangshua转载请注明出处:www.tangshuang.net【原创内容,转载请注明出处】ng.net在播放中,素材以什么方式呈现,如文本的样【访问 www.tangshuang.net 获取更多精彩内容】转载请注明出处:www.tangshuang.net式、视频音频的播放速度、动画、转场等。
【版权所有】唐霜 www.tangshu【访问 www.tangshuang.net 获取更多精彩内容】【本文首发于唐霜的博客】ang.net著作权归作者所有,禁止商业用途转载。【版权所有】唐霜 www.tangshu【原创内容,转载请注明出处】未经授权,禁止复制转载。ang.net【关注微信公众号:wwwtangshua本文版权归作者所有,未经授权不得转载。【版权所有】唐霜 www.tangshuang.netngnet】配置数据
主要指视频本身的信息,在导出时这些配置可【版权所有,侵权必究】原创内容,盗版必究。以直接体现出来,例如视频的分辨率、比例、【作者:唐霜】未经授权,禁止复制转载。速率等,视频是否要添加某些特殊的内容,例著作权归作者所有,禁止商业用途转载。【作者:唐霜】如水印等。
著作权归作者所有,禁止商业用途转载。著作权归作者所有,禁止商业用途转载。原创内容,盗版必究。【作者:唐霜】基于素材数据和配置数据,我们基本上可以完原创内容,盗版必究。本文作者:唐霜,转载请注明出处。整的知道当前这个视频的编辑状态。通过数据【本文受版权保护】【转载请注明来源】来恢复当前的编辑状态,变得可行,这可以抵【原创内容,转载请注明出处】【版权所有】唐霜 www.tangshuang.net消用户在浏览器中经常执行“刷新”操作带来转载请注明出处:www.tangshuang.net著作权归作者所有,禁止商业用途转载。的状态丢失。同时,这份数据也可以备份到云【版权所有,侵权必究】【本文受版权保护】端,实现多端的同步(不过需要同时同步Fi【关注微信公众号:wwwtangshuangnet】原创内容,盗版必究。le,速度肯定会受影响)。而且由于数据本【本文首发于唐霜的博客】【本文受版权保护】身是纯序列化的,因此,可以交给AI来进行【未经授权禁止转载】未经授权,禁止复制转载。处理,例如让AI调整一些时间、样式等可基【关注微信公众号:wwwtangshuangnet】著作权归作者所有,禁止商业用途转载。于纯序列化数据完成的功能。这就让我们的编未经授权,禁止复制转载。本文版权归作者所有,未经授权不得转载。辑器变得有更多的玩法。
【本文受版权保护】【作者:唐霜】发布上线🌏
经过几天的工作,我终于把代码整理完整,经转载请注明出处:www.tangshuang.net【本文受版权保护】过调试之后,基本可用了,便迫不及待的准备本文作者:唐霜,转载请注明出处。【原创内容,转载请注明出处】与大家分享。现在,你可以使用这个项目了。
本文版权归作者所有,未经授权不得转载。【关注微信公众号:wwwtangshua本文作者:唐霜,转载请注明出处。【转载请注明来源】ngnet】 【作者:唐霜】【原创不易,请尊重版权】【本文受版权保护】本文作者:唐霜,转载请注明出处。由于底层是由Vue3作为驱动的,因此,在【原创内容,转载请注明出处】本文作者:唐霜,转载请注明出处。Vue中使用有非常大的优势,具体如下:
未经授权,禁止复制转载。未经授权,禁止复制转载。【转载请注明来源】npm i webcut
先安装,安装之后,你就可以在Vue中如下【作者:唐霜】【本文首发于唐霜的博客】使用。
【访问 www.tangshuang.n【版权所有,侵权必究】本文作者:唐霜,转载请注明出处。et 获取更多精彩内容】【版权所有,侵权必究】<script setup>
import { WebCutEditor } from 'webcut';
import 'webcut/esm/style.css';
</script>
<template>
<WebCutEditor />
</template>
或者如果你的项目支持typescript【关注微信公众号:wwwtangshuangnet】【未经授权禁止转载】,你可以直接从源码进行引入,这样就不必主【访问 www.tangshuang.net 获取更多精彩内容】本文版权归作者所有,未经授权不得转载。动引入css:
【访问 www.tangshuang.n【版权所有,侵权必究】【未经授权禁止转载】et 获取更多精彩内容】【转载请注明来源】【版权所有】唐霜 www.tangshu【访问 www.tangshuang.net 获取更多精彩内容】【版权所有,侵权必究】ang.net【未经授权禁止转载】<script setup lang="ts">
import { WebCutEditor } from 'webcut/src';
</script>
如果是非Vue的项目,则需要引用webc著作权归作者所有,禁止商业用途转载。著作权归作者所有,禁止商业用途转载。omponents的构建产物:
【版权所有】唐霜 www.tangshu著作权归作者所有,禁止商业用途转载。【版权所有】唐霜 www.tangshuang.netang.net【版权所有,侵权必究】import 'webcut/webcomponents';
import 'webcut/webcomponents/style.css';
export default function Some() {
return <webcut-editor></webcut-editor>;
}
如果是直接在HTML中使用,可以直接引入【关注微信公众号:wwwtangshuangnet】【访问 www.tangshuang.net 获取更多精彩内容】webcomponents/bundle【原创不易,请尊重版权】著作权归作者所有,禁止商业用途转载。,这样包含了Vue等依赖,就不需要另外构本文作者:唐霜,转载请注明出处。转载请注明出处:www.tangshuang.net建。
【原创内容,转载请注明出处】转载请注明出处:www.tangshua【未经授权禁止转载】转载请注明出处:www.tangshuang.netng.net【转载请注明来源】<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>
如果是想自己布局,则需要引入各个很小的组【关注微信公众号:wwwtangshuangnet】【版权所有,侵权必究】件来自己布局。在这种情况下,你必须引入W本文作者:唐霜,转载请注明出处。【版权所有】唐霜 www.tangshuang.netebCutProvider组件,将所有的转载请注明出处:www.tangshuang.net【本文首发于唐霜的博客】子组件包含在内。
本文版权归作者所有,未经授权不得转载。【版权所有】唐霜 www.tangshu【作者:唐霜】【原创不易,请尊重版权】ang.net<webcut-provider>
<webcut-player></webcut-player>
<webcut-export-button></webcut-export-button>
</webcut-provider>
未来展望
当前,WebCut还是处于很初级的阶段,【版权所有】唐霜 www.tangshuang.net转载请注明出处:www.tangshuang.net实现了最核心的能力,我的目标是能够为开发原创内容,盗版必究。【作者:唐霜】者们提供一切需要的组件,并且不需要复杂的本文作者:唐霜,转载请注明出处。本文版权归作者所有,未经授权不得转载。脚本处理就可以获得视频编辑的全部功能。还【版权所有,侵权必究】【版权所有】唐霜 www.tangshuang.net有很多功能没有实现,在计划中:
【转载请注明来源】【版权所有,侵权必究】【原创不易,请尊重版权】- 历史记录功能,包含撤销和重做功能 【关注微信公众号:wwwtangshua【原创不易,请尊重版权】本文作者:唐霜,转载请注明出处。ngnet】原创内容,盗版必究。著作权归作者所有,禁止商业用途转载。【访问 www.tangshuang.n【访问 www.tangshuang.net 获取更多精彩内容】原创内容,盗版必究。et 获取更多精彩内容】
- 内置样式的字体 【访问 www.tangshuang.n未经授权,禁止复制转载。【版权所有】唐霜 www.tangshuang.netet 获取更多精彩内容】【本文受版权保护】本文作者:唐霜,转载请注明出处。
- 花字,比内置样式更高级的文本 【版权所有,侵权必究】【访问 www.tangshuang.n著作权归作者所有,禁止商业用途转载。【原创内容,转载请注明出处】et 获取更多精彩内容】【访问 www.tangshuang.n【未经授权禁止转载】【版权所有】唐霜 www.tangshuang.netet 获取更多精彩内容】转载请注明出处:www.tangshua著作权归作者所有,禁止商业用途转载。原创内容,盗版必究。ng.net
- 轨道里的素材吸附能力 【本文受版权保护】【原创内容,转载请注明出处】
- 视频的轨道分离(音频分离) 本文版权归作者所有,未经授权不得转载。【原创内容,转载请注明出处】
- 音视频的音量调节 【访问 www.tangshuang.n【访问 www.tangshuang.net 获取更多精彩内容】【版权所有,侵权必究】et 获取更多精彩内容】【作者:唐霜】转载请注明出处:www.tangshua原创内容,盗版必究。著作权归作者所有,禁止商业用途转载。ng.net【未经授权禁止转载】
- 单段素材的下载导出 转载请注明出处:www.tangshua本文作者:唐霜,转载请注明出处。【作者:唐霜】ng.net【原创内容,转载请注明出处】【原创不易,请尊重版权】【本文受版权保护】
- 整个视频导出时可以进行分辨率、码率、速率【版权所有】唐霜 www.tangshuang.net【版权所有】唐霜 www.tangshuang.net、编码、格式的选择,支持只导出音频 本文版权归作者所有,未经授权不得转载。转载请注明出处:www.tangshua【原创内容,转载请注明出处】【本文受版权保护】ng.net
以上这些都是编辑的基本功能。还有一些是从【关注微信公众号:wwwtangshuangnet】【转载请注明来源】视频编辑定制化的角度思考的能力:
【原创内容,转载请注明出处】【原创内容,转载请注明出处】- 动画(帧)支持 【作者:唐霜】【作者:唐霜】
- 转场过渡效果支持 本文版权归作者所有,未经授权不得转载。【版权所有】唐霜 www.tangshu【版权所有,侵权必究】著作权归作者所有,禁止商业用途转载。ang.net【版权所有】唐霜 www.tangshu【本文首发于唐霜的博客】原创内容,盗版必究。ang.net【本文受版权保护】
- 扩展功能模块,这部分可能会做成收费的,下【访问 www.tangshuang.net 获取更多精彩内容】转载请注明出处:www.tangshuang.net载模块后,通过一个接口安装一下,就可以支【本文首发于唐霜的博客】【原创不易,请尊重版权】持某些扩展功能 【作者:唐霜】【关注微信公众号:wwwtangshua【访问 www.tangshuang.net 获取更多精彩内容】转载请注明出处:www.tangshuang.netngnet】转载请注明出处:www.tangshua【本文受版权保护】【转载请注明来源】ng.net
- AI Agent能力,通过对话来执行视频【版权所有】唐霜 www.tangshuang.net本文作者:唐霜,转载请注明出处。编辑,降低视频编辑的门槛 原创内容,盗版必究。【作者:唐霜】
- 视频模板,把一些流行的视频效果片段做成模著作权归作者所有,禁止商业用途转载。本文版权归作者所有,未经授权不得转载。板,在视频中直接插入后,与现有视频融合为【作者:唐霜】【原创内容,转载请注明出处】模板中的效果 本文作者:唐霜,转载请注明出处。【未经授权禁止转载】
- 基于AI来进行短剧创作的能力 【本文受版权保护】原创内容,盗版必究。本文作者:唐霜,转载请注明出处。
要实现这些能力,需要大量的投入,虽然现在本文作者:唐霜,转载请注明出处。【版权所有】唐霜 www.tangshuang.netAI编程非常火热,但是真正能够完美实现的【作者:唐霜】著作权归作者所有,禁止商业用途转载。,其实还比较少,因此,这些工作都需要小伙【访问 www.tangshuang.net 获取更多精彩内容】【原创不易,请尊重版权】伴们的支持,如果你对这个项目感兴趣,可以著作权归作者所有,禁止商业用途转载。本文版权归作者所有,未经授权不得转载。通过DeepWiki来了解项目代码的底层结构,并fork项目后,向我们提PR,让我们一起共建一个属于转载请注明出处:www.tangshuang.net【转载请注明来源】我们自己的视频编辑UI框架。
【版权所有】唐霜 www.tangshu转载请注明出处:www.tangshuang.net著作权归作者所有,禁止商业用途转载。ang.net转载请注明出处:www.tangshua【原创不易,请尊重版权】转载请注明出处:www.tangshuang.netng.net【转载请注明来源】最后,你的支持是我前进的动力,动动你的小【作者:唐霜】【访问 www.tangshuang.net 获取更多精彩内容】手,到我们的github上给个start,让我们知道你对此感兴趣【版权所有】唐霜 www.tangshuang.net【转载请注明来源】。
【访问 www.tangshuang.n【原创内容,转载请注明出处】本文版权归作者所有,未经授权不得转载。et 获取更多精彩内容】【转载请注明来源】

