Skip to main content

很少有两个创意流程是相同的,这就是为什么我们建立了ftrack API。通过ftrack API,你可以定制ftrack Studio来满足需求,与独特的工作流同步交付项目。

ftrack Python API可以帮助实现很多问题。譬如,有一个软件还未和ftrack Studio集成,但你迫切需要这个集成;或者想为你的工作室招聘流程创建一些特别的东西,像是为新人设置一个特别的ftrack Studio指导;或者你只是厌倦了花大量时间在那些可以更高效地批量自动化的任务上。

如果你对尝试ftrack API感兴趣,但又不确定从哪里开始,在下面,我们将介绍如何设置和运行ftrack API。你可以按照我们的指南开始使用ftrack API,还有一些链接帮助你起步。

先来看看网易、Epic Games和Cubic Motion是如何利用ftrack API改善工作流:

Plarium Global

网易游戏

Cubic Motion

使用ftrack API的入门指南

ftrack主要是一个具有直观、现代界面的网络应用,让用户在生产过程中与创意项目及其资产互动。如果你想深入挖掘,开始自动化流程,来一起潜心研究ftrack API的力量。

下面,我们将介绍一下开始使用ftrack的Python API(https://ftrack-python-api.readthedocs.io/en/stable/index.html)的步骤。由于Python的易用性和可读性,我们将在这个例子中使用Python(这两点是Python成为行业标准编程语言的原因)。

如果你遇到困难,你可以在以下文档中找到支持:

  • 文档: https://ftrack-python-api.readthedocs.io/en/stable/
  • ftrack的社区支持: https://forum.ftrack.com/?_ga=2.150256118.1112973211.1648012542-2100902558.1588150031
  • 最近的ftrack API 2.0更新:https://ftrack-python-api.readthedocs.io/en/stable/
  • 初学者使用ftrack Python API必看:ftrack-python-api.readthedocs.io/en/stable

1. 安装Python

如果你没有安装 Python,那么第一步就是安装它。很有可能你的系统已经包含了Python,但如果没有,你可以从python.org获得。在这篇文章中,我们会使用 Python 3.8。

安装完毕后,确认你有Python:

$ python —version
python 3.8.9

2. 建立一个虚拟环境进行实验

使用Python时,还有一个很好的工具是虚拟环境,用Python的venv模块创建。虚拟环境允许你建立一个沙盒,这样你可以指定使用的 Python 版本,安装 Python 模块,而不会影响你的系统的 Python 环境。你可以用以下指令创建激活一个虚拟环境。

$ python3 -m venv /path/to/new/virtual/environment
$ cd /path/to/new/virtual/environment
$ source ./bin/activate

请注意,这是我们对通过虚拟环境使用 Python 的建议/最佳实践方法。还有其他的选择,但在本教程中我们将坚持采用这种方法。

3.  装ftrack API和iPython

现在我们可以用PIP(Python软件包安装程序)来安装ftrack API。下面是要运行的内容:

$ pip install ftrack-python-api
[…some output omitted…]
Successfully installed ftrack-python-api-2.3.0

另一个在探索新的API时特别有用的模块是iPython。iPython是一个增强的交互式Python shell,帮助你充分利用Python的交互式使用。

iPython不是必需的,但在你交互式地探索API的时候,有它会很好。用以下方法安装iPython:

  • Comprehensive object introspection.
  • Input history, persistent across sessions.
  • Extensible tab completion, with support by default for completion of python variables and keywords, filenames, and function keywords.

iPython不是必需的,但在你交互式地探索API的时候,有它会很好。用以下方法安装iPython:

$ pip install ipython

然后,用以下指令启动一个ipython shell:

% ipython
Python 3.8.9 (default, Oct 26 2021, 07:25:54)
Type 'copyright', 'credits' or 'license' for more information
IPython 8.0.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]:

4. 获取API认证凭证

你还需要一个东西,就是API认证凭证。可以在ftrack Studio的账户页面上获得API认证凭证。到的 “我的账户”页面,可以看到一个 “个人API密钥”,你的 “用户名”(电子邮件),以及你的ftrack实例在浏览器地址栏的基本URL。一旦有了这些凭证,可以通过为你的shell(bash,zsh)设置以下环境变量来配置它们:

或者,你可以在创建会话对象(用它来与API交互)时在代码中输入你的证书:

In [1]: import ftrack_api
In [2]: session = ftrack_api.Session(
   ...: server_url="https://mycompany.ftrackapp.com",
   ...: api_key="7545384e-a653-11e1-a82c-f22c11dd25eq",
   ...: api_user="[email protected]",
   ...: )

或者,如果你使用环境变量配置了你的证书,那么这些命令会是:

In [1]: import ftrack_api
In [2]: session = ftrack_api.Session()

注意在上面的例子中,我们首先导入了ftrack API包。然后我们配置实例化了一个会话对象。如果这两个指令的运行都没有错误,那么你就可以继续了!

与ftrack服务器的所有通信都是通过会话对象进行的。如果想了解更多关于这个对象的工作原理,可以查看文档

5. 探索你的项目数据

理想情况下,你的API凭证将允许你读取和写入数据到你的服务器。虽然两者都很重要,但在只读模式下探索是最容易的。因此,让我们写下我们的第一个查询。但首先,让我们看一下我们数据库中的所有 “类型”。做到这一点,先在iPython会话中输入以下内容:

In [3]: session.types.keys()
Out[3]: dict_keys(['Asset', 'Milestone', 'Task', 'Project', 'Note', ‘Shot', ‘Sequence'])

你会看到上面有一个更长的类型列表,但为了简单起见,这里减少了这个列表。

让我们从项目类型开始,下面是一个列出所有ftrack Studio项目的查询:

In [4]: session.query("Project").all()
Out[4]:
[<dynamic ftrack Project object 4569254112>,
 <dynamic ftrack Project object 4568971584>,
 <dynamic ftrack Project object 4568970912>]

更好的是通过print结果集中的每个项目的 “name”来迭代这个查询的结果:

In [5]: projects = session.query(“Project”).all()
In [6]: [p["name"] for p in projects]
Out[6]:
[‘Demo Project’,
 ‘Avengers Movie',
 ‘Fender Commercial']

让我们以第一个项目为例,探索它的一些属性和它们所指向的实体,在探索中继续向下进入对象树:

In [7]: demo_project = projects[0]
Out[7]:
[('created_at', <Arrow [2020-05-19T10:19:07+00:00]>),
 ('managers', <ftrack_api.collection.Collection at 0x110648c70>),
 ('calendar_events', <ftrack_api.collection.Collection at 0x110557130>),
 ('color', '#FFEB3B'),
 ('_link',
[{'type': 'Project',
  'id': '2c5fc83e-99ba-11ea-9970-ca9d6ff8834e',
  'name': ‘Demo Project'}]),
 ('full_name', 'Demo Project'),
 ('disk', <dynamic ftrack Disk object 4936562864>),
 ('children', <ftrack_api.collection.Collection at 0x1105d1f70>),
 ('timelogs', <ftrack_api.collection.Collection at 0x1263dfc70>),
 ('end_date', <Arrow [2021-12-31T00:00:00+00:00]>),
 ('parent_id', None),
 ('created_by', <dynamic ftrack User object 4936948464>),
[…some output omitted…]

现在我们看到了我们项目的所有顶层属性和它们各自的类型。我们可以访问每一个属性,基于每一个后续的实体类型,我们可以通过项目的层次结构向下检查或迭代。例如,要查看我们在Demo项目中有多少个”日历事件”,你可以像这样简单地做:

In [8]: len(demo_project[“calendar_events"])
Out[8]: 49

一旦你对查询(”reading”)感到满意,那么就可以继续修改和创建(”writing”)。为此,我们将指导你查阅API文档。

资源

下面是一些链接和资源,以便在探索ftrack API时使用。如果在过程中有任何问题,请随时发邮件到[email protected],或添加微信号ftrack和我们取得联系。

探索 ftrack API

开始免费的ftrack Studio试用,看看ftrack API如何支持您的下一个项目。

立即试用

更多新闻

又出新功能了!演示模式上线

| Uncategorized | No Comments
ftrack Review推出新功能--演示模式啦! 获得完全的控制权,确保会议顺利进行。

cineSync 5来了!好莱坞都在使用的软件现登陆中国!

| 产品 | No Comments
cineSync 5现已发布,支持中文!这意味着中国用户也可以用上好莱坞都在使用的审阅工具啦!

重构ftrack Review:4月份的大更来啦!

| 产品 | No Comments
我们对ftrack Review进行了重新设计和构思,使审阅会话更直观,使用更轻松,外观更好看!

5步骤带你玩转ftrack API:自动化、集成、按需求定制平台…

| 提示与技巧 | No Comments
ftrack Python API可以帮助实现很多问题,如果你想尝试ftrack API可以看看这篇。

重磅!ftrack获得2亿美金支持!

| 产品 | No Comments
我们要宣布了一个激动人心的重磅消息:ftrack获得了Backlight的战略发展投资——2亿美元!!

ftrack Review更新啦!比较模式、缩放控制、全部静音…

| 产品 | No Comments
现在打开ftrack Review,可以更容易地访问一些设置,改进了缩放控制,还有在播放媒体时能够全部静音了。

超实用!加快效率又节省生产时间,看MPC等五个工作室玩转Action

| 提示与技巧 | No Comments
来自MPC、Plarium Games、Sila Sveta、Blue Zoo和Boulder Media的创意人分享了他们如何使用Actions来提高整个制作的效率。

VFX总监的职责是什么?如何从0到1成为一名视效总监

| 提示与技巧 | No Comments
到底视效总监都承担哪些职责,如何成为一名视效总监呢?