Media timeline
First Claim
Patent Images
1. A method comprising:
- receiving a request, from an application at an application programming interface (API), to interact with a plurality of media comprising streaming media; and
generating an original media timeline based on the request, wherein the original media timeline;
is exposed to the application via the API;
includes a plurality of nodes;
defines a presentation, to be output via one or more computers, of a first media referenced by a first node with respect to a second media referenced by a second node, wherein;
the first and second nodes are configured as parallel nodes such that the media referenced by the first node that is a child of a parent node is rendered concurrently with the media referenced by the second node that is a child of the same parent node;
the original media timeline is configured for dynamic creation, automatically by the one or more computers without human user interaction, such that at least one node is dynamically created while at least one of the media referenced by the plurality of nodes of the original media timeline is being rendered; and
at least one node includes metadata, the metadata describing;
rendering of the at least one node; and
a collection of additional nodes to be dynamically modified when the original media timeline is rendered; and
specifies, automatically by the one or more computers without human user interaction, delayed creation of one or more of the plurality of nodes when the media timeline is rendered, wherein the delayed creation includes creating the one or more of the plurality of nodes when called by the application.
2 Assignments
0 Petitions
Accused Products
Abstract
A media timeline is described. In an implementation, a method includes receiving a request from an application at an application programming interface (API) to interact with a plurality of media. Based on the request, a media timeline is generated. The media timeline is for exposure via the API to the application and includes a plurality of nodes. The media timeline defines a presentation of a first media referenced by a first node with respect to a second media referenced by a second node.
-
Citations
78 Claims
-
1. A method comprising:
-
receiving a request, from an application at an application programming interface (API), to interact with a plurality of media comprising streaming media; and generating an original media timeline based on the request, wherein the original media timeline; is exposed to the application via the API; includes a plurality of nodes; defines a presentation, to be output via one or more computers, of a first media referenced by a first node with respect to a second media referenced by a second node, wherein; the first and second nodes are configured as parallel nodes such that the media referenced by the first node that is a child of a parent node is rendered concurrently with the media referenced by the second node that is a child of the same parent node; the original media timeline is configured for dynamic creation, automatically by the one or more computers without human user interaction, such that at least one node is dynamically created while at least one of the media referenced by the plurality of nodes of the original media timeline is being rendered; and at least one node includes metadata, the metadata describing; rendering of the at least one node; and a collection of additional nodes to be dynamically modified when the original media timeline is rendered; and specifies, automatically by the one or more computers without human user interaction, delayed creation of one or more of the plurality of nodes when the media timeline is rendered, wherein the delayed creation includes creating the one or more of the plurality of nodes when called by the application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method comprising:
-
generating a media timeline by an application, wherein the media timeline; includes a plurality of nodes referencing media comprising streaming media; defines a presentation of a first media referenced by a first node with respect to a second media referenced by a second node, the presentation being configured to be output by one or more computers; specifies, automatically by the application executing on the one or more computers without human user interaction, that one or more of the plurality of nodes is created in a delayed manner in response to being called by one or more applications while the media timeline is being rendered; and is configured, automatically by the application executing on the one or more computers without human user interaction, for dynamic creation such that at least a first node grouping is created while media referenced by a second node grouping in the media timeline is being rendered; and passing the media timeline to a timeline source for rendering. - View Dependent Claims (16, 17, 18, 19, 20)
-
-
21. A method for outputting a media presentation via one or more computers comprising:
-
specifying an effect to be applied to one or more of a plurality of media comprising streaming media when the media is rendered; and generating a media timeline configured for exposure via an application programming interface (API), wherein; the media timeline includes a plurality of nodes; two or more of the plurality of nodes reference respective media; one or more of the plurality of nodes that reference the one or more of the plurality of media include metadata that controls the effect to be applied to the one or more of the plurality of media when the media is rendered; the media timeline specifies, automatically by the one or more computers without human user interaction, delaying creation of one or more of the plurality of nodes when the media timeline is rendered, wherein delaying the creation includes at least one of the one or more computers automatically creating the one or more of the plurality of nodes when called by one or more applications; the media timeline being configured for dynamic creation, automatically by the one or more computers without human user interaction, such that at least one node of the plurality of nodes is created while the media timeline is rendered; and at least one node of the plurality of nodes includes metadata, the metadata describing; rendering of the at least one node of the plurality of nodes; and a collection of additional nodes of the plurality of nodes to be dynamically modified when the at least one node of the plurality of nodes is rendered. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. In a media timeline exposed via an application programming interface and having a plurality of nodes, a method comprising:
-
rendering a first media item of a plurality of media items, at least one of the plurality of media items comprising a streaming media item, the first media item being referenced by a first node of a first node type of a plurality of node types, the plurality of node types comprising a sequence node type that includes metadata describing a rendering order of a plurality of leaf nodes to the sequence node; receiving a call for a second node that references a second media item; dynamically creating automatically, without user intervention, the second node of a second node type of the plurality of node types, while rendering the first media item; wherein the media timeline is configured for automatic dynamic updating, automatically by the one or more computers without human user interaction, such that metadata included in at least one node specifies a collection of nodes to be modified when the at least one node is loaded; and delaying, automatically by the one or more computers without human user interaction, creation of one or more of the collection of nodes when the media timeline is rendered, wherein the delayed creation includes a computer automatically creating the one or more of the collection of nodes when called by one or more applications. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38)
-
-
39. In a media timeline exposed via an application programming interface, the media timeline having a plurality of nodes, at least two of which reference respective media, one or more nodes each having metadata that references a node grouping, a method comprising:
-
utilizing a computer to load a first node for rendering, wherein the first node is selected from a plurality of node types, the plurality of node types comprising a parallel node type that includes metadata specifying a plurality of leaf nodes that are rendered simultaneously; examining metadata associated with the first node to determine a first node grouping to be loaded in conjunction with the first node; loading each node referenced by the first node grouping; rendering the first node grouping; examining at least one second node in the first node grouping to determine a second node grouping, wherein the examining the at least one second node in the first node grouping is performed during the rendering of the first node grouping; loading each node referenced by the second node grouping; and rendering the second node grouping when the rendering of the first node grouping is completed, wherein; the media timeline is configured for dynamic creation, automatically by the one or more computers without human user interaction, where at least a third node is specified automatically by the computer without human user interaction for delayed creation while the media timeline is being rendered, the dynamic creation of the third node being performed by a node source that includes data that defines properties and interrelationships of the created third node with respect to one or more nodes in the first node grouping or one or more nodes in the second node grouping; and at least a fourth node is configured for communication of an initiated event to another a fifth node which has subscribed to receive events initiated by the fourth node, such that a change may be is made to one or more nodes in the media timeline that are affected by the initiated event while the media timeline is being rendered, wherein the plurality of one or more nodes of the media timeline that are affected by the initiated event change are automatically dynamically updated. - View Dependent Claims (40, 41, 42, 43, 44, 45)
-
-
46. A method comprising:
-
exposing a media timeline via an application programming interface (API), the media timeline having a plurality of nodes, two or more nodes each referencing respective media at least one of which comprises streaming media, and wherein the media timeline is configured for dynamic creation, automatically by the one or more computers without human user interaction, such that metadata included in at least one node specifies a collection of nodes to be loaded when the media timeline is rendered; rendering a first node to output a referenced first said media; during the rendering of the first node, the API dynamically changing one or more properties of a second node; initiating, by an event generator located on the second node, an event for communication to a parent node of the second node, wherein the event describes the changing; and delaying, automatically by the one or more computers without human user interaction, creation of one or more of the plurality of nodes when the media timeline is exposed, wherein the delayed creation includes creating the one or more of the plurality of nodes when called by one or more applications. - View Dependent Claims (47, 48, 49, 50, 51, 52, 53, 54)
-
-
55. An application programming interface stored on a computer storage device, which when interfaced with a computer, exposes a media timeline to one or more independent applications, the application programming interface comprising:
-
the media timeline, automatically by the computer without human user interaction, delaying creation of one or more of a plurality of nodes when the media timeline is rendered, wherein the delayed creation includes the computer creating the one or more of the plurality of nodes when called by one or more applications; the media timeline comprising the plurality of nodes callable by the one or more applications, wherein; each node includes metadata that describes the node, the metadata comprising a source object property that specifies a source object which can resolve to a media source that provides the media referenced by the node; the one or more of the plurality of nodes reference a corresponding media item comprising a streaming media item; the plurality of nodes are arranged in a tree structure; and the arrangement of the plurality of nodes, one to another, describes an order for rendering the plurality of nodes, wherein the media timeline is configured for dynamic creation, automatically by the computer without human user interaction, such that at least one node is created while the media timeline is rendered and at least one node is dynamically updated in response to the at least one node being created. - View Dependent Claims (56, 57, 58, 59, 60, 61)
-
-
62. An application programming interface stored on a computer storage device, that when accessed by a computer facilitates acts comprising:
exposing, automatically by the computer without human user interaction, a media timeline to one or more independent applications, the media timeline comprising a plurality of nodes callable by one application, wherein; two or more of the nodes reference respective media, one of which comprises streaming media; at least one of the nodes specifies, automatically by the computer without human user interaction, delayed creation of one of the plurality of nodes as a delayed node when the media timeline is rendered, wherein the delayed creation includes creating the delayed node when called by one or more applications; the plurality of nodes are arranged in a hierarchy to include a parent node and a child node; and the child node is configured for initiating an event for communication to the parent node, wherein the event; is configured such that a change may be made to one or more properties of the child node while the media timeline is rendered; and describes the change such that additional nodes associated with the child node are dynamically created, automatically by the computer without human user interaction, in accordance with the communicated event. - View Dependent Claims (63, 64, 65, 66, 67, 68, 69)
-
70. An application programming interface stored on a memory of a computer that, when interacted with by an application facilitates actions comprising:
-
exposing a media timeline comprising two or more nodes to the application; and enabling the application to call any of the two or more nodes, wherein each of the two or more nodes; references corresponding media, at least one of the corresponding media comprising streaming media while another of the corresponding media does not include streaming media; includes metadata describing one or more properties for rendering the corresponding media; and includes metadata specifying the node as read-only; and configuring, automatically by the computer without human user interaction, the media timeline for dynamic creation such that at least one of the two or more nodes is created while the media timeline is being rendered; and specifying, automatically by the computer without human user interaction, delayed creation of one of the two or more nodes as a delayed node when the media timeline is rendered, wherein the delayed creation includes creating the delayed node when called by one or more applications.
-
-
71. A system comprising:
-
a plurality of media comprising streaming media; a plurality of applications; and an infrastructure layer that; provides an application programming interface (API) for interaction by the plurality of applications with the plurality of media when any application is executed; and exposes a media timeline, callable by the plurality of applications via the API upon an execution thereof, and that defines a presentation of the plurality of media, wherein the media timeline; includes a plurality of nodes that each reference respective media; is configured to specify, automatically by a computer without human user interaction, delayed creation such that at least one node is not created until called by one or more of the plurality of applications; is configured for dynamic creation, automatically by the computer without human user interaction, such that at least one node is created while the media timeline is rendered; and is configured for dynamic loading such that metadata included in the at least one node created specifies a collection of nodes to be loaded when the media timeline is rendered. - View Dependent Claims (72, 73, 74, 75)
-
-
76. A computer comprising:
-
a processor; and memory configured to maintain; a plurality of media; a plurality of applications, wherein each application is configured to request at least one of editing, encoding, and rendering of the plurality of media; an infrastructure layer configured to; provide an application programming interface (API) for interaction by the plurality of applications with the plurality of media; and expose a media timeline, callable by the plurality of applications via the API, which includes a plurality of nodes that define a presentation of the plurality of media, wherein the media timeline specifies; dynamic creation such that at least one of the plurality of nodes is created while the media timeline is being rendered automatically by the computer without human user interaction; delayed creation of one or more nodes when the media timeline is rendered, wherein the delayed creation comprises creating the one or more nodes, automatically by the computer without human user interaction, when called by one or more applications; and metadata that is utilized by the plurality of applications, wherein the metadata describes;
initiating rendering of the plurality of nodes is to be initiated;
properties and interrelationships of the plurality of nodes;
node types of the plurality of nodes; and
dynamic changes to the media timeline such that a group of nodes affected by a modification to an associated node are automatically updated in accordance with the modification as specified in the properties and interrelationships of the plurality of nodes;at least one node that is configured for communication of events to another node such that a change may be made to the media timeline while the media timeline is being rendered; and at least one node that is a parallel node that provides simultaneous rendering of at least two child nodes the child nodes including respective metadata and having respective pointers to respective media. - View Dependent Claims (77, 78)
-
Specification