LetsVi: A Collaborative Video Editing Tool Based on Cloud Storage Hyeong-Bae An Department of Electrical/Electronic and Computer Engineering, University of Ulsan, Nam-gu, Ulsan, South Korea. E-mail: ahb910306@gmail.com Jongmoon Park. Department of Electrical/Electronic and Computer Engineering, University of Ulsan, Nam-gu, Ulsan, South Korea. E-mail: monster28g@gmail.com Myung-Joon Lee* Department of Electrical/Electronic and Computer Engineering, University of Ulsan, Nam-gu, Ulsan, South Korea. *Corresponding Author E-mail: mjlee@ulsan.ac.kr Abstract Video editing is considered as a process of manipulating video and audio data with video editing software. With advances in video editing/device technologies, many useful tools are presented to support effective video editing even for novice users. In this paper, we introduce a new video editing tool named LetsVi which provides systematic collaboration features through the associated group workspaces utilized by the C3ware collaborative middleware. LetsVi supports workspaces over cloud storage with user groups defined by the XMPP messaging service. The video editing functions of LetsVi is presented by extending the Pitivi open source video editing tool with useful collaborative functions. Keywords: Video editing, Collaborative video editing, C3ware, XMPP, LetsVi. Introduction Today, people can easily create video clips through smart devices without any professional recording equipment, posting and sharing those clips in popular social networks. Also, many specialized applications which provide useful facilities for manipulating digitized video help even novice users to easily handle video data for their simple purposes such as adding visual effects, assembling and merging a set of video clips. However, since video editing requires various aspects in handling video frames and audio data, video editors often face many difficulties in doing their jobs such as timing constraints, using sophisticated functionality and lack of versatile idea. As of now, there are some tools supporting simple collaboration features in video editing process. But, to our knowledge, all of them provide no systematic collaboration functionality for video editing tasks [1, 2, 3]. In this paper, we present a novel collaborative video editor named LetsVi, which is composed of two core components: management tool and editing tool. This paper is the extension of our previous work [4]. Through the management tool, the group manager for the video editing task creates and maintains the associated project, partitioning the task and assigning each partitioned subtask to one of the group members along with appropriate role. Splitting and combining video clips as well as monitoring the progress and status of each partitioned subtask are provided by this tool. All of the collaborative resources such as associated video clips and assigned information are stored and maintained in the related workspace over cloud storage through C3ware [5]. As for the editing tool, we extend Pitivi [6] with useful collaborative facilities. This tool is used to periodically update each user s task with related task information to the management tool and monitor the progresses of other. In addition, a user can get the versatile comments on his/her work from other members as well as can write comments on other member s work through the monitoring function. Based on XMPP messaging service [7], LetsVi provides real-time communication capability among project members. The rest of this paper is organized as follows. We summarize some popular video editing tools and C3ware in the following section. After that, we present the system architecture, features and implementation of LetsVi. In the next section we compare LetsVi with other video editing tools. Finally, we conclude the paper with the future work. Background In this section, we describe some well-known video editing tools, and briefly introduces the system architecture of C3ware which supports collaborative workspace. Video Editing Tools There are popular video editing tools such as Pitivi, Vegas [8], WeVideo [9] and Novacut [10] and these tools provides basic video editing services. Also, some tools supports collaborative functions, but it is very restricted. Pitivi Pitivi is an open source video editing tool for Linux, which is written in Python. It inherits its capabilities for importing and exporting media from the GStreamer [11] framework and plugins for GStreamer. Basically, Pitivi supports simple media editing capabilities such as trimming, snapping, splitting and cutting of clips. 1212
Vegas Vegas is a video editing software package for non-linear editing systems published by Sony Creative Software. Originally, it is audio editing software but it includes video editing features after version 2.0. Since version 13, users can collaborate through ipads application named VegasProConnect, sharing opinions and feedbacks among editors and reviewers in real-time. WeVideo WeVideo is a collaborative video editing platform for the Web and mobile users since 2011. The tool supports video editing form such as timeline, storyboard, providing a convenient work environment through simple GUI. As a collaborative feature, users can invite other users to their project so that they can create new editing projects using the same video files. Novacut Novacut is a collaborative video editor for HDSLR(High Definition Single-Lens Reflex) cameras through the Web and the associated Linux application. Users split a video file into frames and relocate them. As a collaborative feature, Novacut enables users to share their editing screens to other users in real time. C3ware C3ware is a collaborative middleware to interwork with various cloud storage for workspaces. C3ware provides various collaborative services necessary for performing group works through the SOAP, supporting versatile types of workspaces. Figure 1 shows the system architecture of C3ware. Figure 2: System structure of LetsVi User Interface & Feature Management Tool The management tool is used to create and maintain the collaborative video editing projects. A project manager works through the main user interface of the tool composed of 4 tabs: Project, Task Assignment, Monitoring and Merge as shown in Figure 3. (1) Project Tab: For the project manager, Project Tab as a one of the management tool is used to create, modify and remove video editing projects. The manager administrates the project name, state and members of the created projects in the tab. The Project Tab provides intuitive interfaces for simple use. Figure 3 shows the GUI of the Project Tab. Figure 1: System architecture of C3ware LetsVi This section explains the system structure and functionality of LetsVi along with its user interface and implementation issues. System Structure To support useful collaborative video editing environments, LetsVi has two key components; management tool and editing tool. In addition to this, LetsVi supports user/group management and communication by utilizing the Openfire XMPP server, which is extended for authentication through the LDAP [12] server. For an effective sharing of user/group information, LetsVi uses group workspaces over cloud storage provided by C3ware. Figure 2 shows the system structure of LetsVi. Figure 3: GUI of the Project Tab (2) Task Assignment Tab: For a systematic collaboration, LetsVi presents task assignment function which is splitting the source video files to assign appropriate tasks on the split video clips to specific project members. The function is provided by the Task Assignment Tab as shown in Figure 4. After partitioning original videos from his/her local storage, the manager can assign each of those clips to a specific project member. In case of editing different video files, the manager can assign each of those files to a specific project member. Lastly, the manager uploads the task assignment information and associated clips to the collaborative workspace. 1213
Figure 4: GUI of the Task Assignment Tab (3) Monitoring Tab: The monitoring function helps participants to live up to their assigned roles and responsibilities for project success. LetsVi also supports the Monitoring Tab for observing the state of the selected project and the work progress of all project members. As shown in Figure 6, the list of on-going subtasks of the project, the detail information of the editing project and the associated event log are provided to the manager. The event log is updated whenever the project members perform their editing work. Through the event log on each subtask, the manager can check the progress of the subtask and monitor the current state of the project, referring the comments on tasks from other members. Each video clip can be played by a video player component using the Gstreamer library. The function of splitting video files is provided by two ways, using the Split API in FFmpeg for implementation: 1) uniform partition splitting the video file into files of the same size with the fixed time duration, 2) custom partition splitting the video file into files of different sizes according to the time durations specified by the manager. The information on the task assignment is displayed as a list consisting of file name, member name, editing role and description field. This information is exported to xml file as shown in Figure 5. Figure 6: GUI of the Monitoring Tab (4) Merge Tab: As a final process of the project management, the manager combines the edited video clips from all subtasks in the Merge Tab. As shown in Figure 7, using the download button on top of the tab, video clips can be downloaded from the collaborative workspace and displayed on the list. Through the right side of the tab, the manager can play and check the video clips playback using the embedded player. Also, the manager can reorder the sequence of clips. After the manager combines video clips by clicking the Merge button, the merged file is uploaded to the collaborative workspace to share. Figure 5: The information on the task assignment Completing the assignment job, the manager uploads the split video clips and the xml file including the information on the task assignment to the group workspace over cloud storage provided by C3ware. When uploading is complete, the management tool sends a message to the project members through XMPP messaging. Figure 7: GUI of the Merge Tab 1214
Editing Tool To support a powerful and flexible video editing, we extend a popular open source video editing tool, Pitivi. Based on the rich functions of Pitivi, the editing tool provides additional collaborative features in relation to the management tool. Figure 8 shows the main window of the editing tool. Figure 9: Collaboration process in LetsVi Implementation Issues The functionalities of LetsVi are provided by the management tool and the editing tool with the help of XMPP server, C3ware server and LDAP server. In this section, we describe some implementation issues on LetsVi. Figure 8: Main window of the editing tool In addition, we utilize the XMPP messaging client for effective communication among the group members. Using the tool, members can share their own task progresses easily in the project workspace. Also, as in the management tool, the editing tool provides users with the monitoring function for other tasks in the same project. The following scenarios describe typical uses of the tool. 1 The user starts the LetsVi XMPP client, which provides the function of executing the editing tool. In the tool, the user can select one of the assigned tasks through dialogue. 2 Clicking the import button, the user can download the video file related to the selected task from the collaborative workspace of the project, performing his/her editing job through the functions of Pitivi. 3 Through the monitoring button, the user can observe the state of the on-going project and the work progress of other project members. 4 When the update button is pressed, the video file in editing is uploaded into the collaborative workspace as well as saved into his/her local storage. 5 Clicking the complete button, the status of the task is transited into Done after uploading the final version of the video file. (1) Interaction among LetsVi Components: Collaboration in LetsVi is performed based on XMPP user/group information. This information is synchronized with the associated LDAP server, which is used for authentication to the C3ware server. Figure 9 presents process to synchronize group information and sharing collaborative resources in LetsVi. 1 2 3 4 5 6 The information of user/group in the XMPP server is transmitted to the LDAP server, and the LDAP server stores it in a hierarchical way. After creating a project and finishing task assignment, the project manager requests to C3ware for uploading collaborative resources to the related group workspace. C3ware authenticates the requester via the LDAP server. The LDAP server checks the requested user utilizing the registered group information, and then returns the result. After authentication, C3ware provides authority to access workspace to the certified user. Likewise steps 2-5, the project members can upload/download collaborative resources to the related workspace through C3ware. (2) Sharing Collaborative Resources: The collaborative features of LetsVi is centered on the related workspaces. As shown in Figure 10, a collaborative workspace is structured in a hierarchical fashion, storing the video clips and the subtask information in the associated task folder according to the task assignment for the project. 1215
Source import suds.client as sudscl client = sudscl.client(url) result = client.service.uploadresource(wid, uid, pkey, pid, fname, len, token) if responsecheck(result) == 0: transmitfile(filepath, getport(result)) Figure 10: Hierarchical structure in workspace The structure of the workspace helps a user update his/her video clip or task information into the right place in the workspace through the update button. Also, it makes other members to share this information simultaneously, leading to the monitoring function of LetsVi. (3) Extension of Pitivi : Pitivi is an open source software written in Python3 which provides GUI using Gtk+3. For the implementation of the editing tool of LetsVi, we extend Pitivi version (0.93) in Ubuntu (13.10) Linux OS. To provide the collaborative features in the editing tool, the source files mainwindow.py and medialibrary.py implementing the core user interface of Pitivi are modified. Also, to access collaborative workspaces through C3ware and to communicate among project members through XMPP server, the associated communication module is added into Pitivi. For requesting the web services to C3ware from the editing tool, we use the SUDS [13] SOAP client library for Python environment. Table 1 shows the partial source code for uploading a video file to the workspace. Variables Table 1: Source code for uploading in editing tool url : web service URL token : user access token wid : workspace id pkey : parent key pid : parent folder id fname : upload file name len : file length Methods uploadresource : upload file method of C3ware. Result form is xml document. If response code is 0, user can transmit file through designated port trasnmitfile : transmit local file to workspace using socket Comparisons In this section, we compare LetsVi with other popular video editing tools: Pitivi, Vegas, WeVideo and Novacut. There are two approaches to represent the layout of video clips for editing : storyboard and timeline. A timeline displays the clips and the associated edit effects over time, usually supporting multiple tracks for editing. A storyboard presents clips as equal-size pictures, which user can drag around to place in the desired order. Among the above tools, only WeVideo supports both layouts. All of the tools except Novacut provides functions for adding video/sound effects, whereas only Novacut provides the reordering of video clips according to the positions of video frames. As for collaborative features, a user can invite other users to his/her project in WeVideo, while Novacut users can share their editing screens simultaneously through the WEB or the deployed application. Through the deployed ipads application, Vegas enables reviewers and editors to comment on projects simultaneously. In addition, reviewers can download project proxies onto their ipads, reviewing them anywhere and anytime. In contrast to the other tools, LetsVi singularly supports a collaborative workspace over cloud storage for a group of users for video editing. Through the workspace, the manager for a video editing project can assign subtasks to the group members while the members can obtain the video clips and the associated information from the workspace. Also, the group members can monitor the progress and status of each subtask through the information on the workspace. The management of group information among the various components in LetsVi is automatically performed utilizing the group information of the associated XMPP messaging facility. Table 2 shows the summary of comparison among LetsVi and the other tools. Table 2: Tool comparison Pitivi Vegas WeVideo Novacut LetsVi Platform Linux Window & ios Timeline or Timeline Timeline Both Storyboard Web & Linux Mobile Linux Storyboard Timeline Edit Frame - - - - Video/Audio Effect Collaborative workspace Messaging Comment - - - - & - - - 1216
Task Assignment Task Monitoring - - - - - - - - Group - - - - Management (- : unsupported, : supported) Result and Future Work For a decade, the concept of collaboration has become an important keyword in lots of groupware, office software, social network services and much application software. Unfortunately, there has been not much effort in the area of video editing works. In this paper, we introduced a new collaboration tool named LetsVi which meets the requirement from the concept of collaboration. As a collaboration tool for video editing, LetsVi can increase productivity and quality for professional and fun purposes. Its management tool enables the manager of a complex video editing task to create and maintain the associated project in a systematic way. Using the tool, the manager can easily partition the editing task, assigning the subtasks to the group members. The functionality for monitoring the progress and status of each subtask is also supported by both the management tool and the editing tool. In virtue of utilizing C3ware, all of the resources for video data and housekeeping information are stored and maintained in the workspaces specific to the related groups over cloud storage. Moreover, through the integration of XMPP messaging client for LetsVi and the extension of Pitivi, the editing tool provides rich collaboration features in association with collaborative workspaces and real-time messaging as well as the editing features from Pitivi. We believe that LetsVi would be very helpful for many people to rapidly modify the existing video resources as a team, and to produce valuable and interesting results in an efficient way. As of now, we are planning to develop a webbased tool with the functionality of LetsVi. Interaction (TEI 07). ACM, New York, pp. 43 46, 2007. [4] An H.-B., Park J.-M., Lee M.-J., Supporting Collaborative Video Editing Over Cloud Storage, In Proceedings of the 5th International Interdisciplinary Workshop Series, Jeju, 2014. [5] Lee, H.-C., Park, J.-E., Lee, M.-J, C3ware: A Middleware Supporting Collaborative Services over Cloud Storage. The Computer Journal, pp. 217-224. 2013. [6] Pitivi, www.pitivi.org [7] XMPP, http://xmpp.org/ [8] Vegas, www.sonycreativesoftware.com/vegaspro, Sony Creative Software, 2007 [9] WeVideo, www.wevideo.com [10] Novacut, http://www.novacut.com/ [11] GStreamer Team.GStreamer: open source multimedia framework. http://www.gstreamer.net. [12] LDAP, HOWES, T., SMITH, M., AND GOOD, G. Understanding and Deploying LDAP Directory Services. Macmillan Publishing Co., Inc., Indianapolis, IN, 1999. [13] SUDS, https://fedorahosted.org/suds/ Acknowledgement This work was supported by the 2015 Research Fund of University of Ulsan. References [1] Schroeter, R., Hunter, J. and Kosovic, D., Vannotea, A collaborative video indexing, annotation and discussion system for broadband networks, In Proceedings of the K-CAP 2003 Workshop on Knowledge Markup and Semantic Annotation, pp. 1-8, 2003. [2] Engström, A., Esbjörnsson, M. and Juhlin, O., Mobile Collaborative Live Video Mixing. In ProcMobileHCI 2008. ACM Press, pp. 157-166, 2008. [3] Zigelbaum, J., Horn, M. S., Shaer, O., and Jacob, R. J. K., The tangible video editor: collaborative video editing with active tokens. In Proceedings of the 1st International Conference on Tangible and Embedded 1217