吃我这记”达芬奇“安利
吃我这记”达芬奇“安利
小剧场
故事要从12月份的一天说起,来吃同学说,能不能给达芬奇开发一下可以定时自动切换时间线的工具。
这是什么鬼需求??我面上保持微笑,礼貌性地问了一下用途何在。
同学解释了一下说达芬奇会在打开某条时间线一段时间后开始缓存,这样调色师在之后调色的时候播放速度会比较快。
嗯,挺好的功能啊,继续
但达芬奇没有一键缓存所有时间线的功能,得有个人在电脑前看着,缓存完一条,切换下一条...
????![黑人问号.jpg]
好在达芬奇提供的可怜巴巴的几个API接口,刚好有可以设置当前时间线的函数。
更新
在达芬奇刚发布有Python API的时候,我简单看了下,觉得非常之鸡肋,什么获得项目名字,创建项目什么的,这些操作都很低频,简直是玩具嘛。
不过上面的故事让我觉得,这只是我业务方面不熟,没有真正贴近用户,了解用户,于是在来吃的合作下,把每个函数都推敲了一遍:有需求要开发,没有需求,创造需求也要开发。还真琢磨出几个用途。
正当我觉得达芬奇薛微有点因吹斯听的时候, DaVinci Resolve 16.1.2发布了, API竟然有了质的更新,非常有诚意,比如:
- SetLUT
- SetCDL
以及有关Take
的增删改查。
这岂止是因吹斯听啊,简直激动人心,要知道Nuke Studio
中花式、快速、一键切换素材版本这点令其他只能一轨一轨堆高楼的剪辑软件望尘莫及,此次的 Take
接口就可以实现(嘿我已经实现了)
所以,是时候来(给视效)安利一下达芬奇了。 以下讨论关于达芬奇开发的话题,非技术人员会感觉非常枯燥。
达芬奇的工程
大部分的软件,其工程是一个自解释的文件或者其他通用格式如xml。
而达芬奇使用的是数据库来存放它的内容,非常另类,但加载快,用到什么,再去读取什么,而且都是数据库级的操作。
人家一个软件的工程文件都上数据库,咱们视效这么大摊子还有公司流程系统都没上数据库,扫描硬盘什么的,的确忍耐力可以...
达芬奇的界面
达芬奇的UI是使用Qt5进行开发的,熟悉的老伙计,看到这里,不禁邪魅狷狂一笑:若其 UI 稍微露个口,定要搅得他天翻地覆。嗯,潜力非常大。
书回正传,达芬奇用户体验不太很丝滑,某些操作在菜单的位置很奇怪,按钮的设置我用半个月了,还总是找不到正确的位置,加上很多地方都无法调整窗口大小,总体上体验有待提高。或者我这个(视效)用户需要去适应他。
达芬奇的开发
达芬奇支持Lua
和Python
两种脚本语言,在 16 之后的版本,同时支持Python 3 和 Python 2。
跟视效软件又一大不同,这些个脚本语言(解释器)运行时是和达芬奇完全分开的,通过中间人fusionscript.exe
(windows下)进行交流通信。
也就是说你运行一个Python
脚本,必须先判断一下达芬奇是否运行。
同时带来了一个非常不方便的地方,写的工具无法无痛部署到其他机器上,跨平台就更痛苦了。而视效DCC的插件,基本上放到指定文件夹位置就完成安装部署了。
但优点也是有的,在视效软件中,如果Python
要用到C写的库比如numpy
之类的,都会存在兼容性问题。
就是说你通过正常pip install的某些库,是不能带到Maya/Nuke/Houdini 里使用的,因为编译Maya/Nuke/Houdini的编译器版本,跟编译numpy
的编译器版本不一致,强行import,会出现DLL 加载失败的错误(举例为windows平台下)。这种情况,可以去自行编译或者去网上找好心人编译过的,我一般都会先去Houdini安装路径里找一找.....
但达芬奇的这种分开执行策略,各管各的就不存在这个问题了,整个pypi 都是你的武器库。
达芬奇的优势
好了,达芬奇“坏话”讲了这么多,那我为何安利你们用达芬奇呢?
记得那一年,Hiero
横空出世,一个真正意义上带时间线+剪辑功能的视效软件诞生了,填补了(一点)视效与剪辑,视效与DI之间的对接鸿沟,也越来越多公司认识到视效剪辑这个岗位作用。
Nuke Studio
有很多非常好用非常贴近视效的功能,比如快速上镜头号、burn-in、花式文件夹层级输出、自动 build track 、外加上掏心掏肺要啥有啥级别的API,真乃惊为天人,居然还能这么玩儿?!
但是,Hiero
/Nuke Studio
有着致命的缺点:
- 转码慢
- 容易崩
- 死贵(软件厂商对国内公司的“整风运动”着实让人瑟瑟发抖)
某天,我想直面对话用户,探讨深层次需求,准备开发一系列好评如潮的Nuke Studio
工具集
小剧场
我:Denny 啊,你使用Nuke Studio工作时最大的痛点是什么?
Denny:Nuke Studio老崩!
我:额,说点我能解决的。
Denny:导演在我身边坐等看画面呢,我这打开Nuke Studio工程一播放就崩,场面(每次)十分尴尬
我:告辞。
而上述三个缺点,正是达芬奇的优势,再重复一下?
- 转码快
- 软件稳定
- 价格亲民
如果从视效剪辑和IO的角度来看,达芬奇如果在API方面再给点力,将 Nuke studio中那几个核心特性实现出来,那达芬奇取代 Nuke Studio 将指日可待。再强调一下,是从视效剪辑和 IO 工作内容方面考虑。——求生欲极强的鬼猫猫
达芬奇的 API
从我的开发习惯来说,达芬奇 API 目前最亟待开放的几点:(排名分前后,其他的都可以慢慢来。)
- 对时间线的修改:某个“镜头”在 Track 上的位置设置,没有这个,自动生成正确的时间线就没戏。
- 无法设置 playhead 的位置,那
GetCurrentClipThumbnailImage
就是一句空话,一张缩略图有何用。(注:已经有了) - Effect Node 的增删改查,比如Text...
- 无法获取用户的选中的“对象”,现在脚本操作最小单位起手就得是Track。很多情况用户只需要对某几个“镜头”做操作,选中某些“镜头”,现在 API 中无法得到这些选择的,我只能通过和用户约定具有指定Clip Color“镜头”为操作目标。