US9271015B2 - Systems and methods for loading more than one video content at a time - Google Patents

Systems and methods for loading more than one video content at a time Download PDF

Info

Publication number
US9271015B2
US9271015B2 US14/069,694 US201314069694A US9271015B2 US 9271015 B2 US9271015 B2 US 9271015B2 US 201314069694 A US201314069694 A US 201314069694A US 9271015 B2 US9271015 B2 US 9271015B2
Authority
US
United States
Prior art keywords
video
segments
download
subset
video segments
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US14/069,694
Other versions
US20140178051A1 (en
Inventor
Jonathan BLOCH
Barak Feldman
Tal Zubalsky
Kfir Y. Rotbard
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JBF Interlude 2009 Ltd
Original Assignee
JBF Interlude 2009 Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=48699855&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=US9271015(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
PTAB case IPR2020-01663 filed (Settlement) litigation https://portal.unifiedpatents.com/ptab/case/IPR2020-01663 Petitioner: "Unified Patents PTAB Data" by Unified Patents is licensed under a Creative Commons Attribution 4.0 International License.
PTAB case IPR2020-01662 filed (Settlement) litigation https://portal.unifiedpatents.com/ptab/case/IPR2020-01662 Petitioner: "Unified Patents PTAB Data" by Unified Patents is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by JBF Interlude 2009 Ltd filed Critical JBF Interlude 2009 Ltd
Priority to US14/069,694 priority Critical patent/US9271015B2/en
Assigned to JBF INTERLUDE 2009 LTD. reassignment JBF INTERLUDE 2009 LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BLOCH, JONATHAN, FELDMAN, BARAK, ROTBARD, KFIR Y., ZUBALSKY, TAL
Publication of US20140178051A1 publication Critical patent/US20140178051A1/en
Application granted granted Critical
Publication of US9271015B2 publication Critical patent/US9271015B2/en
Assigned to JBF Interlude 2009 LTD reassignment JBF Interlude 2009 LTD CORRECTIVE ASSIGNMENT TO CORRECT THE CORRECT ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 031544 FRAME: 0311. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Assignors: BLOCH, JONATHAN, FELDMAN, BARAK, ROTBARD, KFIR Y., ZUBALSKY, TAL
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8541Content authoring involving branching, e.g. to different story endings

Definitions

  • the present invention is directed to systems and methods for loading video content, and more particularly to systems and methods that load more than one video at the same time.
  • All web servers are capable of progressive download. This is merely the method of delivering a video file via HTTP to a browser on the client side. The process is similar to downloading a file from any website but the difference is that media players can begin to play the video while it is downloading rather than having to wait until the entire video has been downloaded.
  • An object of the present invention is to provide systems and methods for improving the loading of videos.
  • Another object of the present invention is to provide systems and methods for loading more than one video at a time.
  • Yet another object of the present invention is to provide systems and methods where the several videos are loaded at the same time and played in seamless manner both for audio and video.
  • Yet another object of the present invention is to provide systems and methods where videos are loaded at the same time in a seamless manner and concatenated on client side.
  • a further object of the present invention is to provide systems and methods for loading videos where a plurality of videos is loaded, each having a plurality of segments that are standalone videos.
  • Still another object of the present invention is to provide systems and methods for loading videos that allow a user to create customized videos.
  • Another object of the present invention is to provide systems and methods that connect the loaded videos seamlessly on client side.
  • Another object of the present invention is to provide systems and methods for loading videos where a user can create a new customized video using selected segments of an original video.
  • Still another object of the present invention is to provide systems and methods to create customized videos from a video that is playing.
  • An interactive video player is provided with a loader.
  • a product configuration file in operation configures files for a user in creation of a custom video.
  • External assets are configured for a design of an interactive layer of the video.
  • the interactive video player in operation creates in real-time a custom video that includes a plurality of video segments.
  • FIG. 1 illustrates one embodiment of an overall system architecture of the present invention.
  • FIG. 2 is a flow chart illustrating one embodiment of downloading video segments and creating a custom video.
  • FIG. 3 is a diagram illustrating the differences between a regular video and a video of the present invention.
  • FIGS. 4( a ) and 4 ( b ) illustrate an embodiment of a sequence of downloading videos in an embodiment of the present invention.
  • FIG. 5 illustrates an embodiment of the present invention with two possible values for preloading time.
  • FIG. 6 illustrates an embodiment of the present invention where a loader downloads additional video segments to play and once a threshold is reached the video continues playing.
  • FIG. 7 illustrates an embodiment of the present invention illustrating that the loader can have priorities.
  • FIG. 8 illustrates an embodiment of the present invention with socket communication.
  • FIG. 9 illustrates an embodiment of the present invention with a jump feature.
  • FIG. 10 illustrates an embodiment of the present invention showing that the user interacts with videos in real time.
  • Loading Manager Is in charge of downloading web-based videos according to a certain loading logic. Gets a tree as input from the Project Configuration Manager, and is notified when user/system choices are made by the Choice Manager (for instance, in order to stop loading unreachable videos once a selection has been made).
  • Video Parser Analyzes and modifies the raw video content, for instance, in order to concatenate two separate videos into a single timeline.
  • Video Bytes Appender Takes different parsed video streams and appends their bytes into a single stream of bytes which is then fed into the video playback.
  • Video Playback Plays back the video for the user to watch. Also notifies of events using cue points that were embedded within the video stream by the Video Parser.
  • Project Configuration Manager Manages all project specific configurations. Gets as input an external configuration files. The Project Configuration Manager notifies the Loading Manager of the tree structure and web-based video files, sets the Choice Manager's choices and the External Assets Manager's configuration.
  • Choice Manager Accepts junction notifications from the Video Playback component, thus showing a user selection GUI (selection buttons). Listens for User Interaction and notifies the Loading Manager that a selection has been made.
  • External Assets Manager Is in charge of the loading and displaying of all project specific external assets (for instance, start screen, play button, transport bar, choice buttons, end screen and more).
  • Project Configuration File A file that outlines the entire project's data, including the tree structure, video files, external assets and any other project specific data.
  • External Assets Extra web-based files that make up the project's start screen, end screen, choice buttons, transport bar and other visual objects.
  • User Interaction Any input by user (such as mouse click, keyboard input, gesture etc.).
  • the present invention provides systems and their methods to load several videos at the same time. With the present invention, the system does not know which video will be played and relies on user selection.
  • the connection between the videos is sufficiently seamless so there is no time to load a video and then wait for the next one to be loaded and there are no jumps or cuts on connection points between videos.
  • a plurality of videos are loaded, each having a plurality of segments that are a standalone video.
  • a user downloads various segments and these are then selected as segments to be loaded.
  • a custom download is created.
  • the system 10 includes a pre-loader 12 which loads some video before the user can start playing. This can be done on every player, which as a non-limiting example can be you-tube, Netflix, vimeo, and the like.
  • a production company 14 creates the segments of the video.
  • a video created by the system 10 is an interactive video that offers the user the opportunity to make a choice, as the video is playing (i.e., without pausing/stopping the video), that affects the course of the video in real-time.
  • the video is non-linear with many segments connected by branches.
  • a tree like structure is created with several video segments that can appear at the same time point based on how a user chooses to engage with the video.
  • the video player has to be smart to control the way the segments are downloaded in that the video player considers all possible valid continuations of the video, and makes sure the video will be played until the end on all possible scenarios.
  • the player can include other interactive elements including but not limited to, links, pop-ups text, pictures, animation, other videos and the like.
  • the system 10 includes a player 16 with a project configuration manager 18 , choice manager 20 , external assets manager 22 , a loading manager 24 , a video parser 26 , a video bytes appender 28 and a video playback 30 .
  • the player 16 communicates with videos 32 , a product configuration file 34 , user interaction and external assets 36 .
  • the external assets are design assets used for the design of an interactive layer.
  • the user can create the video through the use of a user device coupled to the system, including but not limited to, a computer, cell phone, such as Apple's iPhone, other portable electronic devices, such as Apple's iPod Touches, Apple's iPads, and mobile devices based on Google's Android operating system, and any other portable electronic device that includes software, firmware, hardware, or a combination thereof that is capable of at least receiving the signal, decoding if needed, exchanging information with a transaction server to verify the buyer and/or seller's account information, conducting the transaction, and generating a receipt.
  • a user device coupled to the system, including but not limited to, a computer, cell phone, such as Apple's iPhone, other portable electronic devices, such as Apple's iPod Touches, Apple's iPads, and mobile devices based on Google's Android operating system, and any other portable electronic device that includes software, firmware, hardware, or a combination thereof that is capable of at least receiving the signal, decoding if needed, exchanging information with a transaction server to verify the buyer and/
  • Typical components of the user device may include but are not limited to persistent memories like flash ROM, random access memory like SRAM, a camera, a battery, LCD driver, a display, a cellular antenna, a speaker, a Bluetooth circuit, and WIFI circuitry, where the persistent memory may contain programs, applications, and/or an operating system.
  • persistent memories like flash ROM, random access memory like SRAM, a camera, a battery, LCD driver, a display, a cellular antenna, a speaker, a Bluetooth circuit, and WIFI circuitry
  • the persistent memory may contain programs, applications, and/or an operating system.
  • a load start screen is used to preload video assets until a specific point. After pressing play the system plays a first segment, collect first user selection, then plays the second segment, collect the second user selection and plays the last segment. Following the first segment, an updated download is provided according to the user selection. Following the second segment, a download update is provided according to the user's selection, and so on.
  • the system 10 downloads a video and allows for the creation of multiple segments of video that can be linked together via branches. In certain embodiments, there can be virtually no limit to the number of segments and branches.
  • a first segment can be the first ten seconds of a video.
  • Two additional segments can be created for the next ten to twenty seconds, each coupled seamlessly to the first segment via an associated branch.
  • the downloading continues and the user selects the video it wishes to see.
  • the system 10 then continues to download.
  • the four rectangles on the right are different remaining segments.
  • FIG. 3 illustrates the differences between a regular video and one created by the present invention.
  • the regular video is represented as a played video, downloaded video and remaining video to be downloaded.
  • a downloaded video from a played video is the first segment.
  • a decision point exists after the first segment where it branches into two second segments with remaining video to download. The remaining video to download branches from the respective two second segments.
  • the system loads all possible segments that can be chosen by the user. These segments are either loaded, or their loading is initiated, prior to the connection point in order to ensure that the next segment is ready with all of its possible variations.
  • the loader 12 loads all the possible paths and disregards paths that the user cannot reach once a particular video segment is selected and viewed.
  • FIGS. 4( a ) and 4 ( b ) a sequence of loading is illustrated. Segment 1 is loaded. Segments 2 a , 2 b are then loaded. The user selects option 2 b . Segment 2 a is then disregarded with its entire branch and segment 2 b is loaded. Segments 3 c and 3 d are also loaded.
  • video segments are pre-loaded in order to give the loader a head start and ensure a seamless video viewing experience.
  • the pre-loader 12 knows how to dynamically calculate the internet speed for an individual user and how much to preload at the start before the video begins to play in order for the video to be played without the video stopping and resuming only after it loads more content, e.g., buffering.
  • the system 10 reduces the chance for buffering so the video won't stop.
  • the preload can be configured to any amount of time needed by the video creator.
  • the system and method of the present invention can preload a very small amount of video before playing and knows that the system manages loading all the rest of the videos before playing them on every possible branch.
  • FIG. 5 illustrates an embodiment with two possible values for preloading time.
  • the loader 12 optimizes the net bandwidth utilization to download additional video content according to an individual user's bandwidth constraints in order to continue downloading video. As a non-limiting example, this can occur after the preload and before a user presses play, or when the video is paused. Optimization is achieved by continuing loading during this “dead time” before the user pressed play so more video time is loaded and the chance for buffering is reduced.
  • the loader 12 continues downloading all of the video segments it can until it has nothing left to download.
  • the loader 12 has a map of all existing videos, knows the length of each segment and the possible options to continue.
  • the loader 12 downloads all possible videos until reaching the last segment on every possible branch.
  • the downloading speed can be affected by many factors including but not limited to, computer status, service provider, video hosting, programs running in the background, net congestion and the like. If, however, during the video, the player played all of the segments of the video that were successfully downloaded, and the loader still didn't manage to load more content to play or if the amount of downloaded video that remains is less than a minimum threshold, the system 10 will enter a buffering state. The video playback pauses, the loader 12 downloads additional video segments to play, and after a certain threshold is reached, the video continues playing, as illustrated in FIG. 6 .
  • the loader 12 can download more video segments that were effectively discarded during the last play. These video segments can be used for the next play. This provides for optimization. When the system 10 loads more segments in current playback it has less to load on the next play and this significantly reduces the next loading time.
  • the loader 12 can choose how to download the video segments and in what order.
  • the same amount of play time is loaded for each segment. This can be the default setting.
  • all videos are loaded until the end of certain segments and can be used when segments have different lengths for each variation.
  • segments are loaded by order of importance or popularity. This can be, by way of a non-limiting example, knowing which branch is more likely to be played.
  • only the start of each segment or selected segments are loaded.
  • loading is done only after a specific segment is selected, such as, by the non-limiting example, if there is a very large amount of variation for the same segment.
  • the loader 12 has priorities for every segment and decides what to load according to the priorities and the user bandwidth.
  • the first priority is what is currently playing.
  • the second priority is the next segment and prioritization between all of the subsequent segments according to popularity or importance.
  • the third priority is the segments beyond the next segment, e.g, subsequent segments, or segments that can be jumped to.
  • the loader 12 can choose not to download all the segments but only a subset of them. Each segment has some kind of “Is_loadable” variable that indicates if the segment should be loaded or not.
  • the loader 12 can have other logic that controls the process differently, where logic is another part of the player that can control the loader 12 by defining the “Is_loadable” variable for each segment.
  • the system 10 can allow the user to play the video with certain segments on the first viewing and different segments on the second viewing such that the loader 12 acts accordingly.
  • another scenario is after a user interacts with a video and makes certain choices associated with the video.
  • the user can share his/her passive version of the video with others (i.e., a third party would not be able to make choices and would only watch the video as the choices were selected by the initial user).
  • the video plays only the selected sequence of video segments and the loader 12 only downloads those segments.
  • the loader 12 completes the required downloads, it can start downloading the other video segments in the background, while the video is playing, for potential active mode by the new user.
  • the system 10 can also provide support for download pause and resume feature.
  • This feature set includes a way to pause a download, save the partial data that was already downloaded, and, at a later time, continue downloading from the same point on all branches.
  • the system 10 allows for download pause and resume. In one embodiment, this is achieved by adding a “Range” field to an HTTP request. However, Flash does not allow this field to be added to an HTTP request due to security restrictions.
  • the HTTP “Range” field as defined by RFC 2616, section 14.35, allows the retrieval of a sub-range of bytes of the requested file, thus allowing a download of partial data, or resuming of a partially downloaded file from the place we left off.
  • the system 10 implements a more low-level form of communication instead of using the standard feature set that Flash provides. Because the standard Adobe Flash API for HTTP requests does not allow addition of the “Range” header to an HTTP request, the system 10 avoids using the standard API and implements its own HTTP client.
  • socket communication is used to implement HTTP communication and partial downloads are manually saved to an array of bytes, also known as ByteArray.
  • ByteArray an array of bytes
  • the system 10 pauses a download, saves partial data, and later sends an HTTP request with a “Range” field, so that the download restarts at the correct offset.
  • the new incoming data is appended in the ByteArray.
  • This is useful to system 10 player's loading logic because one can now pause video stream downloads which are not currently needed, but may be required later in playback or replay, without re-downloading the entire file. This increases efficiency and avoids redundant network traffic and processing.
  • the system re-downloads the entire dropped file from the beginning and dumps the partial data that was downloaded. However, this can be wasteful.
  • the system 10 provides a jump feature, illustrated in FIG. 9 .
  • the user can jump to a different part of the tree.
  • the loader 12 downloads the destination part in order to prevent buffering on such a jump. Because every segment has its own priority, the loader 12 can have a high priority for a distant segment. The user then starts loading before loading closer segments. In order to ensure that if the user will decide to jump to this segment it will already be loaded.
  • the user can move back and forth between two or more branches. This means that the loader 12 does not pause the loading of the segments that were not selected since they can still be used. Back and forth movement is achieved in the same manner. The options always appear on the screen and the two videos are played simultaneously, and the loader 12 needs to download both parallel segments.
  • the user interacts with videos of the present invention in real-time while the video is playing.
  • This user can interact with the video with any known variety of mechanisms, including but not limited to, mouse clicks, mouse movement, eye movement, keyboard and the like.
  • the segments can have different lengths.
  • a user can choose between segment A 1 or A 2 where A 1 and A 2 have different lengths.
  • a decision point is not limited to a binary option. The number of decision point options can be larger and a segment can continue to any number of presented options.
  • the interactive nature of a video impacts the video's content and the user can control the video's path.
  • every option changes something on the video content.
  • moving from one video segment to the next can take some time and can also be immediate upon clicking the desired option, with virtually no delay from the time a decision is made to the playing of the associated video segment.
  • the options are selected by the user.
  • the system 10 can select the options for the user. As non-limiting examples this can be by IP, physical location, weather, user id and the like.
  • the video can also include personal data inside the video.
  • the player can be used on any device that displays video and enables user engagement including but not limited to, personal computers, tablets, cellular phones, music players and the like.
  • the player can includes an interactive layer on top of the video.
  • This layer presents output to the user, such as option buttons, a clock and the like, and collects the input from the user.
  • Interactive elements on the interactive layer can be different for each video segment to provide that when a new segment is loaded and played the player can add the appropriate interactive elements to it.

Abstract

A system for loading videos includes an interactive video player is with a loader. A product configuration file in operation configures files for a user in creation of a custom video. External assets are configured for a design of an interactive layer of the video. The interactive video player in operation creates in real-time a custom video that includes a plurality of video segments.

Description

CROSS-REFERENCE TO RELATED APPLICATION
This application is a continuation of U.S. patent application Ser. No. 13/437,164, filed on Apr. 2, 2012, and entitled “Systems and Methods for Loading More Than One Video Content at a Time,” which is hereby incorporated by reference in its entirety.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention is directed to systems and methods for loading video content, and more particularly to systems and methods that load more than one video at the same time.
2. Description of the Related Art
All web servers are capable of progressive download. This is merely the method of delivering a video file via HTTP to a browser on the client side. The process is similar to downloading a file from any website but the difference is that media players can begin to play the video while it is downloading rather than having to wait until the entire video has been downloaded.
When a video is being delivered via HTTP progressive download, typically one sees the buffer bar grow as the video downloads. One is not able to watch the video if the scrubber button is moved past the amount that has downloaded already. This makes it impossible to jump to the end of the video. If the site has a slow web server or limited bandwidth, or the end user is on a slow Internet connection, then the end user will notice buffering. Buffering occurs when the download can't stay ahead of the video playback. In this instance, the video will stop and only after the player will download an additional portion of the video will the playing resume. If the user pauses the video and allows the downloading of a large portion of the video, the user will likely watch the video uninterrupted.
In almost all progressive downloading, there will be a certain amount of preloading, which means that a certain amount of video data is loaded, before the start of playback. Some players will begin to play a video as soon as a small amount of data is received and some will wait until the entire file is downloaded before it plays (in order to prevent buffering).
Current methods load the entire video and just one video is provided. Only after the video is finished playing can another one be loaded.
There is a need to provide improved systems and methods for loading videos. There is a further need for loading more than one video at a time.
SUMMARY OF THE INVENTION
An object of the present invention is to provide systems and methods for improving the loading of videos.
Another object of the present invention is to provide systems and methods for loading more than one video at a time.
Yet another object of the present invention is to provide systems and methods where the several videos are loaded at the same time and played in seamless manner both for audio and video.
Yet another object of the present invention is to provide systems and methods where videos are loaded at the same time in a seamless manner and concatenated on client side.
A further object of the present invention is to provide systems and methods for loading videos where a plurality of videos is loaded, each having a plurality of segments that are standalone videos.
Still another object of the present invention is to provide systems and methods for loading videos that allow a user to create customized videos.
Another object of the present invention is to provide systems and methods that connect the loaded videos seamlessly on client side.
Another object of the present invention is to provide systems and methods for loading videos where a user can create a new customized video using selected segments of an original video.
Still another object of the present invention is to provide systems and methods to create customized videos from a video that is playing.
These and other objects of the present invention are achieved in a system for loading videos. An interactive video player is provided with a loader. A product configuration file in operation configures files for a user in creation of a custom video. External assets are configured for a design of an interactive layer of the video. The interactive video player in operation creates in real-time a custom video that includes a plurality of video segments.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates one embodiment of an overall system architecture of the present invention.
FIG. 2 is a flow chart illustrating one embodiment of downloading video segments and creating a custom video.
FIG. 3 is a diagram illustrating the differences between a regular video and a video of the present invention.
FIGS. 4( a) and 4(b) illustrate an embodiment of a sequence of downloading videos in an embodiment of the present invention.
FIG. 5 illustrates an embodiment of the present invention with two possible values for preloading time.
FIG. 6 illustrates an embodiment of the present invention where a loader downloads additional video segments to play and once a threshold is reached the video continues playing.
FIG. 7 illustrates an embodiment of the present invention illustrating that the loader can have priorities.
FIG. 8 illustrates an embodiment of the present invention with socket communication.
FIG. 9 illustrates an embodiment of the present invention with a jump feature.
FIG. 10 illustrates an embodiment of the present invention showing that the user interacts with videos in real time.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Definitions
Player
Player Engine
Loading Manager—Is in charge of downloading web-based videos according to a certain loading logic. Gets a tree as input from the Project Configuration Manager, and is notified when user/system choices are made by the Choice Manager (for instance, in order to stop loading unreachable videos once a selection has been made).
Video Parser—Analyzes and modifies the raw video content, for instance, in order to concatenate two separate videos into a single timeline.
Also in charge of inserting cue points into the video stream (for instance, junction event).
Video Bytes Appender—Takes different parsed video streams and appends their bytes into a single stream of bytes which is then fed into the video playback.
Video Playback—Plays back the video for the user to watch. Also notifies of events using cue points that were embedded within the video stream by the Video Parser.
Player Frontend/UI
Project Configuration Manager—Manages all project specific configurations. Gets as input an external configuration files. The Project Configuration Manager notifies the Loading Manager of the tree structure and web-based video files, sets the Choice Manager's choices and the External Assets Manager's configuration.
Choice Manager—Accepts junction notifications from the Video Playback component, thus showing a user selection GUI (selection buttons). Listens for User Interaction and notifies the Loading Manager that a selection has been made.
External Assets Manager—Is in charge of the loading and displaying of all project specific external assets (for instance, start screen, play button, transport bar, choice buttons, end screen and more).
External Resources (Web Based)
Videos—Web-hosted video files
Project Configuration File—A file that outlines the entire project's data, including the tree structure, video files, external assets and any other project specific data.
External Assets—External web-based files that make up the project's start screen, end screen, choice buttons, transport bar and other visual objects.
Other
User Interaction—Any input by user (such as mouse click, keyboard input, gesture etc.).
The present invention provides systems and their methods to load several videos at the same time. With the present invention, the system does not know which video will be played and relies on user selection. The connection between the videos is sufficiently seamless so there is no time to load a video and then wait for the next one to be loaded and there are no jumps or cuts on connection points between videos.
With the system of the present invention, a plurality of videos are loaded, each having a plurality of segments that are a standalone video. In one embodiment, a user downloads various segments and these are then selected as segments to be loaded. A custom download is created.
In one embodiment, the system 10 includes a pre-loader 12 which loads some video before the user can start playing. This can be done on every player, which as a non-limiting example can be you-tube, Netflix, vimeo, and the like. A production company 14 creates the segments of the video.
A video created by the system 10 is an interactive video that offers the user the opportunity to make a choice, as the video is playing (i.e., without pausing/stopping the video), that affects the course of the video in real-time. In one embodiment, the video is non-linear with many segments connected by branches. A tree like structure is created with several video segments that can appear at the same time point based on how a user chooses to engage with the video. The video player has to be smart to control the way the segments are downloaded in that the video player considers all possible valid continuations of the video, and makes sure the video will be played until the end on all possible scenarios. The player can include other interactive elements including but not limited to, links, pop-ups text, pictures, animation, other videos and the like.
Referring to FIG. 1, the system 10 includes a player 16 with a project configuration manager 18, choice manager 20, external assets manager 22, a loading manager 24, a video parser 26, a video bytes appender 28 and a video playback 30. The player 16 communicates with videos 32, a product configuration file 34, user interaction and external assets 36. The external assets are design assets used for the design of an interactive layer.
The user can create the video through the use of a user device coupled to the system, including but not limited to, a computer, cell phone, such as Apple's iPhone, other portable electronic devices, such as Apple's iPod Touches, Apple's iPads, and mobile devices based on Google's Android operating system, and any other portable electronic device that includes software, firmware, hardware, or a combination thereof that is capable of at least receiving the signal, decoding if needed, exchanging information with a transaction server to verify the buyer and/or seller's account information, conducting the transaction, and generating a receipt. Typical components of the user device may include but are not limited to persistent memories like flash ROM, random access memory like SRAM, a camera, a battery, LCD driver, a display, a cellular antenna, a speaker, a Bluetooth circuit, and WIFI circuitry, where the persistent memory may contain programs, applications, and/or an operating system.
Referring to the flow chart of FIG. 2, a load start screen is used to preload video assets until a specific point. After pressing play the system plays a first segment, collect first user selection, then plays the second segment, collect the second user selection and plays the last segment. Following the first segment, an updated download is provided according to the user selection. Following the second segment, a download update is provided according to the user's selection, and so on.
The system 10 downloads a video and allows for the creation of multiple segments of video that can be linked together via branches. In certain embodiments, there can be virtually no limit to the number of segments and branches.
As a non-limiting example, a first segment can be the first ten seconds of a video. Two additional segments can be created for the next ten to twenty seconds, each coupled seamlessly to the first segment via an associated branch.
The downloading continues and the user selects the video it wishes to see. The system 10 then continues to download. In FIG. 3, the four rectangles on the right are different remaining segments.
With the present invention, several segments of videos are downloaded at the same time because the system does not know which will be played.
The diagram in FIG. 3 below illustrates the differences between a regular video and one created by the present invention. In FIG. 3, the regular video is represented as a played video, downloaded video and remaining video to be downloaded. With the video of the present invention, a downloaded video from a played video is the first segment. A decision point exists after the first segment where it branches into two second segments with remaining video to download. The remaining video to download branches from the respective two second segments.
When loading segments for the video, the system loads all possible segments that can be chosen by the user. These segments are either loaded, or their loading is initiated, prior to the connection point in order to ensure that the next segment is ready with all of its possible variations.
In one embodiment, the loader 12 loads all the possible paths and disregards paths that the user cannot reach once a particular video segment is selected and viewed.
As a non-limiting example, illustrated in FIGS. 4( a) and 4(b), a sequence of loading is illustrated. Segment 1 is loaded. Segments 2 a, 2 b are then loaded. The user selects option 2 b. Segment 2 a is then disregarded with its entire branch and segment 2 b is loaded. Segments 3 c and 3 d are also loaded.
If the system 10 already started loading segment 2 a, and the user then selects option 2 b, the system 10 stops loading 2 a, as illustrated in FIG. 4( b).
In one embodiment, video segments are pre-loaded in order to give the loader a head start and ensure a seamless video viewing experience. The pre-loader 12 knows how to dynamically calculate the internet speed for an individual user and how much to preload at the start before the video begins to play in order for the video to be played without the video stopping and resuming only after it loads more content, e.g., buffering. The system 10 reduces the chance for buffering so the video won't stop. The preload can be configured to any amount of time needed by the video creator. As a non-limiting example, with a very fast internet connection, the system and method of the present invention can preload a very small amount of video before playing and knows that the system manages loading all the rest of the videos before playing them on every possible branch.
When the system 10 knows that an internet connection is slow, more video time is loaded before playing otherwise the player tries to play video that was not downloaded yet (buffering).
FIG. 5 illustrates an embodiment with two possible values for preloading time.
The loader 12 optimizes the net bandwidth utilization to download additional video content according to an individual user's bandwidth constraints in order to continue downloading video. As a non-limiting example, this can occur after the preload and before a user presses play, or when the video is paused. Optimization is achieved by continuing loading during this “dead time” before the user pressed play so more video time is loaded and the chance for buffering is reduced.
After the video starts to play, the loader 12 continues downloading all of the video segments it can until it has nothing left to download. The loader 12 has a map of all existing videos, knows the length of each segment and the possible options to continue. The loader 12 downloads all possible videos until reaching the last segment on every possible branch.
The downloading speed can be affected by many factors including but not limited to, computer status, service provider, video hosting, programs running in the background, net congestion and the like. If, however, during the video, the player played all of the segments of the video that were successfully downloaded, and the loader still didn't manage to load more content to play or if the amount of downloaded video that remains is less than a minimum threshold, the system 10 will enter a buffering state. The video playback pauses, the loader 12 downloads additional video segments to play, and after a certain threshold is reached, the video continues playing, as illustrated in FIG. 6.
At the end of the played video, the loader 12 can download more video segments that were effectively discarded during the last play. These video segments can be used for the next play. This provides for optimization. When the system 10 loads more segments in current playback it has less to load on the next play and this significantly reduces the next loading time.
Referring to FIG. 7, in one embodiment of downloading order, the loader 12 can choose how to download the video segments and in what order. In one embodiment, the same amount of play time is loaded for each segment. This can be the default setting. In another embodiment, all videos are loaded until the end of certain segments and can be used when segments have different lengths for each variation. In another embodiment, segments are loaded by order of importance or popularity. This can be, by way of a non-limiting example, knowing which branch is more likely to be played. In another embodiment, only the start of each segment or selected segments are loaded. In another embodiment, loading is done only after a specific segment is selected, such as, by the non-limiting example, if there is a very large amount of variation for the same segment.
The loader 12 has priorities for every segment and decides what to load according to the priorities and the user bandwidth. The first priority is what is currently playing. The second priority is the next segment and prioritization between all of the subsequent segments according to popularity or importance. The third priority is the segments beyond the next segment, e.g, subsequent segments, or segments that can be jumped to.
The loader 12 can choose not to download all the segments but only a subset of them. Each segment has some kind of “Is_loadable” variable that indicates if the segment should be loaded or not.
This can occur in several scenarios. In one, if options are effectively chosen in advance, as a non-limiting example if a user enters its gender in the beginning, and the impact of that option only appears later during the video play. Another scenario is if the system 10 makes a choice according to information that was not directly inputted by the user, such as IP address, social network ID, additional identifiers, and the like. Additionally, the system 10 can load only the most likely segments to be played and loads them unless the user chooses differently In terms of which segments to load.
In another embodiment, the loader 12 can have other logic that controls the process differently, where logic is another part of the player that can control the loader 12 by defining the “Is_loadable” variable for each segment. The system 10 can allow the user to play the video with certain segments on the first viewing and different segments on the second viewing such that the loader 12 acts accordingly.
In another embodiment, another scenario is after a user interacts with a video and makes certain choices associated with the video. In this scenario the user can share his/her passive version of the video with others (i.e., a third party would not be able to make choices and would only watch the video as the choices were selected by the initial user). In this “passive mode,” the video plays only the selected sequence of video segments and the loader 12 only downloads those segments. However, when the loader 12 completes the required downloads, it can start downloading the other video segments in the background, while the video is playing, for potential active mode by the new user.
The system 10 can also provide support for download pause and resume feature. This feature set includes a way to pause a download, save the partial data that was already downloaded, and, at a later time, continue downloading from the same point on all branches.
The system 10 allows for download pause and resume. In one embodiment, this is achieved by adding a “Range” field to an HTTP request. However, Flash does not allow this field to be added to an HTTP request due to security restrictions. The HTTP “Range” field, as defined by RFC 2616, section 14.35, allows the retrieval of a sub-range of bytes of the requested file, thus allowing a download of partial data, or resuming of a partially downloaded file from the place we left off.
In order to get around this security restriction, the system 10 implements a more low-level form of communication instead of using the standard feature set that Flash provides. Because the standard Adobe Flash API for HTTP requests does not allow addition of the “Range” header to an HTTP request, the system 10 avoids using the standard API and implements its own HTTP client.
Referring to FIG. 8, in one embodiment, socket communication is used to implement HTTP communication and partial downloads are manually saved to an array of bytes, also known as ByteArray. With this method, the system 10 pauses a download, saves partial data, and later sends an HTTP request with a “Range” field, so that the download restarts at the correct offset. The new incoming data is appended in the ByteArray. This is useful to system 10 player's loading logic because one can now pause video stream downloads which are not currently needed, but may be required later in playback or replay, without re-downloading the entire file. This increases efficiency and avoids redundant network traffic and processing. In another embodiment, the system re-downloads the entire dropped file from the beginning and dumps the partial data that was downloaded. However, this can be wasteful.
In various embodiments, the system 10 provides a jump feature, illustrated in FIG. 9. In some videos the user can jump to a different part of the tree. As a non-limiting example, if the character dies or the user wishes to skip a part, then the loader 12 downloads the destination part in order to prevent buffering on such a jump. Because every segment has its own priority, the loader 12 can have a high priority for a distant segment. The user then starts loading before loading closer segments. In order to ensure that if the user will decide to jump to this segment it will already be loaded.
Referring now to FIG. 10, in some videos the user can move back and forth between two or more branches. This means that the loader 12 does not pause the loading of the segments that were not selected since they can still be used. Back and forth movement is achieved in the same manner. The options always appear on the screen and the two videos are played simultaneously, and the loader 12 needs to download both parallel segments.
In various embodiments, the user interacts with videos of the present invention in real-time while the video is playing. This user can interact with the video with any known variety of mechanisms, including but not limited to, mouse clicks, mouse movement, eye movement, keyboard and the like.
In various embodiments, the segments, even if offered at a single decision point, can have different lengths. As a non-limiting example, a user can choose between segment A1 or A2 where A1 and A2 have different lengths. A decision point is not limited to a binary option. The number of decision point options can be larger and a segment can continue to any number of presented options.
With the present invention, the interactive nature of a video impacts the video's content and the user can control the video's path. With the present invention, every option changes something on the video content. With the present invention, moving from one video segment to the next can take some time and can also be immediate upon clicking the desired option, with virtually no delay from the time a decision is made to the playing of the associated video segment. In most instances, the options are selected by the user. However, in some circumstances the system 10 can select the options for the user. As non-limiting examples this can be by IP, physical location, weather, user id and the like. The video can also include personal data inside the video.
The player can be used on any device that displays video and enables user engagement including but not limited to, personal computers, tablets, cellular phones, music players and the like.
The player can includes an interactive layer on top of the video. This layer presents output to the user, such as option buttons, a clock and the like, and collects the input from the user. Interactive elements on the interactive layer can be different for each video segment to provide that when a new segment is loaded and played the player can add the appropriate interactive elements to it.
Expected variations or differences in the results are contemplated in accordance with the objects and practices of the present invention. It is intended, therefore, that the invention be defined by the scope of the claims which follow and that such claims be interpreted as broadly as is reasonable.

Claims (19)

The invention claimed is:
1. A system for presenting media content, the media content comprising a plurality of video segments, the system comprising:
a video loading manager for determining a first subset of the video segments to download;
a video playback engine for presenting a first one of the video segments; and
a choice manager for receiving a selection of a second video segment for playback,
wherein the video loading manager is further for determining a second subset of the video segments to download based at least in part on the selection of the second video segment, and
wherein the plurality of video segments is organized according to a tree structure comprising decision points at which one of the video segments may be selected for downloading and viewing such that only certain of the video segments remain potentially viewable.
2. The system of claim 1, wherein the video loading manager is further for downloading at least a portion of each of the first subset of video segments.
3. The system of claim 2, wherein the video loading manager is further for stopping the download of at least one video segment in the first subset based at least in part on the selection of the second video segment.
4. The system of claim 2, wherein the video loading manager is further for downloading at least a portion of each of the second subset of video segments.
5. The system of claim 1, wherein the determination of the first subset of video segments is based at least in part on a download priority.
6. The system of claim 5, wherein the download priority is based at least in part on a popularity of the first subset of video segments among previous viewers thereof.
7. The system of claim 5, wherein the download priority is based on one or more user characteristics.
8. The system of claim 7, wherein the user characteristics comprise one or more of a gender, an age, a location, and a prior viewing history.
9. The system of claim 5, wherein the video loading manager is further for initiating download of the first subset of video segments according to the download priority and prior to completion of playback of the first video segment.
10. The system of claim 1, wherein the determination of the second subset of video segments is further based at least in part on a download priority.
11. The system of claim 10, wherein the download priority is based at least in part on a location of the second video segment in the tree structure and which subsequent segments are connected to the second video segment within the tree structure.
12. A method of presenting media content, the media content comprising a plurality of video segments, the method comprising:
determining a first subset of the video segments to download;
presenting a first one of the video segments;
receiving a selection of a second video segment for playback; and
determining a second subset of the video segments to download based at least in part on the selection of the second video segment,
wherein the plurality of video segments is organized according to a tree structure comprising decision points at which one of the video segments may be selected for downloading and viewing such that only certain of the video segments remain potentially viewable.
13. The method of claim 12, further comprising downloading at least a portion of each of the first subset of video segments.
14. The method of claim 13, further comprising stopping the download of at least one video segment in the first subset based at least in part on the selection of the second video segment.
15. The method of claim 12, wherein the determination of the first subset of video segments is based at least in part on a download priority.
16. The method of claim 15, wherein the download priority is based at least in part on a popularity of the first subset of video segments among previous viewers thereof.
17. The method of claim 15, wherein the download priority is based on one or more user characteristics.
18. The method of claim 12, wherein the determination of the second subset of video segments is further based at least in part on a download priority.
19. The method of claim 18, wherein the download priority is based at least in part on a location of the second video segment in the tree structure and which subsequent segments are connected to the second video segment within the tree structure.
US14/069,694 2012-04-02 2013-11-01 Systems and methods for loading more than one video content at a time Active 2032-06-25 US9271015B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/069,694 US9271015B2 (en) 2012-04-02 2013-11-01 Systems and methods for loading more than one video content at a time

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/437,164 US8600220B2 (en) 2012-04-02 2012-04-02 Systems and methods for loading more than one video content at a time
US14/069,694 US9271015B2 (en) 2012-04-02 2013-11-01 Systems and methods for loading more than one video content at a time

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US13/437,164 Continuation US8600220B2 (en) 2012-04-02 2012-04-02 Systems and methods for loading more than one video content at a time

Publications (2)

Publication Number Publication Date
US20140178051A1 US20140178051A1 (en) 2014-06-26
US9271015B2 true US9271015B2 (en) 2016-02-23

Family

ID=48699855

Family Applications (2)

Application Number Title Priority Date Filing Date
US13/437,164 Active 2032-05-11 US8600220B2 (en) 2012-04-02 2012-04-02 Systems and methods for loading more than one video content at a time
US14/069,694 Active 2032-06-25 US9271015B2 (en) 2012-04-02 2013-11-01 Systems and methods for loading more than one video content at a time

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US13/437,164 Active 2032-05-11 US8600220B2 (en) 2012-04-02 2012-04-02 Systems and methods for loading more than one video content at a time

Country Status (2)

Country Link
US (2) US8600220B2 (en)
WO (1) WO2013150378A1 (en)

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9520155B2 (en) 2013-12-24 2016-12-13 JBF Interlude 2009 LTD Methods and systems for seeking to non-key frames
US9530454B2 (en) 2013-10-10 2016-12-27 JBF Interlude 2009 LTD Systems and methods for real-time pixel switching
US9607655B2 (en) 2010-02-17 2017-03-28 JBF Interlude 2009 LTD System and method for seamless multimedia assembly
US9641898B2 (en) 2013-12-24 2017-05-02 JBF Interlude 2009 LTD Methods and systems for in-video library
US9653115B2 (en) 2014-04-10 2017-05-16 JBF Interlude 2009 LTD Systems and methods for creating linear video from branched video
US9672868B2 (en) 2015-04-30 2017-06-06 JBF Interlude 2009 LTD Systems and methods for seamless media creation
US9792957B2 (en) 2014-10-08 2017-10-17 JBF Interlude 2009 LTD Systems and methods for dynamic video bookmarking
US9792026B2 (en) 2014-04-10 2017-10-17 JBF Interlude 2009 LTD Dynamic timeline for branched video
US9832516B2 (en) 2013-06-19 2017-11-28 JBF Interlude 2009 LTD Systems and methods for multiple device interaction with selectably presentable media streams
US10218760B2 (en) 2016-06-22 2019-02-26 JBF Interlude 2009 LTD Dynamic summary generation for real-time switchable videos
US10257578B1 (en) 2018-01-05 2019-04-09 JBF Interlude 2009 LTD Dynamic library display for interactive videos
US10418066B2 (en) 2013-03-15 2019-09-17 JBF Interlude 2009 LTD System and method for synchronization of selectably presentable media streams
US10448119B2 (en) 2013-08-30 2019-10-15 JBF Interlude 2009 LTD Methods and systems for unfolding video pre-roll
US10462202B2 (en) 2016-03-30 2019-10-29 JBF Interlude 2009 LTD Media stream rate synchronization
US10460765B2 (en) 2015-08-26 2019-10-29 JBF Interlude 2009 LTD Systems and methods for adaptive and responsive video
US10474334B2 (en) 2012-09-19 2019-11-12 JBF Interlude 2009 LTD Progress bar for branched videos
CN110545480A (en) * 2018-05-29 2019-12-06 北京字节跳动网络技术有限公司 Preloading control method and device of media file and storage medium
CN110719523A (en) * 2019-10-22 2020-01-21 深圳墨世科技有限公司 Video preloading method and device, computer equipment and storage medium
US10582265B2 (en) 2015-04-30 2020-03-03 JBF Interlude 2009 LTD Systems and methods for nonlinear video playback using linear real-time video players
US11050809B2 (en) 2016-12-30 2021-06-29 JBF Interlude 2009 LTD Systems and methods for dynamic weighting of branched video paths
US11128853B2 (en) 2015-12-22 2021-09-21 JBF Interlude 2009 LTD Seamless transitions in large-scale video
US11164548B2 (en) 2015-12-22 2021-11-02 JBF Interlude 2009 LTD Intelligent buffering of large-scale video
US11232458B2 (en) 2010-02-17 2022-01-25 JBF Interlude 2009 LTD System and method for data mining within interactive multimedia
US11245961B2 (en) 2020-02-18 2022-02-08 JBF Interlude 2009 LTD System and methods for detecting anomalous activities for interactive videos
US11314936B2 (en) 2009-05-12 2022-04-26 JBF Interlude 2009 LTD System and method for assembling a recorded composition
US11412276B2 (en) 2014-10-10 2022-08-09 JBF Interlude 2009 LTD Systems and methods for parallel track transitions
US11490047B2 (en) 2019-10-02 2022-11-01 JBF Interlude 2009 LTD Systems and methods for dynamically adjusting video aspect ratios
US11563915B2 (en) 2019-03-11 2023-01-24 JBF Interlude 2009 LTD Media content presentation
US11601721B2 (en) 2018-06-04 2023-03-07 JBF Interlude 2009 LTD Interactive video dynamic adaptation and user profiling
US11856271B2 (en) 2016-04-12 2023-12-26 JBF Interlude 2009 LTD Symbiotic interactive video
US11882337B2 (en) 2021-05-28 2024-01-23 JBF Interlude 2009 LTD Automated platform for generating interactive videos
US11934477B2 (en) 2021-09-24 2024-03-19 JBF Interlude 2009 LTD Video player integration within websites

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8788615B1 (en) * 2009-10-02 2014-07-22 Adobe Systems Incorporated Systems and methods for creating and using electronic content that requires a shared library
US20150085071A1 (en) * 2012-04-04 2015-03-26 Ruiz Rodriquez Ezequiel System for generating and receiving a stereoscopic 2d-backward-compatible video stream, and method thereof
US8930559B2 (en) * 2012-06-01 2015-01-06 Verizon Patent And Licensing Inc. Adaptive hypertext transfer protocol (“HTTP”) media streaming systems and methods
US9152220B2 (en) * 2012-06-29 2015-10-06 International Business Machines Corporation Incremental preparation of videos for delivery
US10165245B2 (en) * 2012-07-06 2018-12-25 Kaltura, Inc. Pre-fetching video content
US8745259B2 (en) * 2012-08-02 2014-06-03 Ujam Inc. Interactive media streaming
TWI516104B (en) * 2012-09-04 2016-01-01 緯創資通股份有限公司 Method of playing internet video and related electronic device
DE102013102754B4 (en) * 2013-03-18 2015-10-22 Benjamin Tobit Kegler Transmission of interactive event-driven video data to mobile or stationary players
DE102013022363B3 (en) 2013-03-18 2019-06-27 Benjamin Tobit Kegler Transmission of interactive event-driven video data to mobile or stationary players
US9236088B2 (en) 2013-04-18 2016-01-12 Rapt Media, Inc. Application communication
US8977113B1 (en) * 2013-10-25 2015-03-10 Joseph Rumteen Mobile device video decision tree
US10387002B2 (en) 2013-12-23 2019-08-20 Dilogr, LLC Adding interactivity to slide presentation
US10142708B2 (en) 2014-07-31 2018-11-27 Podop, Inc. Method, apparatus and article for delivering media content via a user-selectable narrative presentation
US10279257B2 (en) 2015-01-14 2019-05-07 Podop, Inc. Data mining, influencing viewer selections, and user interfaces
US11336928B1 (en) * 2015-09-24 2022-05-17 Amazon Technologies, Inc. Predictive caching of identical starting sequences in content
US10581943B2 (en) 2016-04-22 2020-03-03 Home Box Office, Inc. Streaming media state machine
CN110351607B (en) * 2018-04-04 2022-01-14 阿里巴巴(中国)有限公司 Method for switching panoramic video scenes, computer storage medium and client
WO2019236686A1 (en) 2018-06-05 2019-12-12 Videri Inc. Systems and methods for mapping an orchestrated digital display system
US11145306B1 (en) 2018-10-31 2021-10-12 Ossum Technology Inc. Interactive media system using audio inputs
CN109347968B (en) * 2018-11-07 2021-09-24 网宿科技股份有限公司 Method, equipment and system for downloading data blocks of resource file
CN109413474B (en) * 2018-12-19 2021-02-26 北京奇艺世纪科技有限公司 Online video playing acceleration method and device
US10771865B2 (en) 2019-02-11 2020-09-08 Netflix, Inc. Techniques for advancing playback of interactive media titles in response to user selections
US20210144416A1 (en) * 2019-11-13 2021-05-13 Disney Enterprises, Inc. Generating media programs configured for seamless playback
CN110798716A (en) * 2019-11-19 2020-02-14 深圳市迅雷网络技术有限公司 Video highlight playing method and related device
CN110769284A (en) * 2019-11-19 2020-02-07 深圳市迅雷网络技术有限公司 Video highlight caching method and related device
CN110933473A (en) * 2019-12-10 2020-03-27 北京爱奇艺科技有限公司 Video playing heat determining method and device
US11102272B2 (en) * 2019-12-19 2021-08-24 Wangsu Science and Technology Co., Ltd. Method and device for downloading resource file
CN111277869B (en) * 2020-02-14 2021-12-14 腾讯科技(深圳)有限公司 Video playing method, device, equipment and storage medium
CN111277867B (en) * 2020-03-03 2022-02-18 广州市百果园信息技术有限公司 Video downloading method, device, server and storage medium
CN111935548A (en) * 2020-08-11 2020-11-13 深圳市前海手绘科技文化有限公司 Interactive hand-drawn video production method
CN112333476B (en) * 2021-01-05 2021-05-07 智者四海(北京)技术有限公司 Video loading method and device
CN112911402B (en) * 2021-01-19 2023-07-18 惠州Tcl移动通信有限公司 Video playing method, device, terminal and computer readable storage medium

Citations (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5568602A (en) 1994-10-28 1996-10-22 Rocket Science Games, Inc. Method and apparatus for game development using correlation of time sequences and digital video data
US5607356A (en) 1995-05-10 1997-03-04 Atari Corporation Interactive game film
US5636036A (en) 1987-02-27 1997-06-03 Ashbey; James A. Interactive video system having frame recall dependent upon user input and current displayed image
US5734862A (en) 1994-05-31 1998-03-31 Kulas; Charles J. System for selectively buffering and displaying relevant frames from interleaving frames associated with respective animation sequences stored in a medium in response to user selection
EP1033157A2 (en) 1999-02-26 2000-09-06 Konami Co., Ltd. Music game system, game control method for the game system, and computer-readable memory medium
US6122668A (en) 1995-11-02 2000-09-19 Starlight Networks Synchronization of audio and video signals in a live multicast in a LAN
US6128712A (en) 1997-01-31 2000-10-03 Macromedia, Inc. Method and apparatus for improving playback of interactive multimedia works
WO2000059224A1 (en) 1999-03-29 2000-10-05 Qcom Tv, Inc. System and method for the near-real time capture and reporting of large population consumer behaviors concerning television use
US6191780B1 (en) 1998-03-25 2001-02-20 Arachnid, Inc. Customizable multimedia segment structures
US6222925B1 (en) 1995-08-31 2001-04-24 U.S. Philips Corporation Interactive entertainment content control
GB2359916A (en) 2000-02-29 2001-09-05 Sony Uk Ltd Media editing
US6298482B1 (en) 1997-11-12 2001-10-02 International Business Machines Corporation System for two-way digital multimedia broadcast and interactive services
DE10053720A1 (en) 2000-10-06 2002-04-18 Uhl Anna Renate Music recording method for CD player has each section of sung piece of music recorded on CD in 3 versions selected by CD player for providing new mix
US20020091455A1 (en) 2001-01-08 2002-07-11 Williams Thomas D. Method and apparatus for sound and music mixing on a network
US20020120456A1 (en) 2001-02-23 2002-08-29 Jakob Berg Method and arrangement for search and recording of media signals
US20020177914A1 (en) 1995-09-01 2002-11-28 Tim Chase Audio distribution and production system
US20030159566A1 (en) 2002-02-27 2003-08-28 Sater Neil D. System and method that facilitates customizing media
US20030183064A1 (en) 2002-03-28 2003-10-02 Shteyn Eugene Media player with "DJ" mode
US20030184598A1 (en) 1997-12-22 2003-10-02 Ricoh Company, Ltd. Television-based visualization and navigation interface
US20030221541A1 (en) 2002-05-30 2003-12-04 Platt John C. Auto playlist generation with multiple seed songs
US20040138948A1 (en) 2002-12-13 2004-07-15 Stephen Loomis Apparatus and method for skipping songs without delay
US20050055377A1 (en) 2003-09-04 2005-03-10 Dorey Richard J. User interface for composing multi-media presentations
US20050091597A1 (en) 2003-10-06 2005-04-28 Jonathan Ackley System and method of playback and feature control for video players
US20050102707A1 (en) 2003-11-07 2005-05-12 Myles Schnitman Digital interactive phrasing system and method
US20060028951A1 (en) 2004-08-03 2006-02-09 Ned Tozun Method of customizing audio tracks
US20060064733A1 (en) 2004-09-20 2006-03-23 Norton Jeffrey R Playing an audiovisual work with dynamic choosing
US20060150072A1 (en) 2005-01-05 2006-07-06 Salvucci Keith D Composite audio waveforms with precision alignment guides
US20060200842A1 (en) 2005-03-01 2006-09-07 Microsoft Corporation Picture-in-picture (PIP) alerts
US20060224260A1 (en) 2005-03-04 2006-10-05 Hicken Wendell T Scan shuffle for building playlists
GB2428329A (en) 2005-07-09 2007-01-24 Zootech Ltd Interactive switching between different versions of the same audiovisual event or production
US20070118801A1 (en) 2005-11-23 2007-05-24 Vizzme, Inc. Generation and playback of multimedia presentations
US20070157261A1 (en) 2005-12-15 2007-07-05 Ryan Steelberg Digital media management system and method
US20070162395A1 (en) 2003-01-02 2007-07-12 Yaacov Ben-Yaacov Media management and tracking
US20070239754A1 (en) 2003-11-07 2007-10-11 Schnitman Myles J Digital interactive phrasing system and method
WO2007138546A2 (en) 2006-06-01 2007-12-06 Thomas Leonard Single file rich media package portable across multiple devices
WO2008001350A2 (en) 2006-06-29 2008-01-03 Nathan Bajrach Method and system of providing a personalized performance
JP2008005288A (en) 2006-06-23 2008-01-10 Sony Corp Information processor, processing method and program, and program storage medium
US20080022320A1 (en) 2006-06-30 2008-01-24 Scientific-Atlanta, Inc. Systems and Methods of Synchronizing Media Streams
US20080021874A1 (en) 2006-07-18 2008-01-24 Dahl Austin D Searching for transient streaming multimedia resources
US20080031595A1 (en) 2006-08-07 2008-02-07 Lg Electronics Inc. Method of controlling receiver and receiver using the same
US20080086754A1 (en) 2006-09-14 2008-04-10 Sbc Knowledge Ventures, Lp Peer to peer media distribution system and method
US20080091721A1 (en) 2006-10-13 2008-04-17 Motorola, Inc. Method and system for generating a play tree for selecting and playing media content
US20080092159A1 (en) 2006-10-17 2008-04-17 Google Inc. Targeted video advertising
WO2008052009A2 (en) 2006-10-23 2008-05-02 Adobe Systems Incorporated Methods and apparatus for representing audio data
WO2008057444A2 (en) 2006-11-03 2008-05-15 Micronets, Inc. Movie advertising placement optimization and playback techniques and content tracking for movie segment bookmarks
US7379653B2 (en) 2002-02-20 2008-05-27 The Directv Group, Inc. Audio-video synchronization for digital systems
US20080148152A1 (en) 2006-12-15 2008-06-19 Yahoo! Inc. Systems and methods for providing a video playlist
US7444069B1 (en) 2003-06-12 2008-10-28 Mark Bernsley Method for creating and exhibiting multidimensional interactive stories
US20080276157A1 (en) 2007-05-01 2008-11-06 Kustka George J Universal multimedia engine and method for producing the same
US20080301750A1 (en) 2007-04-13 2008-12-04 Robert Denton Silfvast Networked antenna and transport system unit
US20080300967A1 (en) 2007-06-04 2008-12-04 David John Buckley Interactive Marketing, Product/Market Research, Contact Access and Usage Tracking for Wireless
US20080314232A1 (en) 2007-06-25 2008-12-25 Sony Ericsson Mobile Communications Ab System and method for automatically beat mixing a plurality of songs using an electronic equipment
US20090022015A1 (en) 2007-07-18 2009-01-22 Donald Harrison Media Playable with Selectable Performers
US20090024923A1 (en) 2007-07-18 2009-01-22 Gunthar Hartwig Embedded Video Player
US20090055880A1 (en) 2007-08-21 2009-02-26 Harold Batteram Method of distributing video-on-demand over an internet protocol network infrastructure
US20090063681A1 (en) 2007-08-30 2009-03-05 Kadangode Ramakrishnan Systems and methods for distributing video on demand
US20090116817A1 (en) 2007-11-05 2009-05-07 Samsung Electronics Co., Ltd. Image display apparatus and method of controlling the same
US20090199697A1 (en) 2007-06-29 2009-08-13 Nokia Corporation Systems, methods, devices, and computer program products for providing music recommendation trekking
US20090228572A1 (en) 2005-06-15 2009-09-10 Wayne Wall System and method for creating and tracking rich media communications
EP2104105A1 (en) 2008-03-20 2009-09-23 British Telecommunications Public Limited Company Digital audio and video clip encoding
WO2009137919A1 (en) 2008-05-12 2009-11-19 Xtranormal Technologie Inc. Video mix-down
US7627605B1 (en) 2005-07-15 2009-12-01 Sun Microsystems, Inc. Method and apparatus for generating media playlists by defining paths through media similarity space
US20090320075A1 (en) 2008-06-19 2009-12-24 Xm Satellite Radio Inc. Method and apparatus for multiplexing audio program channels from one or more received broadcast streams to provide a playlist style listening experience to users
US20100077290A1 (en) 2008-09-24 2010-03-25 Lluis Garcia Pueyo Time-tagged metainformation and content display method and system
US20100153512A1 (en) 2001-12-17 2010-06-17 Edward Balassanian Method and System for Synchronization of Content Rendering
US20100161792A1 (en) 2008-12-24 2010-06-24 Broadcom Corporation Alternate media identification/selection based upon rendered media meta-data
US20100167816A1 (en) 2002-12-10 2010-07-01 Perlman Stephen G System and Method for Multi-Stream Video Compression
US20100186579A1 (en) 2008-10-24 2010-07-29 Myles Schnitman Media system with playing component
US20100262336A1 (en) 2009-04-09 2010-10-14 Qualcomm Incorporated System and method for generating and rendering multimedia data including environmental metadata
US20100268361A1 (en) 2007-12-27 2010-10-21 Mantel G David Method and apparatus for multiplexing audio program channels from one or more received broadcast streams to provide a playlist style listening experience to users
US20100278509A1 (en) 2007-12-10 2010-11-04 Kae Nagano Electronic Apparatus, Reproduction Method, and Program
US20100287033A1 (en) 2009-05-08 2010-11-11 Comcast Interactive Media, Llc Social Network Based Recommendation Method and System
US20100287475A1 (en) 2009-05-06 2010-11-11 Van Zwol Roelof Content summary and segment creation
US20100293455A1 (en) 2009-05-12 2010-11-18 Bloch Jonathan System and method for assembling a recorded composition
US20100332404A1 (en) 2009-06-29 2010-12-30 David Valin Method and mechanism for protection, sharing, storage, accessing, authentication, certification, attachment and tracking anything in an electronic network
US20110010742A1 (en) 2009-07-10 2011-01-13 At&T Intellectual Property I, L.P. Enhanced network search
US20110026898A1 (en) 2009-07-31 2011-02-03 Paul Lussier Interface, Systems and Methods for Collaborative Editing of Content Including Video
US7917505B2 (en) 2005-08-01 2011-03-29 Seven Networks, Inc. Methods for publishing content
US20110096225A1 (en) 2006-06-13 2011-04-28 Sony Corporation Method and system for altering the presentation of broadcast content
US20110126106A1 (en) 2008-04-07 2011-05-26 Nitzan Ben Shaul System for generating an interactive or non-interactive branching movie segment by segment and methods useful in conjunction therewith
US20110131493A1 (en) 2009-11-27 2011-06-02 Kurt Dahl Method, system and computer program for distributing alternate versions of content
US20110138331A1 (en) 2009-12-04 2011-06-09 Nokia Corporation Method and apparatus for providing media content searching capabilities
US20110191684A1 (en) 2008-06-29 2011-08-04 TV1.com Holdings, LLC Method of Internet Video Access and Management
US20110197131A1 (en) 2009-10-21 2011-08-11 Mod Systems Incorporated Contextual chapter navigation
US20110200116A1 (en) 2010-02-17 2011-08-18 JBF Interlude 2009 LTD System and method for seamless multimedia assembly
US20110246885A1 (en) 2008-12-31 2011-10-06 Roger Pantos Real-time or near real-time streaming
US20110252320A1 (en) 2010-04-09 2011-10-13 Nokia Corporation Method and apparatus for generating a virtual interactive workspace
US20110264755A1 (en) 2008-10-08 2011-10-27 Salvatore De Villiers Jeremie System and method for the automated customization of audio and video media
US8065710B2 (en) 2006-03-02 2011-11-22 At& T Intellectual Property I, L.P. Apparatuses and methods for interactive communication concerning multimedia content
US20120005287A1 (en) 2008-11-16 2012-01-05 Landa Ventures Ltd Device, system and method for creating and transmitting multimedia messages
US20120094768A1 (en) 2010-10-14 2012-04-19 FlixMaster Web-based interactive game utilizing video components
US20120110620A1 (en) 2008-03-10 2012-05-03 Hulu Llc Method and apparatus for user selection of advertising combinations
US8190001B2 (en) 2003-06-12 2012-05-29 Mark Bernsley Method for creating and exhibiting multidimensional interactive stories
US20120198412A1 (en) 2005-04-19 2012-08-02 Oliver Creighton Software cinema
US20120308206A1 (en) 2007-10-07 2012-12-06 Fall Front Wireless Ny, Llc Digital network-based video tagging with tag filtering
US20130046847A1 (en) 2011-08-17 2013-02-21 At&T Intellectual Property I, L.P. Opportunistic Crowd-Based Service Platform
US20130054728A1 (en) 2011-08-22 2013-02-28 Oversi Networks Ltd. System and method for efficient caching and delivery of adaptive bitrate streaming
US20130055321A1 (en) * 2011-08-30 2013-02-28 Douglas Cline Inflight Entertainment System with Selectively Preloaded Seat End Video Caches
US20140040280A1 (en) 2007-08-13 2014-02-06 Yahoo! Inc. System and method for identifying similar media objects
US8650489B1 (en) 2007-04-20 2014-02-11 Adobe Systems Incorporated Event processing in a content editor
US20140129618A1 (en) 2012-11-08 2014-05-08 General Instrument Corporation Method of streaming multimedia data over a network
US9021537B2 (en) 2010-12-09 2015-04-28 Netflix, Inc. Pre-buffering audio streams

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1002689A (en) 1909-11-23 1911-09-05 American Paper Bottle Co Seam-clamp for paper tubes.
US11232458B2 (en) 2010-02-17 2022-01-25 JBF Interlude 2009 LTD System and method for data mining within interactive multimedia

Patent Citations (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5636036A (en) 1987-02-27 1997-06-03 Ashbey; James A. Interactive video system having frame recall dependent upon user input and current displayed image
US5734862A (en) 1994-05-31 1998-03-31 Kulas; Charles J. System for selectively buffering and displaying relevant frames from interleaving frames associated with respective animation sequences stored in a medium in response to user selection
US5568602A (en) 1994-10-28 1996-10-22 Rocket Science Games, Inc. Method and apparatus for game development using correlation of time sequences and digital video data
US5607356A (en) 1995-05-10 1997-03-04 Atari Corporation Interactive game film
US6222925B1 (en) 1995-08-31 2001-04-24 U.S. Philips Corporation Interactive entertainment content control
US20020177914A1 (en) 1995-09-01 2002-11-28 Tim Chase Audio distribution and production system
US6122668A (en) 1995-11-02 2000-09-19 Starlight Networks Synchronization of audio and video signals in a live multicast in a LAN
US6128712A (en) 1997-01-31 2000-10-03 Macromedia, Inc. Method and apparatus for improving playback of interactive multimedia works
US6298482B1 (en) 1997-11-12 2001-10-02 International Business Machines Corporation System for two-way digital multimedia broadcast and interactive services
US20030184598A1 (en) 1997-12-22 2003-10-02 Ricoh Company, Ltd. Television-based visualization and navigation interface
US6191780B1 (en) 1998-03-25 2001-02-20 Arachnid, Inc. Customizable multimedia segment structures
EP1033157A2 (en) 1999-02-26 2000-09-06 Konami Co., Ltd. Music game system, game control method for the game system, and computer-readable memory medium
WO2000059224A1 (en) 1999-03-29 2000-10-05 Qcom Tv, Inc. System and method for the near-real time capture and reporting of large population consumer behaviors concerning television use
GB2359916A (en) 2000-02-29 2001-09-05 Sony Uk Ltd Media editing
DE10053720A1 (en) 2000-10-06 2002-04-18 Uhl Anna Renate Music recording method for CD player has each section of sung piece of music recorded on CD in 3 versions selected by CD player for providing new mix
US20020091455A1 (en) 2001-01-08 2002-07-11 Williams Thomas D. Method and apparatus for sound and music mixing on a network
US20020120456A1 (en) 2001-02-23 2002-08-29 Jakob Berg Method and arrangement for search and recording of media signals
US20100153512A1 (en) 2001-12-17 2010-06-17 Edward Balassanian Method and System for Synchronization of Content Rendering
US7379653B2 (en) 2002-02-20 2008-05-27 The Directv Group, Inc. Audio-video synchronization for digital systems
US20030159566A1 (en) 2002-02-27 2003-08-28 Sater Neil D. System and method that facilitates customizing media
US20030183064A1 (en) 2002-03-28 2003-10-02 Shteyn Eugene Media player with "DJ" mode
US20030221541A1 (en) 2002-05-30 2003-12-04 Platt John C. Auto playlist generation with multiple seed songs
US20100167816A1 (en) 2002-12-10 2010-07-01 Perlman Stephen G System and Method for Multi-Stream Video Compression
US20040138948A1 (en) 2002-12-13 2004-07-15 Stephen Loomis Apparatus and method for skipping songs without delay
US20060155400A1 (en) 2002-12-13 2006-07-13 Stephen Loomis Apparatus and method for skipping songs without delay
US20070162395A1 (en) 2003-01-02 2007-07-12 Yaacov Ben-Yaacov Media management and tracking
US7444069B1 (en) 2003-06-12 2008-10-28 Mark Bernsley Method for creating and exhibiting multidimensional interactive stories
US8190001B2 (en) 2003-06-12 2012-05-29 Mark Bernsley Method for creating and exhibiting multidimensional interactive stories
US20050055377A1 (en) 2003-09-04 2005-03-10 Dorey Richard J. User interface for composing multi-media presentations
US20050091597A1 (en) 2003-10-06 2005-04-28 Jonathan Ackley System and method of playback and feature control for video players
US20050102707A1 (en) 2003-11-07 2005-05-12 Myles Schnitman Digital interactive phrasing system and method
US20070239754A1 (en) 2003-11-07 2007-10-11 Schnitman Myles J Digital interactive phrasing system and method
US20060028951A1 (en) 2004-08-03 2006-02-09 Ned Tozun Method of customizing audio tracks
US20060064733A1 (en) 2004-09-20 2006-03-23 Norton Jeffrey R Playing an audiovisual work with dynamic choosing
US20060150072A1 (en) 2005-01-05 2006-07-06 Salvucci Keith D Composite audio waveforms with precision alignment guides
US20060200842A1 (en) 2005-03-01 2006-09-07 Microsoft Corporation Picture-in-picture (PIP) alerts
US20060224260A1 (en) 2005-03-04 2006-10-05 Hicken Wendell T Scan shuffle for building playlists
US20120198412A1 (en) 2005-04-19 2012-08-02 Oliver Creighton Software cinema
US20090228572A1 (en) 2005-06-15 2009-09-10 Wayne Wall System and method for creating and tracking rich media communications
GB2428329A (en) 2005-07-09 2007-01-24 Zootech Ltd Interactive switching between different versions of the same audiovisual event or production
US7627605B1 (en) 2005-07-15 2009-12-01 Sun Microsystems, Inc. Method and apparatus for generating media playlists by defining paths through media similarity space
US7917505B2 (en) 2005-08-01 2011-03-29 Seven Networks, Inc. Methods for publishing content
WO2007062223A2 (en) 2005-11-23 2007-05-31 Vizzme, Inc. Generation and playback of multimedia presentations
US20070118801A1 (en) 2005-11-23 2007-05-24 Vizzme, Inc. Generation and playback of multimedia presentations
US20070157261A1 (en) 2005-12-15 2007-07-05 Ryan Steelberg Digital media management system and method
US8065710B2 (en) 2006-03-02 2011-11-22 At& T Intellectual Property I, L.P. Apparatuses and methods for interactive communication concerning multimedia content
WO2007138546A2 (en) 2006-06-01 2007-12-06 Thomas Leonard Single file rich media package portable across multiple devices
US20110096225A1 (en) 2006-06-13 2011-04-28 Sony Corporation Method and system for altering the presentation of broadcast content
JP2008005288A (en) 2006-06-23 2008-01-10 Sony Corp Information processor, processing method and program, and program storage medium
WO2008001350A2 (en) 2006-06-29 2008-01-03 Nathan Bajrach Method and system of providing a personalized performance
US20080022320A1 (en) 2006-06-30 2008-01-24 Scientific-Atlanta, Inc. Systems and Methods of Synchronizing Media Streams
US20080021874A1 (en) 2006-07-18 2008-01-24 Dahl Austin D Searching for transient streaming multimedia resources
US20080031595A1 (en) 2006-08-07 2008-02-07 Lg Electronics Inc. Method of controlling receiver and receiver using the same
US20080086754A1 (en) 2006-09-14 2008-04-10 Sbc Knowledge Ventures, Lp Peer to peer media distribution system and method
US20080091721A1 (en) 2006-10-13 2008-04-17 Motorola, Inc. Method and system for generating a play tree for selecting and playing media content
US20080092159A1 (en) 2006-10-17 2008-04-17 Google Inc. Targeted video advertising
WO2008052009A2 (en) 2006-10-23 2008-05-02 Adobe Systems Incorporated Methods and apparatus for representing audio data
WO2008057444A2 (en) 2006-11-03 2008-05-15 Micronets, Inc. Movie advertising placement optimization and playback techniques and content tracking for movie segment bookmarks
US20080148152A1 (en) 2006-12-15 2008-06-19 Yahoo! Inc. Systems and methods for providing a video playlist
US20080301750A1 (en) 2007-04-13 2008-12-04 Robert Denton Silfvast Networked antenna and transport system unit
US8650489B1 (en) 2007-04-20 2014-02-11 Adobe Systems Incorporated Event processing in a content editor
US20080276157A1 (en) 2007-05-01 2008-11-06 Kustka George J Universal multimedia engine and method for producing the same
US20080300967A1 (en) 2007-06-04 2008-12-04 David John Buckley Interactive Marketing, Product/Market Research, Contact Access and Usage Tracking for Wireless
US20080314232A1 (en) 2007-06-25 2008-12-25 Sony Ericsson Mobile Communications Ab System and method for automatically beat mixing a plurality of songs using an electronic equipment
US20090199697A1 (en) 2007-06-29 2009-08-13 Nokia Corporation Systems, methods, devices, and computer program products for providing music recommendation trekking
US20090022015A1 (en) 2007-07-18 2009-01-22 Donald Harrison Media Playable with Selectable Performers
US20090024923A1 (en) 2007-07-18 2009-01-22 Gunthar Hartwig Embedded Video Player
US20140040280A1 (en) 2007-08-13 2014-02-06 Yahoo! Inc. System and method for identifying similar media objects
US20090055880A1 (en) 2007-08-21 2009-02-26 Harold Batteram Method of distributing video-on-demand over an internet protocol network infrastructure
US20090063681A1 (en) 2007-08-30 2009-03-05 Kadangode Ramakrishnan Systems and methods for distributing video on demand
US20120308206A1 (en) 2007-10-07 2012-12-06 Fall Front Wireless Ny, Llc Digital network-based video tagging with tag filtering
US20090116817A1 (en) 2007-11-05 2009-05-07 Samsung Electronics Co., Ltd. Image display apparatus and method of controlling the same
US20100278509A1 (en) 2007-12-10 2010-11-04 Kae Nagano Electronic Apparatus, Reproduction Method, and Program
US20100268361A1 (en) 2007-12-27 2010-10-21 Mantel G David Method and apparatus for multiplexing audio program channels from one or more received broadcast streams to provide a playlist style listening experience to users
US20120110620A1 (en) 2008-03-10 2012-05-03 Hulu Llc Method and apparatus for user selection of advertising combinations
US20110007797A1 (en) 2008-03-20 2011-01-13 Randall-Reilly Publishing Company, Llc Digital Audio and Video Clip Encoding
EP2104105A1 (en) 2008-03-20 2009-09-23 British Telecommunications Public Limited Company Digital audio and video clip encoding
US20110126106A1 (en) 2008-04-07 2011-05-26 Nitzan Ben Shaul System for generating an interactive or non-interactive branching movie segment by segment and methods useful in conjunction therewith
WO2009137919A1 (en) 2008-05-12 2009-11-19 Xtranormal Technologie Inc. Video mix-down
US20090320075A1 (en) 2008-06-19 2009-12-24 Xm Satellite Radio Inc. Method and apparatus for multiplexing audio program channels from one or more received broadcast streams to provide a playlist style listening experience to users
US20110191684A1 (en) 2008-06-29 2011-08-04 TV1.com Holdings, LLC Method of Internet Video Access and Management
US20100077290A1 (en) 2008-09-24 2010-03-25 Lluis Garcia Pueyo Time-tagged metainformation and content display method and system
US20110264755A1 (en) 2008-10-08 2011-10-27 Salvatore De Villiers Jeremie System and method for the automated customization of audio and video media
US20100186579A1 (en) 2008-10-24 2010-07-29 Myles Schnitman Media system with playing component
US20120005287A1 (en) 2008-11-16 2012-01-05 Landa Ventures Ltd Device, system and method for creating and transmitting multimedia messages
US20100161792A1 (en) 2008-12-24 2010-06-24 Broadcom Corporation Alternate media identification/selection based upon rendered media meta-data
US20110246885A1 (en) 2008-12-31 2011-10-06 Roger Pantos Real-time or near real-time streaming
US20100262336A1 (en) 2009-04-09 2010-10-14 Qualcomm Incorporated System and method for generating and rendering multimedia data including environmental metadata
US20100287475A1 (en) 2009-05-06 2010-11-11 Van Zwol Roelof Content summary and segment creation
US20100287033A1 (en) 2009-05-08 2010-11-11 Comcast Interactive Media, Llc Social Network Based Recommendation Method and System
US20100293455A1 (en) 2009-05-12 2010-11-18 Bloch Jonathan System and method for assembling a recorded composition
US20100332404A1 (en) 2009-06-29 2010-12-30 David Valin Method and mechanism for protection, sharing, storage, accessing, authentication, certification, attachment and tracking anything in an electronic network
US20110010742A1 (en) 2009-07-10 2011-01-13 At&T Intellectual Property I, L.P. Enhanced network search
US20110026898A1 (en) 2009-07-31 2011-02-03 Paul Lussier Interface, Systems and Methods for Collaborative Editing of Content Including Video
US20110197131A1 (en) 2009-10-21 2011-08-11 Mod Systems Incorporated Contextual chapter navigation
US20110131493A1 (en) 2009-11-27 2011-06-02 Kurt Dahl Method, system and computer program for distributing alternate versions of content
US20110138331A1 (en) 2009-12-04 2011-06-09 Nokia Corporation Method and apparatus for providing media content searching capabilities
US20110200116A1 (en) 2010-02-17 2011-08-18 JBF Interlude 2009 LTD System and method for seamless multimedia assembly
US20110252320A1 (en) 2010-04-09 2011-10-13 Nokia Corporation Method and apparatus for generating a virtual interactive workspace
US20120094768A1 (en) 2010-10-14 2012-04-19 FlixMaster Web-based interactive game utilizing video components
US9021537B2 (en) 2010-12-09 2015-04-28 Netflix, Inc. Pre-buffering audio streams
US20130046847A1 (en) 2011-08-17 2013-02-21 At&T Intellectual Property I, L.P. Opportunistic Crowd-Based Service Platform
US20130054728A1 (en) 2011-08-22 2013-02-28 Oversi Networks Ltd. System and method for efficient caching and delivery of adaptive bitrate streaming
US20130055321A1 (en) * 2011-08-30 2013-02-28 Douglas Cline Inflight Entertainment System with Selectively Preloaded Seat End Video Caches
US20140129618A1 (en) 2012-11-08 2014-05-08 General Instrument Corporation Method of streaming multimedia data over a network

Non-Patent Citations (15)

* Cited by examiner, † Cited by third party
Title
An ffmpeg and SDL Tutorial, "Tutorial 05: Synching Video," Retrieved from internet on Mar. 15, 2013: , (4 pages).
An ffmpeg and SDL Tutorial, "Tutorial 05: Synching Video," Retrieved from internet on Mar. 15, 2013: <http://dranqer.com/ffmpeg/tutorial05.html>, (4 pages).
Archos Gen 5 English User Manual Version 3.0, Jul. 26, 2007, pp. 1-81.
Barlett, Mitch, "iTunes 11: How to Queue Next Song," Technipages, Oct. 6, 2008, pp. 1-8, retrieved on Dec. 26, 2013 from the internet http://www.technipages.com/itunes-queue-next-song.html.
Gregor Miller et al. "MiniDiver: A Novel Mobile Media Playback Interface for Rich Video Content on an iPhoneTM", Entertainment Computing a ICEC 2009, Sep. 3, 2009, pp. 98-109.
International Search Report and Writton Opinion for International Application PCT/IB2013/001000 mailed Jul. 31, 2013, 12 pages.
International Search Report for International Patent Application PCT/IL2010/000362 dated Aug. 25, 2010 (2 pages).
International Search Report for International Patent Application PCT/IL2012/000080 dated Aug. 9, 2012 (4 pages).
International Search Report for International Patent Application PCT/IL2012/000081 dated Jun. 28, 2012 (4 pages).
Labs.byHook: "Ogg Vorbis Encoder for Flash: Alchemy Series Part 1," [Online] Internet Article, Retrieved on Jun. 14, 2012 from the Internet: URL:http://labs.byhook.com/2011/02/15/ogg-vorbis-encoder-for-flash-alchemy-series-part-1/, 2011, (pp. 1-8).
Sodagar, I., (2011) "The MPEG-DASH Standard for Multimedia Streaming Over the Internet", IEEE Multimedia, IEEE Service Center, New York, NY, US, vol. 18, No. 4, pp. 62-67.
Supplemental European Search Report for EP10774637.2 (PCT/IL2010/000362) mailed Jun. 20, 2012 (6 pages).
Supplemental European Search Report for EP13184145 dated Jan. 30, 2014 (6 pages).
Yang, H, et al., "Time Stamp Synchronization in Video Systems," Teletronics Technology Corporation, , Abstract, (8 pages).
Yang, H, et al., "Time Stamp Synchronization in Video Systems," Teletronics Technology Corporation, <http://www.ttcdas.com/products/daus encoders/pdf/ tech papers/tp 2010 time stamp video system.pdf>, Abstract, (8 pages).

Cited By (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11314936B2 (en) 2009-05-12 2022-04-26 JBF Interlude 2009 LTD System and method for assembling a recorded composition
US11232458B2 (en) 2010-02-17 2022-01-25 JBF Interlude 2009 LTD System and method for data mining within interactive multimedia
US9607655B2 (en) 2010-02-17 2017-03-28 JBF Interlude 2009 LTD System and method for seamless multimedia assembly
US10474334B2 (en) 2012-09-19 2019-11-12 JBF Interlude 2009 LTD Progress bar for branched videos
US10418066B2 (en) 2013-03-15 2019-09-17 JBF Interlude 2009 LTD System and method for synchronization of selectably presentable media streams
US9832516B2 (en) 2013-06-19 2017-11-28 JBF Interlude 2009 LTD Systems and methods for multiple device interaction with selectably presentable media streams
US10448119B2 (en) 2013-08-30 2019-10-15 JBF Interlude 2009 LTD Methods and systems for unfolding video pre-roll
US9530454B2 (en) 2013-10-10 2016-12-27 JBF Interlude 2009 LTD Systems and methods for real-time pixel switching
US9520155B2 (en) 2013-12-24 2016-12-13 JBF Interlude 2009 LTD Methods and systems for seeking to non-key frames
US9641898B2 (en) 2013-12-24 2017-05-02 JBF Interlude 2009 LTD Methods and systems for in-video library
US9792026B2 (en) 2014-04-10 2017-10-17 JBF Interlude 2009 LTD Dynamic timeline for branched video
US11501802B2 (en) 2014-04-10 2022-11-15 JBF Interlude 2009 LTD Systems and methods for creating linear video from branched video
US9653115B2 (en) 2014-04-10 2017-05-16 JBF Interlude 2009 LTD Systems and methods for creating linear video from branched video
US10755747B2 (en) 2014-04-10 2020-08-25 JBF Interlude 2009 LTD Systems and methods for creating linear video from branched video
US9792957B2 (en) 2014-10-08 2017-10-17 JBF Interlude 2009 LTD Systems and methods for dynamic video bookmarking
US11900968B2 (en) 2014-10-08 2024-02-13 JBF Interlude 2009 LTD Systems and methods for dynamic video bookmarking
US10692540B2 (en) 2014-10-08 2020-06-23 JBF Interlude 2009 LTD Systems and methods for dynamic video bookmarking
US11348618B2 (en) 2014-10-08 2022-05-31 JBF Interlude 2009 LTD Systems and methods for dynamic video bookmarking
US10885944B2 (en) 2014-10-08 2021-01-05 JBF Interlude 2009 LTD Systems and methods for dynamic video bookmarking
US11412276B2 (en) 2014-10-10 2022-08-09 JBF Interlude 2009 LTD Systems and methods for parallel track transitions
US9672868B2 (en) 2015-04-30 2017-06-06 JBF Interlude 2009 LTD Systems and methods for seamless media creation
US10582265B2 (en) 2015-04-30 2020-03-03 JBF Interlude 2009 LTD Systems and methods for nonlinear video playback using linear real-time video players
US11804249B2 (en) 2015-08-26 2023-10-31 JBF Interlude 2009 LTD Systems and methods for adaptive and responsive video
US10460765B2 (en) 2015-08-26 2019-10-29 JBF Interlude 2009 LTD Systems and methods for adaptive and responsive video
US11128853B2 (en) 2015-12-22 2021-09-21 JBF Interlude 2009 LTD Seamless transitions in large-scale video
US11164548B2 (en) 2015-12-22 2021-11-02 JBF Interlude 2009 LTD Intelligent buffering of large-scale video
US10462202B2 (en) 2016-03-30 2019-10-29 JBF Interlude 2009 LTD Media stream rate synchronization
US11856271B2 (en) 2016-04-12 2023-12-26 JBF Interlude 2009 LTD Symbiotic interactive video
US10218760B2 (en) 2016-06-22 2019-02-26 JBF Interlude 2009 LTD Dynamic summary generation for real-time switchable videos
US11050809B2 (en) 2016-12-30 2021-06-29 JBF Interlude 2009 LTD Systems and methods for dynamic weighting of branched video paths
US11553024B2 (en) 2016-12-30 2023-01-10 JBF Interlude 2009 LTD Systems and methods for dynamic weighting of branched video paths
US10257578B1 (en) 2018-01-05 2019-04-09 JBF Interlude 2009 LTD Dynamic library display for interactive videos
US11528534B2 (en) 2018-01-05 2022-12-13 JBF Interlude 2009 LTD Dynamic library display for interactive videos
US10856049B2 (en) 2018-01-05 2020-12-01 Jbf Interlude 2009 Ltd. Dynamic library display for interactive videos
CN110545480A (en) * 2018-05-29 2019-12-06 北京字节跳动网络技术有限公司 Preloading control method and device of media file and storage medium
US11601721B2 (en) 2018-06-04 2023-03-07 JBF Interlude 2009 LTD Interactive video dynamic adaptation and user profiling
US11563915B2 (en) 2019-03-11 2023-01-24 JBF Interlude 2009 LTD Media content presentation
US11490047B2 (en) 2019-10-02 2022-11-01 JBF Interlude 2009 LTD Systems and methods for dynamically adjusting video aspect ratios
CN110719523A (en) * 2019-10-22 2020-01-21 深圳墨世科技有限公司 Video preloading method and device, computer equipment and storage medium
US11245961B2 (en) 2020-02-18 2022-02-08 JBF Interlude 2009 LTD System and methods for detecting anomalous activities for interactive videos
US11882337B2 (en) 2021-05-28 2024-01-23 JBF Interlude 2009 LTD Automated platform for generating interactive videos
US11934477B2 (en) 2021-09-24 2024-03-19 JBF Interlude 2009 LTD Video player integration within websites

Also Published As

Publication number Publication date
US8600220B2 (en) 2013-12-03
US20140178051A1 (en) 2014-06-26
US20130259442A1 (en) 2013-10-03
WO2013150378A1 (en) 2013-10-10

Similar Documents

Publication Publication Date Title
US9271015B2 (en) Systems and methods for loading more than one video content at a time
US11164220B2 (en) Information processing method, server, and computer storage medium
CN108391179B (en) Live broadcast data processing method and device, server, terminal and storage medium
JP5730884B2 (en) Cloud-based media player and offline media access
US9282381B2 (en) Media playback control
US10198152B2 (en) Systems and methods for providing and updating live-streaming online content in an interactive web platform
US9066159B2 (en) User control of ad selection for subsequent ad break of a video
CN102845072B (en) The media content playback quality improved
US20180255359A1 (en) Method for sharing a captured video clip and electronic device
US20150067733A1 (en) Interactive Ticker
US11899907B2 (en) Method, apparatus and device for displaying followed user information, and storage medium
US20150026715A1 (en) In-stream video advertising using a user-choice-based ad unit
US20130067052A1 (en) User adaptive http stream manager and method for using same
US8799968B2 (en) Method and apparatus for tracking user location within video or audio content streamed to a mobile handset
US20220174346A1 (en) Video playing method and apparatus
US20170171278A1 (en) Method and electronic device for continuously playing video
US20190191228A1 (en) Systems and Methods for Inserting Breakpoints and Reference Links into a Media File
US11863832B2 (en) Start-up performance improvement for remote computer application
EP2903260A1 (en) Multi-speed playing method, device and system
CN113424553A (en) Techniques for facilitating playback of interactive media items in response to user selections
KR102578024B1 (en) Advertisement display method, advertisement display device, and advertisement display program
WO2020155960A1 (en) Video playback method and system, computer device, and computer readable storage medium
CN107205177A (en) Video broadcasting method and device
US20160197974A1 (en) Cloud streaming service system, and method and apparatus for providing cloud streaming service
US20230412723A1 (en) Method and apparatus for generating imagery record, electronic device, and storage medium

Legal Events

Date Code Title Description
AS Assignment

Owner name: JBF INTERLUDE 2009 LTD., ISRAEL

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BLOCH, JONATHAN;FELDMAN, BARAK;ZUBALSKY, TAL;AND OTHERS;REEL/FRAME:031544/0311

Effective date: 20120410

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2551); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

Year of fee payment: 4

AS Assignment

Owner name: JBF INTERLUDE 2009 LTD, ISRAEL

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE CORRECT ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 031544 FRAME: 0311. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNORS:BLOCH, JONATHAN;FELDMAN, BARAK;ZUBALSKY, TAL;AND OTHERS;REEL/FRAME:052748/0775

Effective date: 20120410

IPR Aia trial proceeding filed before the patent and appeal board: inter partes review

Free format text: TRIAL NO: IPR2020-01663

Opponent name: QUIBI HOLDINGS, LLC AND WNDRCO HOLDINGS, LLC

Effective date: 20200921

Free format text: TRIAL NO: IPR2020-01662

Opponent name: QUIBI HOLDINGS, LLC AND WNDRCO HOLDINGS, LLC

Effective date: 20200921

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2552); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

Year of fee payment: 8