1. Technical Field
The present invention relates generally to generation of context based video files based on predefined templates. More particularly, the present invention relates to on the fly generation of context based video.
2. Discussion of Related Art
In the known in the art video streaming, the video is generated in advance and only streamed in real time. When customized videos are generated for large number of users or clients and video generation is based on personal data of the users, it is required first to generate and record separate video for each user, before it can be streamed to the client.
The present invention provides system and method for real time generation of customized video while the video is streamed
The present invention provides a method for real-time generation and streaming of context based video according to video template and raw context related data. The method comprising the steps of: receiving context based video request that is containing a template identifier and required template input, receiving input data related to the identified template and context related data; choosing and generating audible and visual materials, according to the predefined logic of the identified template, generating and encoding video frames for pre-defined portion based generated visual materials, generating audio streams of the video based on generated audible materials, accumulating a predefined number of generated frames to fill a predefined duration of predefined portion according to per-decided frame-rate per second and providing streamable or playable data of the predefined video portion at the external entity side, while the subsequent portion of video is still in generation.
According to some embodiments of the present invention the context based video is customized video based on context input data.
According to some embodiments of the present invention the received input data is validated and translated into a valid canonical entity for generating material for the context based video.
According to some embodiments of the present invention the audio stream generation includes: refining and concatenating audio streams in proper gaps and order according to rules defined during the Visual and Audible materials preparation
According to some embodiments of the present invention the audio stream generation further includes: processing and mixing together audio streams to create a single audio stream to be used as the final audio stream for the video.
According to some embodiments of the present invention the expected movie length is deduced based audio stream length.
According to some embodiments of the present invention the providing playable video data includes creating at least two HLS segments and generating an HLS manifest file.
The present invention provides a system for real-time generation and streaming of context based video according to video template and context input data . The system comprised of: interception module for receiving context based video request that is containing a template identifier and required template input, receiving input data related to the identified template and to specific context based on context input data, visual and audio material preparation module choosing and generating audible and visual materials, according to the predefined logic of the identified template, video generating management module for generating and encoding video frames for pre-defined portion based generated visual materials, audio generation module for generating audio streams of the video based on generated audible materials and video encoding module for accumulating a predefined number of generated frames to fill a predefined duration of predefined portion according to per-decided frame-rate per second and video distribution module for providing streamable or playable data of the predefined video portion at the client side, while the subsequent portion of video is still in generation process.
According to some embodiments of the present invention the context based video is customized video based on context input data.
According to some embodiments of the present invention the received input data is translated into a valid canonical entity for generating material for the context based video.
According to some embodiments of the present invention the audio stream generation module further enable refining and concatenating audio in proper gaps and ordering according to rules defined during the Visual and Audible materials preparation module
According to some embodiments of the present invention the audio stream generation module further enable and processing and mixing together audio streams to create a single audio stream to be used as the final audio stream for the video.
According to some embodiments of the present invention real-time generation and streaming of customized or personalized video based on video template and raw personal data. The method comprising the steps of: estimating video characteristics base on video template and raw data before the video generation, said estimating includes at least the video length and preparing at least a portion of the video, according to pre-defined length of at least the minimum required amount to convey a live stream to the remote entity while the subsequent portions of the video are being generated.
These, additional, and/or other aspects and/or advantages of the present invention are: set forth in the detailed description which follows; possibly inferable from the detailed description; and/or learnable by practice of the present invention.
The present invention will be more readily understood from the detailed description of embodiments thereof made in conjunction with the accompanying drawings of which:
Before explaining at least one embodiment of the invention in detail, it is to be understood that the invention is not limited in its application to the details of construction and the arrangement of the components set forth in the following description or illustrated in the drawings. The invention is applicable to other embodiments or of being practiced or carried out in various ways. Also, it is to be understood that the phraseology and terminology employed herein is for the purpose of description and should not be regarded as limiting.
The Audio generation module 500 creates the final audio stream for the video. Once the final audio stream is ready, the Video Encoding module 700 starts the video encoding sequence using the final audio stream and the video frames received from the Video GPU Rendering Module 600. The Video Encoding Module 700 starts generating an HLS video stream consisting HLS Segments.
Once a predefined amount of HLS Segments are generated which represents at least a portion of the generated video, the Video Encoding Module 600 generates the HLS manifest file consisting of entries pointing to the generated HLS segments. The Video Distribution Module 600 identifies the creation of the HLS manifest file, and distributes it back to the requesting entity through the On the Fly Interception module 200.
The above video generation flow enables an external entity to stream the portion of the video already created while the reminder of the video is still being encoded. Accordingly the client can start watching the video while the video generation is still in process.
Upon successful finish of the Visual and Audible material preparation module the control is returned to video generation management module, for performing the following task: launching the Video Encoding module (step 350), launching the Audio generation module, based on the prepared audio materials (step 360), Processes video materials prepared earlier for the Video rendering module (step 370) and launching the Video Rendering module (step 380).
In the above description, an embodiment is an example or implementation of the invention. The various appearances of “one embodiment”, “an embodiment” or “some embodiments” do not necessarily all refer to the same embodiments.
Although various features of the invention may be described in the context of a single embodiment, the features may also be provided separately or in any suitable combination. Conversely, although the invention may be described herein in the context of separate embodiments for clarity, the invention may also be implemented in a single embodiment.
Furthermore, it is to be understood that the invention can be carried out or practiced in various ways and that the invention can be implemented in embodiments other than the ones outlined in the description above.
The invention is not limited to those diagrams or to the corresponding descriptions. For example, flow need not move through each illustrated box or state, or in exactly the same order as illustrated and described.
Meanings of technical and scientific terms used herein are to be commonly understood as by one of ordinary skill in the art to which the invention belongs, unless otherwise defined.