基于数据库管理系统的电影镜头管理方法研究
2020-04-29田楠梅宇
田 楠 梅 宇
(北京电影学院 影视技术系,北京 100088)
1 背景
1.1 使用数据库管理系统进行电影数据管理的意义
随着电影数字技术的发展,越来越多的信息以数字的方式记录了下来,其中不仅包含了每个镜头的图像信息,同时伴随着镜头与场景(Shot&Scene)、片段信息(Clip Details)、摄影机信息(Camera)等对拍摄内容描述信息的产生,即元数据(Metadata)。而这些元数据信息,除了从拍摄的素材文件中获得之外,场记、特效、录音等部门也会按照各自的需要,记录与拍摄内容相关的数据信息。这些信息将在整个电影的制作流程中不断产生、传递、应用。
素材文件及其元数据的良好管理是电影制作各环节一致性与连贯性的重要保证,是促进电影制作流程向着标准化与规范性发展的重要基础。在电影工业体系中,各部门、各工种既相互独立又相互合作,素材文件及其元数据的产生、交接、传递贯穿整个电影的制作流程,而传统的纸质、表格等记录方法,并无法实现与素材本身的有效关联,各部门的记录软件也存在着多部门间交互上的局限性。
数据库管理系统不仅能够具备数据的录入、处理等功能,而且能够对多个数据库进行统一管理、数据共享,有效降低数据的冗余度,凭借其自身的特点,数据库管理系统能够在电影镜头管理过程中充分发挥其优势。此外,数据库管理系统对数据库权限的管理,也可有效地为电影中各部门设置独立的工作空间,使其能够在权限允许的情况下,对数据进行操作。采用恰当的管理工具,更好地完成数据的管理工作,为电影的制作提供全面的数据保障,一直以来都是电影工业化进程中的重要目标之一。
1.2 数据库管理系统
数据库是用来存放数据的仓库,其与应用程序彼此独立,以一定的方式、特定的规则,将数量巨大的数据存放在一起,尽可能地降低数据的冗余度,并能够将数据与多个用户进行共享,用户可对其中的数据进行添加、更新、查询、删除等操作。
数据库管理系统(Database Management System,DBMS)是为了管理数据库而设计的软件系统,数据库管理系统是数据库系统的重要组成部分,主要用于数据库的建立、运行和维护等工作,实现数据库对象的创建、数据库存储数据的添加、更新、查询、删除等操作,完成数据库的用户管理、权限管理等工作,数据库管理系统的安全将直接关系到整个数据库及其中数据的安全。
数据库系统按照数据库的模型进行分类,一般被分成关系型数据库与非关系型数据库。关系型数据库,顾名思义,是利用数据之间的关系和联系来构建的数据库系统,其以行、列对数据进行存储,便于用户读取。常见的关系型数据库有Oracle、Microsoft SQL Server、MySQL、FileMaker Pro Advanced等。而非关系型数据库则不再采用建立数据之间的关系模型来构建数据库,数据之间无关系,便提升了数据的可拓展性,其结构简单,使非关系型数据库具有较高的读写能力,尤其是在大数据量下尤为突出。现在常见的非关系型数据库软件有Membase、MongoDB等。
利用数据库管理系统进行数据管理能够更进一步地控制数据库之间冗余,同时能够保持数据的一致性,并控制、管理用户对数据库的操作权限,进而实现数据的交互共享,并保证数据库乃至数据的安全。
2 Filemaker
2.1 FileMaker概念
FileMaker Pro Advance(以下简称为FileMaker)是由FileMaker公司开发的关系型数据库管理系统。它支持在Mac OS、Windows等多种系统平台下构建数据库管理系统,同时支持在移动端访问FileMaker数据库管理系统,并允许用户在权限允许的范围内对数据库中的数据进行查询、添加、更新、删除等操作。FileMaker支持读取多种格式的文件来进行数据的录入,也可将数据库中的数据输出为指定格式的文件,同时FileMaker能够通过网络发布实现数据的共享。
FileMaker作为一种关系型数据库管理系统,数据库之间通过确立关系模型的方式来实现数据库之间的关联。FileMaker采用布局(Layout)、表(Table)、字段(Field)三级关系来实现数据库管理。字段(Field)是FileMaker中最小的管理单元,也是构成FileMaker中所有数据库的基础,所有的数据都将存放在字段中,FileMaker按照存储数据的类型,对字段进行了分类,如文本、数值、计算、容器、合计等,为FileMaker存储不同类型的数据创造了条件。表(Table)是字段的归属,是构成关系型数据库的最常见类型,FileMaker数据管理系统中至少包含着一个或多个数据库,通过建立表之间字段的联系,从而建立起数据库之间的关系网。布局(Layout)则是面向用户的,用户可以在不同的布局中调用同一数据库中的数据,有针对性地向不同的用户呈现同一数据库中的不同数据。
FileMaker与Oracle、Microsoft SQL Server等关系型数据库管理系统最大的不同在于,FileMaker在实现数据库管理系统对数据、用户、权限等功能的同时,将UI界面、数据逻辑、数据层整合在一起,在简化用户操作的同时,允许用户根据需求,对数据库进行设计,并在整个设计过程中直观地看到数据库的数据信息与UI界面相结合的效果,实现“所见即所得”的效果,这使得FileMaker具有极强的可操作性与可拓展性。
此外,FileMaker具有简单的函数与脚本编写的功能,不仅可以自定义函数,还能够直接调用FileMaker内置的大量的预设函数、脚本等,用户不需要掌握专业的数据库开发语言,不需要复杂的编程知识,就可以构建符合需求的数据库,并实现一些复杂的计算与自动化的功能。
2.2 使用数据库进行镜头管理的意义
一部电影的制作完成,是从前期拍摄到后期制作多个部门相互协作、共同努力的结果。无论是前期拍摄中素材文件的数据管理,还是后期制作过程中部门之间的素材交接,素材文件及其元数据的传递是各部门、各工种之间交流的基础。
在前期拍摄中,大量的数据伴随着拍摄的进行不断产生,各部门按照自己的需求会各自记录,这些数据又会成为后期制作顺利进行的重要保证。但是,拍摄过程中产生大量数据,不仅种类多,而且所需记录的条目也多,除了被记录下来的一部分信息外,还有很大一部分信息由于疏于记录而丢失,而这其中许多信息不仅能够对前期拍摄起到重要作用,也会为后期制作带来极大的便利。
电影工业化的不断发展,使得各部门的分工更加明确,在数据记录方面不仅会有针对性地对数据进行记录,同时也有着各自的记录方式与方法。现阶段,各部门之间相互独立,大部分的数据记录都以表的形式进行,数据的共享、校验确认性都无法得到保证,且同一数据可能会被不同的部门记录多次,造成不必要的数据冗余。此外,由于不同电影的制作流程各不相同,所需数据的种类也千差万别,采用固定的数据记录方式,可能会为数据的记录和使用造成不必要的麻烦。
2.3 为什么要用Filemaker
针对上述种种问题,FileMaker数据库管理系统则可有效应对上述问题。在运行平台方面,FileMaker支持在桌面端、移动端访问同一个FileMaker管理系统,以项目为单位建立的影片数据管理数据库,再按部门建立子数据库,实现了各部门对各自数据的添加、更新、查询、删除等功能。同时,FileMaker作为关系型数据库管理系统,各部门的子数据库在FileMaker中相互关联,实现数据整合,从而构成影片项目的数据网,完成数据的交叉校验,提升数据的准确性并降低冗余度。
图1 FileMaker在电影制作中的关系图
在数据交互方面,除了利用FileMaker数据库管理系统的多平台操作实现数据的集成与内部交互外,FileMaker还支持多种文件格式的输入与输出,进一步拓展了数据的可交互性,并为数据在电影后期制作中的应用以及数据的再处理与再利用提供了可能。
表1 FileMaker兼容格式表
在电影整个制作过程中,素材文件的交接与元数据的传递始终贯穿其中,许多部门通过表格来记录相关数据并进行交接、传递,而“表”则是关系型数据库最基础、最常见的存储方式,也是关系型数据库的结构基础,FileMaker支持多种格式文件的输入与输出,从而实现数据库的快速建立、数据的快速导入以及交互文件的输出。输入方面,FileMaker支持常见的制表符分隔文本(.tab)、逗号分隔文本(.csv)等常见格式文件的直接读取与导入,同时还支持XML、ODBC(Open Database Connect,开放性数据库连接)和JDBC(Java Database Connect,Java数据库连接)等工业标准格式的输入,此外,FileMaker还允许在容器字段中存放二进制文件,如mp3、PDF等文件格式,为电影相关文件的存放和交互提供了可能。在输出方面,FileMaker支持xlsx、PDF等多种格式文件的输出,构成了数据再处理与再利用的基础。FileMaker利用其对多种格式的支持,实现数据的快速导入,成为FileMaker对数据库及其中数据进行处理、管理与共享的基础。
3 基础数据库
3.1 为什么要建立基础数据库
基础数据库,顾名思义就是素材元数据的集合,为整个影片后期制作提供数据基础,是影片中最早产生的数据信息。在电影的制作过程中,每个部门会根据各自工作的特点,从素材文件的头文件中提取元数据,并从中进一步筛取各自所需的元数据信息。然而,尽管电影的数字技术不断发展,摄影机所能记录的元数据的种类不断增加,但数量还是有限的,拍摄过程中仍有很多信息虽然产生,但并没有得到有效的记录和利用。
为保证后期制作的质量,后期前置化成为现阶段电影拍摄的必然趋势。一些部门为更多地获取制作中所需要的数据信息,除了直接从素材文件自身记录的元数据中提取外,也会根据自己的需求在现场安排专人负责记录更多的数据信息。但由于现场各部门之间工作相互独立、缺乏交流等因素的影响,素材文件中所包含的元数据信息往往会被某些部门重复记录,这不仅会带来数据上的冗余,同时也造成了人员及经济上的浪费。
通过前期拍摄阶段的数据交接、录入,各部门的数据得以汇总,而基础数据库将汇总电影在前期拍摄中所记录的所有数据信息,并将录入数据作为素材文件的元数据进行扩充。各部门数据的独立录入、交叉校正,不仅提高了数据的记录效率,更重要的是保证了后期制作所使用的数据的准确性,为整部影片的制作提供最初的数据保障。
3.2 基础数据库的构建
FileMaker具有良好的交互性,用户可以在桌面端与移动端访问同一个数据库管理系统,用户可利用FileMaker基于同一数据库建立不同的用户界面,因此各部门独立的用户界面则成为了各部门的数据库接口,不同部门可分别记录各自所需的数据信息进入同一个数据库实现数据的集成,或可以通过建立数据库之间的关系模型,将不同的数据库关联进而实现数据的集成。
图2 FileMaker场记数据记录界面
图3 FileMaker视效记录界面
利用FileMaker数据库管理系统,可以根据需求为各部门构建独立的数据库,并根据不同项目的不同需求,建立不同的数据记录内容,同时FileMaker可对各部门进行权限管理,保障各部门数据记录的独立性。
基础数据库的数据来源主要分为两种,一种是在拍摄现场,各部门使用各自的用户界面,在权限范围内,向基础数据库中直接添加自己部门所需记录的数据。除了在拍摄现场直接记录的方式外,还能够从某些软件所生成的交接文件中获取,如Silverstack Lab(以下简称为Silverstack)等软件,除了其自身的强大的数据管理功能外,还能够直接读取素材的元数据信息,并以某些文件格式(如csv、pdf等)输出,而这部门由摄影机直接记录在素材文件头中的元数据信息,也成为了基础数据库最重要的数据来源之一。
图4 Silverstack输出的素材报表(.csv)
不同部门的数据可以每天以日报表的形式输出,并由专人进行整理入统一的FileMaker数据库中。针对现场记录的数据,可由各部门输出指定文件格式进行数据交接。针对于由软件生成的交接文件,FileMaker凭借其强大的兼容性,可以通过将交接文件输出为指定格式,直接导入FileMaker中,FileMaker可以自动读取文件的内容,并将数据自动匹配到相应的字段中进行导入。
图5 FileMaker数据导入结果(表视图)
图6 FileMaker素材基础数据库(列表视图)
利用FileMaker构建基础数据库,使得数据集成的过程既独立又统一,各部门不仅能够独立地记录各自所需的数据,同时可以从基础数据库中调用其他部门所记录数据,以保证数据的准确性,并有效减少同一数据被多个部门记录的情况,达到减少数据冗余的效果。
各部门在后期交接过程中,元数据的交接是后期交接的重要内容之一,保持元数据的完整性、准确性是元数据交接的基本要求,基础数据库则成为了素材文件元数据的数据集合。在后期制作中,其他数据库也可利用与基础数据库建立关系模型,从基础数据库中获取相关的数据信息,为后期制作提供数据参考。
4 时间线管理数据库
4.1 进行时间线管理的意义
剪辑,是导演与剪辑师对素材、剧情的二次创作,而伴随着剪辑的开始产生了时间线的概念,素材在元数据的基础上,进一步增加了时间线的相关信息,如起止时码、技巧转场、变速等。随着剪辑的不断进行、不断修改,时间线的版本数量也逐渐增加,每一版本又包含多条时间线,每一条时间线又包含多条轨道。时间线是电影后期制作的基本依据,因此对时间线的有效管理、版本控制则成为至关重要的环节之一。
剪辑工作完成后,时间线的相关数据信息将由特定格式的文件(如EDL、XML、AAF)传递给后续的DI、视效、声音等制作部门。时间线是后期制作的依据,但由于不同格式时间线交接文件所能够记录的数据信息各不相同,在进入不同的软件时,各软件对这些信息的读取与重现也并不相同;此外,时间线的交接文件中所包含的主要是素材文件在时间线上的相关数据,但并不完全,如果不进行回批,所能了解的信息则仅限于此,无法全面了解所使用素材文件的信息及画面内容。
同时针对不同的部门,剪辑师也需要依据不同部门的工作要求与工作特性,有针对性地输出交接文件,而时间线上有限的数据并不足以完成更为复杂的交接、数据校验、版本控制等工作。
因此,依靠FileMaker进行时间线的数据管理,并基于整个影片项目的数据库管理系统,建立时间线数据库与基础数据库的关系模型,从而实现时间线数据的管理,利用FileMaker关系型数据库管理系统的特点,为电影制作中的元数据存储、查看、校验、计算等提供数据保障。
4.2 时间线数据传递的实现
为了实现时间线数据信息的传递,可采用的交接文件格式有许多,如EDL、XML、FCPXML、AAF等,他们各自有着不同的语法规定与编码方式。EDL文件以其易读取、易修改等特点,成为了进行剪辑时间线交接时所采用的最优载体,因此在使用FileMaker对时间线进行管理时,对EDL文件中数据的导入、处理、存储便是时间线管理的首要任务。
EDL文件采用.edl格式进行存储,对edl格式进一步分析,EDL文件是一个ASCII编码的文本文档,使用常见的文本工具即可获取其中的信息,而EDL文件中将带有技巧转场、变速等信息的相关数据,直接将EDL文件导入FileMaker将无法向指定字段(Field)导入数据,从而影响数据的准确性与后续的使用,因此可对EDL文件进行再处理后导入FileMaker,构建时间线数据库。
图7 再处理前后的EDL
4.3 基于FileMaker的时间线管理的实现
EDL文件中包括文件名、时码、变速等信息,这些信息则成为构建数据库关系模型的重要信息。FileMaker是一个关系型数据库管理系统,在数据库管理过程中,要始终保证表与表之间所关联数据的一致性,在无法实现关联数据完全一致时,可选择采取中间变量的方式实现关系模型的构建。
图8 Avid Media Composer List Tools中EDL输出界面
图9 Adobe Premiere Pro CC的EDL输出界面
基于关系型数据库管理系统的特点,从剪辑软件导出EDL文件时,便需要注意导出文件格式的选择,这将影响导出时EDL所包含的数据的呈现结果,进而影响数据库在管理中的关系的构建。以ARRI Alexa Mini为例,Alexa Mini摄影机记录的文件名是由20个字符组成,如A037C001_181007_R1lW,分别代表了卷号_拍摄日期_摄影机编码,在使用CMX_3600进行编码的EDL文件,对信息的描述只能占用8位字符(图8)。为保证信息的完整性,在输出EDL文件时必须采用大于20位的格式进行输出,Avid Media Composer支持多种输出编码,可支持16位、32位、129位的输出,而Adobe Premiere Pro CC则可以选择使用32字符名称进行输出。
图10 FileMaker字段关联示意图
在FileMaker中导入EDL文件后,完成时间线管理数据库的建立。利用时间线数据库与基础数据库的字段,建立字段之间的联系,进而实现数据库之间的关系构建,完成不同数据库之间的数据信息的共享。
4.4 基于FileMaker的时间线管理的意义
基于FileMaker关系型数据库的特点,利用数据库之间的关系模型,不同数据库中的相关数据建立关联,实现数据的相互调用。利用基础数据库与时间线数据库的关联关系,时间线数据库可以在其自身数据的基础上,能够调用与之相关联的素材自身所携带的丰富的元数据信息,并利用这些信息结合FileMaker的计算与脚本等命令,获得原本数据库中并不存在的数据信息,实现“1+1>2”的效果。
图11 时间线管理数据库(列表视图)
此外,利用与基础数据库之间的关联,时间线数据库可以在时间线的基础上,从基础数据库中获得素材存放的路径信息并导出,为其他程序利用该信息进行素材挑选奠定了基础,更进一步体现出了数据库关联后,为用户再处理与再利用数据提供了帮助。
时间线数据库与基础数据库的关联与应用,只是数据库管理系统对电影镜头管理的一小部分,同时也为前期拍摄中多部门的数据协作、后期制作中特效时间线管理、特效素材交接提供方案基础。
5总结
本文介绍了数据库管理系统对电影镜头及其数据信息管理的帮助与意义,同时介绍了FileMaker数据库管理系统在电影制作中的优势与帮助,并通过基础数据库与时间线数据库的实现,展示了如何利用数据库管理系统进行电影镜头管理,及其对数据进行再处理与再利用对后期制作提供的帮助。
规范化、专业化、高效化始终是电影工业化的目标方向,基于文中所述的方式,将有效地提升工作的效率,并减少因数据交接所带来的数据缺失或数据重复。该方法已在《妈祖回家》《宽男窄女》等电影的制作流程中付诸实践。未来,我们将在现有的数据库的基础上不断更新、修改,以实现更加有效、更加规范的FileMaker数据库管理。
注释
① 本文中所提及镜头如无特殊说明均为Shot。