Design and Implementation of the Omni Media Content Production and Service Platform

. In the context of media convergence and screen integration, Omni media has become the trend of development in the field of information services, the demand of the high-quality omni media content is more and more intensive. In this paper, an omni media content production and service system is designed that can produce and manage omni media content quickly and efficiently, crop and merge and catalogue media materials conveniently. The platform accomplish those functions of cropping and merging and transcoding source materials by calling Ffmpeg


Introduction
As the general trend of information communication and service, omni media draws the attention of the public.In the period of integration of new media and traditional media, all kinds of communication institutions aim at enhancing their influence by implementing the omni media strategy [1].Nowadays, the demand for Internet tends to fragmentation, which is the inevitable product of the development of new media.For new media, the process of program production, as a matter of fact, is the secondary processing on traditional media.Efficient and convenient operation mode is essential to current media market.A system that be able to operate media material database efficiently is extremely urgent and significant.
At present, the content production and service platform that traditional broadcast and TV system used bases on Client/Server, which connect client with server directly [2].However, because of weak compatibility, the program bases on C/S development pattern require to override it entirely whenever operation environment changes, high cost and inefficiency are its disadvantages.Browser/Server overcomes those defects of C/S, and expands the business only by adding pages and server functions.In this paper, A system is designed base on B/S with Spring which helps build simple, portable, fast and flexible JVM-based systems and applications, and it integrates all functions about media content production and service into the system perfectly, and implement system functionality by calling FFmpeg, a complete, cross-platform solution to record, convert and stream audio and video.Besides, there is a real-time monitor system is designed to transcode product in materials library timely, in order to meet the multiple requirements in a variety of media terminals.

Design of the Omni Media Content Production and Service Platform
The omni media content production and service platform include four subsystems, which are content management system, cropping and merging system, video transcoding system and cataloging system, the workflow of the platform as follows.Content management system includes programs from program sources, store and operate them in material library.Cropping and merging system could crop and merge the videos in library as required and store in finished-parts storage, at the same time, transcoding system convert the data being stored just now to ready-for-use formats.To cataloging system, edit the finished product's details, it is the end of the flow, as shown in Figure 1.

Configuration of Other Integrated Frameworks
Because of good compatibility of Spring with other frameworks, function conformity design by integrating different frameworks.In Persistence Layer, Spring Data JPA combines with Hibernate to form framework, then configure manager, entity Manager Factory defined and transaction Manger configure transaction manager.
To cache, omni media content production and service platform adopt Ehcache, an open source cache framework.Some parameters are supposed to configure, including max ElementsInMemory,eternal,timeToldleSeconds,timeToLive Seconds,diskSpoolBufferSizeMB,maxElementsOnDisk,me moryStoreEvictionPolicy diskExpiryThreadIntervalSeconds and so on.
Finally, call FreeMarker to deal with outputting text according to a template.Add freemarker.jar to the project, integrate them together, and the mainly progress is configurating file path of profile and defining load path of template and some common global variables.In order to present views by Freemarker, view resolver still need to be configured, and the resolver can resolve the views of .htmland .jsp.

Configuration of Other Integrated Frameworks
The framework of omni media content production and service platform includes some common functions, such as user management, role management, and module management.The structure of common functions of system is shown as Figure 2.
In users management system, administrator can add new users, and set the value of the username and password and other details.Then the added user can login in omni media content production and service platform to do himself work according to its permission.Besides, administrator also can edit and delete users.
In roles management system, administrator can authorize different roles to different users, it mainly contains three kinds of roles: super administrator, administrator and normal user.Super administrator has highest permission, he can execute any operation in this system.There is only one super administrator, which has permission to manage and authorize administrators and normal users.The permission of administrator is lower than super administrator's, they can manage and authorize normal users in their permission scope.Generally, one administrator is responsible for a part of management, and several administrators accomplish daily system management together.Normal users are mainly users of this platform, they can operate the system to meet their demand after being audited and authorized by administrator.Because of the limit permission of normal user, they just have access to one module of the platform.By implement above three common modules, the basic framework of the platform is erected.In order to simplified development in subsequent development, general system functions are compiled and generate a .jarfile.In later development, this .jarfile will be imported into project, thus can implement common module's function quickly.

Implement of the Omni Media Content Production and Service Platform
The platform implement functions in each module with compiling package of Java, mainly includes the following sections, Controller, Service, Po, Vo and Dao.Controller serves to process the user's request, and submit to Service implementation class for further processing.Service mainly defines methods that are called by delivering the requested of Controller, it's internal methods implement by implementation class in Service.impl, and Service.impl is concrete implementations of methods defined by Service interface layer.Po corresponds with table's fields by new JPA entity in the table.Vo's attribute values are in correspondence with Po's, and can extend extra attributes and methods as well to meet user's requirements in interactive perfectly.Dao can add, delete, check and change database by defining it's interface level [3].

Content Management System
Content management system is mainly to include materials, users can choose the channel from acceptable source list, set start time and end time, edit the material and save in the library.In this part Ajax be used to avoid names overlapping as named new material.Ajax, short for asynchronous JavaScript and Xml, is a web development technology which colligated a few of techniques to create interactive pages.Ajax only transmit indispensable date to server, users can compile the rest of date while waiting for a response, and browser partial refresh returned data dynamically, thus could improve program efficiency.The function of $.ajasx() in JQuery be called to implement Ajax.For program recording part, it achieved through Java call ffmpegforWindows.Runtime.getRuntime().exec(command Text) in Java be able to call CDM, so commands of CMD are supposed to compile to execute video recording function in FFmpeg.The flow of this part is shown as Figure 3.

Cropping and Merging System
Cropping and merging system is mainly to process programmes further which have been included in library but often have some undesired fragments, such as advertisements.So in this part, the programme be cropped, the undesired parts be deleted, the valuable parts be saved and recoded as new material.In this paper, a cropping and merging software based on FFmpeg and SDL be used to implement the function.SDL library, used by video playback, short for Simple Direct Media Play, is an open source, cross-platform multimedia development library [4].
In order to clip video, point of cut and merge should be determined.The video decoded by FFmpeg is a serial of images constituted by frames, so the point must be a certain point of key frame.However, get the key frame only by human beings may not be accurate enough, video play in frame-by-frame be used in cropping system to get the start and end point.In interface of video player, a list of image is added to show the current frame, former two frames and later two frames, users can click the button of forward or backward to preview for videos, and pick up the key frame.
At present, radio and television systems use MPED-2 and H.246 as standard, videos in both of these standard are made up of three kind of frames, I-frame, P-frame and Bframe.I-frame is the key frame of video, P-frame is difference frame between current frame and previous ones.B-frame is bidirectionally and predictively coded frame, it is the result that contrast with previous I-frame and behind I-frame.I-frame, P-frame and B-frame formed a group of images in order, and a number of images formed a video.The type of frame is not sure about start and end point, clip directly may lead to data loss.To prevent that situation, the videos are supposed to recode before clipping, but it takes some time.
Accordingly, in this paper, a precise and efficient way be designed that just recode beginning and end section of the video, and reuse the middle part.Finally, merge necessary fragments into an integral video and save in finished-parts storage.

Video Transcoding System
Video transcoding system is mainly to convert the programme in finished-parts storage to MP4, Transport Stream and WebM, which are applicable to different devices.In this part, a monitoring system is designed to listen for finished-parts storage.When the new programmer is added to storage, the monitoring system generates command automatically to convert.There are several methods of listening for filesystem, thread polling and hook.When monitor a large number of files, thread polling takes a good deal of time with low efficiency.However hook take the way of event-driven, scan with no directory and is high efficiency.In this paper, monitoring files adopted the way of hook and call a open source library named JNotify, which support monitoring files and folders dynamically.
The key part of JNotify is disposing of different type monitoring events, the class of JNotifyListener be supposed to programmed, and create fileCreated, fileRenamed and fileDeleted to implements the interface.The flow of video transcoding system is shown as Figure 4.

Cataloging System
Cataloging system is mainly to edit video materials including information of title proper, series title, expiration time, production pipeline, column name, number of periods, number of years and editor.In order to ensure the content of video materials and catalog expediently, VLC player is used in previewing them to obtain information.Catalogued information template can be applied to improve efficiency in this system.

Conclusion
This paper analyses traditional media content production and service platform at present, establishes the development framework of omni media content production and service platform with Spring, and develops a integral omni media content production and service system base on the framework, which can step up omni media content production obviously.JQuery and JQuery EasyUI be used in the platform to implement user interface and event responsive logic well, application of Ajax to transmit date and save works dynamically.This work mainly focuses on the key technologies in omni media content production and service platform, and implement a series of functions the above mentioned.
In addition, cropping and merging system demands to further integration with the other systems, the current way of calling client still has its limits.These will be improved in the following study to make the platform more efficient and convenient.

Figure 1 .
Figure 1.Flow of Omni Media Content Production and Service Platform.

Figure 2 .
Figure 2. The Structure of Common Functions of System Function modules management system is mainly targeted at subsequent each function module development of omni media content production and service platform.Before adding a new function module, developer are supposed to register this module's basic information in function modules management system including module name, relative path, display mode, and whether add to the menubar.By implement above three common modules, the basic framework of the platform is erected.In order to simplified development in subsequent development, general system functions are compiled and generate a .jarfile.In later development, this .jarfile will be imported into project, thus can implement common module's function quickly.

Figure 3 .
Figure 3. Flow of Content Management System

Figure 4 .
Figure 4. Flow of video Transcoding SystemThe function of video transcoding in this part still implement by calling FFmpeg.When find new video material in finished-parts storage, the monitor system trigger the function named fileCreated(int, wd, String rootPath, String name).As a result, a function is defined to generate transcoding command automatically and call the transcoding method named convert(String rootPath, String name, String type) in FFmpeg, and called after triggering fileCreated().The parameter type of convert() is package format after transcoding and depend on requirements[5].At present, there are three formats in this system, Transport Stream for Set-Top Box, MP4 for mobile and WebM for most of browsers.

3 Implement Frame work of the Omni Media Content Production and Service Platform 3.1 Spring MVC
In the technology architecture, an application development framework of Java EE Web be built through study in open source framework, such as Spring, Hibernate, FreeMarker, Ehcache, which includes Presentation Layer, Control Layer, Business Logic Layer and Persistence Layer .Presentation Layer and Control Layer implement by Spring MVC, combine with Spring Data IPA to manipulate Business Logic Layer and Persistence Layer.For business logic layer, Spring Data JPA is adopted to deal with business logic automatically.

The front controller of Spring MVC is DispatcherServlet and Application Controller can be split into Handler Mapping and View Resolver, Handler Mapping is mainly to manage processors and View Resolver is to views
. Page Controller and Action Handler implement by Controller API.Spring MVC support for theme resolution and file upload, and provide flexible data validation, formatting and data binding.