WO2009045189A1 - Method and system for facilitating track-based server-side streaming playlist functionality - Google Patents

Method and system for facilitating track-based server-side streaming playlist functionality Download PDF

Info

Publication number
WO2009045189A1
WO2009045189A1 PCT/US2007/021203 US2007021203W WO2009045189A1 WO 2009045189 A1 WO2009045189 A1 WO 2009045189A1 US 2007021203 W US2007021203 W US 2007021203W WO 2009045189 A1 WO2009045189 A1 WO 2009045189A1
Authority
WO
WIPO (PCT)
Prior art keywords
media element
track
streaming
media
source corresponding
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.)
Ceased
Application number
PCT/US2007/021203
Other languages
French (fr)
Inventor
Michael Joseph Severa
David Kosiba
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.)
Alcatel Lucent SAS
Original Assignee
Alcatel Lucent SAS
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
Application filed by Alcatel Lucent SAS filed Critical Alcatel Lucent SAS
Priority to PCT/US2007/021203 priority Critical patent/WO2009045189A1/en
Publication of WO2009045189A1 publication Critical patent/WO2009045189A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • 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/482End-user interface for programme selection
    • H04N21/4825End-user interface for programme selection using a list of items to be played back in a given order, e.g. playlists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application

Definitions

  • the disclosures made herein relate generally to methods and systems for facilitating server- side streaming of playlist content and, more particularly, to methods and systems for allowing audio and video from separate sources to be concurrently streamed in a single playlist streaming session.
  • multimedia data e.g., audio, full-motion video, pictures, etc.
  • client device requesting the downloading of the multimedia data from a server. Once downloaded, the client can then consume, or present, the information.
  • This model is relatively easy to implement. However, it is non-optimal in that the client is required to wait for the downloading to complete before the presentation can begin. This delay can be considerable where large blocks of multimedia data are involved.
  • a more sophisticated model of producing information involves a content server at one network site "streaming" the multimedia information over the network to a client at another site.
  • Streaming is a process in which packets, sent over an Internet Protocol (IP)-based network, are used to present digital multimedia content continuously to a recipient client as it arrives in substantially real time as perceived by the user.
  • IP Internet Protocol
  • the client does not have to download and store a large file before displaying the digital multimedia content.
  • the client begins to present the digital multimedia content as it arrives (i.e., just-in-time rendering), rather than waiting for the entire data set to arrive before beginning presentation.
  • received data is buffered into a cache memory and continuously processed as soon as, or soon after, being received by the client for real time presentation of multimedia content.
  • Most streaming sessions include either live or video-on-demand (VOD) sources, and are typically associated with a single content source (i.e., a single VOD file or a single live source, e.g., a video camera).
  • VOD video-on-demand
  • a single content source i.e., a single VOD file or a single live source, e.g., a video camera.
  • multimedia streaming e.g., a first source for video content and a second source for audio content.
  • a "playlist” in its simplest form is a list of media that can be used to manage playback of local content (i.e., audio files) or to control the streaming media sessions.
  • playlists provide an extensible, dynamic method for delivering customizable audio and video content to users via streaming.
  • a playlist represents a list of the content items that a server can stream to a client, which can include a mixture of program content and advertisements (ads), for example.
  • a playlist can be used to play several short clips or to provide a user with long blocks of programming.
  • client-side playlists In a client-server streaming architecture, two types of playlists can be provided: client-side playlists and server-side playlists.
  • the main difference between the two types of playlists is that when the client-side playlists are used, a client player application has control of the streaming experience, whereas when server-side playlists are used, a streaming server has control of the streaming experience.
  • Server-side playlists provide the ability for the streaming server to combine streams from multiple sources (in sequence) and stream to a client in a single session.
  • the client need not (and may not even) be aware that there are multiple media sources. This is useful for providing ad insertion capability, or for applications where uninterrupted streaming (from multiple sources) is desired (i.e., where the client doesn't have to explicitly request streaming from each new source).
  • Prior art (i.e., known) server side playlist streaming functionality exhibit limitations associated with allowing audio and video content from separate (e.g., multiple audio content sources and multiple video content sources) to be mixed in a single playlist streaming session without having to merge the content into a single media file or single live source ahead of a time at which such content is streamed.
  • One such prior art solution to this problem is to create content in which video is imported from one or more sources and audio is imported from one or more other sources, and saving the resulting content as a single, audio-video (a/v) media file, which is then use that in the context of a playlist session. This resulting content file can then be simply streamed.
  • Embodiments of the present invention allow server-side playlist streaming functionality to be implemented in a manner allowing audio content and video content from separate sources to be mixed in a single playlist streaming session without having to merge the content into a single media file (i.e., media element file) or single live source ahead of a time where such audio and video content is streamed. More specifically, embodiments of the present invention extend known server- side playlist streaming functionality to allow audio and video content tracks to be specified separately, which is in contrast to prior art approaches that require audio and video content files to be specified as whole entities (i.e., a single media file a single live streaming source).
  • Embodiments of the present invention can rely upon server-side playlist streaming functionality being extended to allow audio and video tracks to be specified separately as opposed to the prior art functionality in which audio-video files must be specified as whole entities.
  • Such functionality extension requires modifying media element (i.e., track file) syntax to allow distinction of content based on track (audio, video, etc) as opposed to based on single files.
  • This extension can be done in the context of existing SMIL syntax (e.g., upon which the Packet Video Network Solutions brand playlist file syntax is based) or by adding new elements and/or semantics to syntax definition.
  • embodiments of the present invention advantageously overcome one or more limitations associated with prior art approaches for using server-side playlist streaming functionality to stream audio and video content from separate sources (e.g., files).
  • a method comprises a plurality of operations for allows server-side playlist streaming functionality to be implemented in a manner whereby audio content and video content from separate sources to be mixed in a single playlist streaming session without having to merge the content into a single media file or single live source ahead of a time where such audio and video content is streamed.
  • An operation is performed for receiving media element configuration information including a media element track identifier associated with a first track of a playlist and a media element track identifier associated with a second track of the playlist.
  • Receiving the media element configuration information is performed by a server capable of streaming media content.
  • an operation is performed for concurrently streaming at least a portion of a media element source corresponding to the media element track identifier associated with the first track and at least a portion of a media element source corresponding to the media element track identifier associated with the second track.
  • the streaming is carried out in accordance with commands issued by server-side streaming playlist functionality of a server capable of streaming media content.
  • the media element source corresponding to the media element track identifier associated with the first track and the media element source corresponding to the media element track identifier associated with the second track are different sources.
  • a set of processor-executable instructions are configured for allows server-side playlist streaming functionality to be implemented in a manner whereby audio content and video content from separate sources to be mixed in a single playlist streaming session without having to merge the content into a single media file or single live source ahead of a time where such audio and video content is streamed.
  • Instructions are performed for receiving media element configuration information including a media element track identifier associated with a first track of a playlist and a media element track identifier associated with a second track of the playlist.
  • Receiving the media element configuration information is performed by a server capable of streaming media content.
  • Instructions are provided for concurrently streaming at least a portion of a media element source corresponding to the media element track identifier associated with the first track and at least a portion of a media element source corresponding to the media element track identifier associated with the second track in a single streaming session.
  • the streaming is carried out in accordance with commands issued by server-side streaming playlist functionality of a server capable of streaming media content.
  • the media element source corresponding to the media element track identifier associated with the first track and the media element source corresponding to the media element track identifier associated with the second track are different sources.
  • a server capable of streaming media content is configured for receiving media element configuration information including a media element track identifier associated with a first track of a playlist and a media element track identifier associated with a second track of the playlist.
  • Receiving the media element configuration information is performed by a server capable of streaming media content.
  • the server is further configured for concurrently streaming at least a portion of a media element source corresponding to the media element track identifier associated with the first track and at least a portion of a media element source corresponding to the media element track identifier associated with the second track in a single streaming session.
  • the streaming is carried out in accordance with commands issued by server-side streaming playlist functionality of a server capable of streaming media content.
  • the media element source corresponding to the media element track identifier associated with the first track and the media element source corresponding to the media element track identifier associated with the second track are different sources.
  • FIG. 1 is a flow chart showing a method in accordance with an embodiment of the present invention, which allows server-side playlist streaming functionality to be implemented in a manner whereby audio content and video content from separate sources to be mixed in a single playlist streaming session without having to merge the content into a single media file or single live source ahead of a time where such audio and video content is streamed.
  • FIG. 2 is a diagrammatic view showing a media element track configuring interface in accordance with an embodiment of the present invention.
  • FIG. 1 is a flow chart showing a method 100 in accordance with an embodiment of the present invention.
  • the method 100 allows server-side playlist streaming functionality to be implemented in a manner allowing audio content and video content from separate sources to be mixed in a single playlist streaming session without having to merge the content into a single media file or single live source ahead of a time where such audio and video content is streamed.
  • the server-side playlist streaming functionality of a streaming server offered by Packet Video Network Solutions is an example of server-side playlist streaming functionality that can be configured to provide functionality in accordance with the present invention.
  • the method 100 begins with an operation 102 being performed for causing a media element track configuring interface to be displayed for allowing a user to configure media element tracks to be outputted in accordance with commands issued by a server-side streaming playlist.
  • the media element track configuring interface is configured in a manner allowing a plurality of media element tracks to be concurrently streamed in a single streaming session in accordance with commands issued by server-side streaming playlist functionality of a server capable of streaming media content. Allowing the user to specify the media element tracks includes allowing a media element track identifier corresponding to a first media element file to be specified and allowing a media element track identifier corresponding to a second media element file to be specified.
  • Examples of the media element tracks include, but are not limited to, media element tracks of an audio type, media element tracks of a video type, media element tracks of a static image type, media element tracks of a textual type, media element tracks of an animation type and the like. It is disclosed herein that causing the media element track configuring interface to be displayed can be initiated, controlled and/or facilitated by server-side functionality, client-side functionality, or both.
  • a server capable of streaming media content performs an operation 104 for receiving media element configuration information (i.e., playlist information) from the element track configuring interface.
  • media element configuration information includes the first and second media element track identifiers.
  • an operation 106 is performed for concurrently streaming all or a portion of the first and second media element files in a single streaming session, which includes accessing media element files corresponding to the media element track identifiers specified using the media element track configuring interface.
  • Streaming of the first and second media element files is carried out in accordance with commands issued by server-side streaming playlist functionality of the server capable of streaming media content and in accordance with the media element configuration information.
  • server-side streaming playlist functionality of the server capable of streaming media content and in accordance with the media element configuration information.
  • methods and syntax in accordance with the present invention can be associated with live sources as well as other known types of media element sources. Accordingly, the term 'file' is not intended to disallow that the source may be a live source as opposed to VOD (e.g., media element files) or other known types of media element sources.
  • media element source is disclosed herein to include media element files, live media element streams and the like.
  • the media element track configuring interface 200 is configured for allowing a plurality of media element tracks to be specified in a manner that allows them to be concurrently streamed in a single streaming session in accordance with commands issued by server-side streaming playlist functionality of a server capable of streaming media content. In this manner, the media element track configuring interface 200 is configured for allowing media element configuration information in accordance with the present invention to be generated.
  • the media element track configuring interface 200 includes a plurality of functionality selectors and media element configuration information fields. Selection of a 'Create Playlist' selector 202 allows a new playlist to be created. After a user selects the 'Create Playlist' selector 202, the user enters a maximum number of concurrent tracks that will streamed at any one time during a single streaming session into a ' Maximum Concurrent Tracks' field 204 and enters a name of the playlist being created into a 'Playlist Name' field 206. With the maximum number of concurrent tracks and playlist name specified, the media element track configuring interface 200 presents a plurality of media element track configuration blocks 208 for allowing information corresponding to the maximum number of concurrent tracks to be specified. Each one of the track configuration blocks 208 allows media element configuration information associated with each one of the tracks that will concurrently streamed at any one time during a single streaming session to be specified.
  • each one of the track configuration blocks 208 includes a plurality of functionality selectors and information fields, which includes the following functionality selectors and information fields.
  • a 'Type of Track' field 210 includes a plurality of selectable media element track types that a user can select.
  • the media element tracks include, but are not limited to, media element tracks of an audio type, media element tracks of a video type, media element tracks of a static image type, media element tracks of a textual type, media element tracks of an animation type and the like.
  • a particular type of media element track is specified to limit associated types of media element files (e.g., corresponding file extensions).
  • a particular type of media element track is specified for purposes of affecting creation of syntax representing the associated playlist. Accordingly, it is disclosed herein that specifying the type of media element track is useful for any number of reasons.
  • a 'Media Element File Identifier' field 212 is provided for allowing a media element file identifier corresponding to a respective media element file to be specified.
  • a media element track identifier will include a name of the respective media element file as well as a storage location required for allowing access thereto.
  • a 'Browse' selector 214 allows a user to browse storage devices (e.g., a hard drive, media storage server, and/or the like) and select media element track identifiers therefrom.
  • a 'Selected Track Files' field 216 is provided for allowing a user to view the media element track identifier(s) that are specified for a respective one of the track configuration blocks 208.
  • Each 'Selected Track Files' field 216 has a 'Play Time' field 218 associated therewith, which shows a system-computed play time (e.g., sum of play time durations) corresponding to the selected media element track identifiers(s). In this manner, a user is able to compare the playtimes for each of the track configuration blocks 208.
  • a ' Set File Timeline' selector 220 is provided for allowing timeline information associated with each one of the selected media element track identifiers to be specified. Examples of such timeline information include, but are not limited to, information specifying a sub-portions of each media element file to be streamed using attributes such as begin time, end time, duration, etc.
  • a 'Remove Selection' selector 222 is provided for allowing a selected media element track identifier to be removed after being selected.
  • a 'Save Playlist' selector 224 is provided for allowing a playlist to be saved and communicated to a prescribed streaming server configured for providing server-side playlist streaming functionality.
  • media element syntax examples of media element syntax in accordance with various embodiments of the present invention are discussed below. It is disclosed herein that, in one embodiment, selecting the 'Save Playlist' selector 224 of the media element track configuring interface 200 causes respective and appropriate media element syntax to be created dependent upon media element configuration information associated with the corresponding playlist. In this manner, it is disclosed herein that media element syntax in accordance with the present invention can be created using a media element track configuring interface in accordance with the present invention.
  • One approach for implementing media element syntax for allowing concurrent streaming of different media element content in a single streaming session is to modify prior art media element syntax to allow more distinction in how media element files of a playlist are streamed.
  • One embodiment of prior art media element syntax that allows an entire file, including both audio and video, to be referenced is:
  • a streaming server capable of interpreting such syntax would open both 'my_audio_file.3gp' and 'my_video_file.3gp' (i.e., media elements tracks), and combine these two media elements tracks (audio and video respectively) into a single streaming session (e.g., a 3GPP (3 rd Generation Partnership Project) streaming session).
  • a 3GPP (3 rd Generation Partnership Project) streaming session e.g., a 3GPP (3 rd Generation Partnership Project) streaming session.
  • Using the element tags ⁇ audio> and ⁇ video> would enable the 3gp files to actually contain other tracks that might not be used, for example, if one wished to play the music portion of a music video together with the video portion of a baseball broadcast including both audio and video content.
  • An embodiment of prior art media element syntax that has been modified in accordance with the present invention for allowing more distinction in how media element files of a playlist are streamed and for allowing a type of track (e.g., audio, video, etc) to be specified from a file capable of supporting multiple track types is:
  • Audio src file:///public/my_audio-video_music_file.3gp" />
  • video src file:///public/my_audio-video_baseball_file.3gp” /> ⁇ /media>.
  • Example 3 Using Element Tags For Track Duration Manipulation
  • the assumption is that audio and video tracks are presented at the same time in a streaming session.
  • the tracks are played in parallel or, in SMIL terms, the media element file is streamed in accordance with a timing behavior similar to parallel ⁇ par> streaming manner, as opposed to a sequence ( ⁇ seq>) streaming manner.
  • the 'my_audio-video_music_file.3gp' media element file and the 'my audio- video_baseball_file.3g' media element file can be different durations.
  • addressing such a configuration objective includes media element syntax that retains par-like timing, but allowing the audio and video media elements to be container elements that have sequence-like timing.
  • media element syntax is:
  • such media element syntax represents a set of baseball video highlights to which a number of music clips are "overdubbed".
  • this media element syntax would allow each of those media element tracks to remain integral media pieces and there is no requirement that an additional piece of media content containing all the concatenated components ever be produced.
  • using some of the other SMIL media timeline control elements could allow an even more intricate mechanism for audio and video mixing, including specifying sub- portions of each track using attributes such as begin, end, duration, etc (e.g., as depicted and discussed in reference to the 'Set File Timeline' selector of FIG. 2).
  • a streaming server configured in accordance with the media element syntax of Example 3 can support the functionality of track mixing, e.g., foreground and background audio and/or graphical and video overlays or mosaics.
  • the supported media types could include other "streamable" types such as, for example, timed text or similar.
  • Media Element syntax in accordance with the present invention can be configured for allowing specification of media element files based on the track ID values in such files.
  • One embodiment of such media element syntax is: ⁇ media>
  • This media element syntax is similar to the type of media element syntax used within a streaming session in general and is generally most useful when there is a need to specify one track to the exclusion of another. For example, the scenario where it is desirable to specify one track to the exclusion of another if there are more than one audio or video tracks in each of the media element files referenced above.
  • This media element syntax further allows referencing more than one track (i.e., sub-portion) from each media element file, such as depicted in the following media element syntax.
  • Example 4 the media element syntax disclosed in Example 4 is well-suited for implementation of playlist-based BSS (bitstream switching) control, where alternative bitrate tracks are specified as playlist information. This gives a client device the ability to choose among them and control BSS behavior and do so using existing signalling of server-side playlist streaming functionality of a server.
  • BSS bitstream switching
  • processor-executable sets of instructions are tangibly embodied by computer readable medium having instructions thereon that are configured for carrying out such functionality.
  • the instructions are tangibly embodied for carrying out the method 100, functionality provided for via the media element track configuring interface 200, and/or media element syntax disclosed herein.
  • the instructions can be accessible by one or more data processing devices from a memory apparatus (e.g.
  • embodiments of computer readable medium in accordance with the present invention include a compact disk, a hard drive, RAM or other type of storage apparatus that has imaged thereon a computer program (i.e., instructions) adapted for carrying out server-side playlist streaming functionality in accordance with the present invention, which includes method 100, functionality provided for via the media element track configuring interface 200, and/or media element syntax disclosed herein.
  • server-side playlist streaming functionality in accordance with the present invention provides for a flexible, low-overhead approach for creating new and mixed content from a set of separate, already existing sources.
  • server-side playlist streaming functionality can allow "editing" of personalized media timelines from low complexity devices, such as handheld digital output devices (e.g., MP3 devices) and cell phones because it requires neither a content acquisition step nor a content encoding step.
  • Such functionality would also be ideally suited for high volume media applications such as the streaming-based content unicasting via a subscriber community (e.g., a You- TubeTM like content unicasting concept).

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

A server is configured for receiving media element configuration information including a media element track identifier associated with a first track of a playlist and a media element track identifier associated with a second track of the playlist. Receiving the media element configuration information is performed by a server capable of streaming media content. The server is further configured for concurrently streaming at least a portion of media element sources corresponding to respective media element track identifiers associated with respective tracks in a single streaming session. The streaming is carried out in accordance with commands issued by server-side streaming playlist functionality of a server capable of streaming media content. The media element sources corresponding to the first track and the media element source corresponding to the second track are different sources.

Description

METHOD AND SYSTEM FOR FACILITATING TRACK-BASED SERVER-SIDE STREAMING PLAYLIST FUNCTIONALITY
FIELD OF THE DISCLOSURE
[0001] The disclosures made herein relate generally to methods and systems for facilitating server- side streaming of playlist content and, more particularly, to methods and systems for allowing audio and video from separate sources to be concurrently streamed in a single playlist streaming session.
BACKGROUND
[0002] With today's widespread use of the Internet as a major communication medium, computer networks are increasingly being used to transmit multimedia data (e.g., audio, full-motion video, pictures, etc). In the network-based context, one simple model of producing the information involves a client device requesting the downloading of the multimedia data from a server. Once downloaded, the client can then consume, or present, the information. This model is relatively easy to implement. However, it is non-optimal in that the client is required to wait for the downloading to complete before the presentation can begin. This delay can be considerable where large blocks of multimedia data are involved.
[0003] A more sophisticated model of producing information involves a content server at one network site "streaming" the multimedia information over the network to a client at another site. Streaming is a process in which packets, sent over an Internet Protocol (IP)-based network, are used to present digital multimedia content continuously to a recipient client as it arrives in substantially real time as perceived by the user. As such the client does not have to download and store a large file before displaying the digital multimedia content. More specifically, the client begins to present the digital multimedia content as it arrives (i.e., just-in-time rendering), rather than waiting for the entire data set to arrive before beginning presentation. Accordingly, at the client device, received data is buffered into a cache memory and continuously processed as soon as, or soon after, being received by the client for real time presentation of multimedia content. [0004] Most streaming sessions include either live or video-on-demand (VOD) sources, and are typically associated with a single content source (i.e., a single VOD file or a single live source, e.g., a video camera). However, by adding the ability to combine sources into a single streaming session, much richer applications can be built based on multimedia streaming (e.g., a first source for video content and a second source for audio content).
[0005] A "playlist" in its simplest form is a list of media that can be used to manage playback of local content (i.e., audio files) or to control the streaming media sessions. When used in the context of multimedia streaming, playlists provide an extensible, dynamic method for delivering customizable audio and video content to users via streaming. A playlist represents a list of the content items that a server can stream to a client, which can include a mixture of program content and advertisements (ads), for example. Also, a playlist can be used to play several short clips or to provide a user with long blocks of programming.
[0006] In a client-server streaming architecture, two types of playlists can be provided: client-side playlists and server-side playlists. The main difference between the two types of playlists is that when the client-side playlists are used, a client player application has control of the streaming experience, whereas when server-side playlists are used, a streaming server has control of the streaming experience. Server-side playlists provide the ability for the streaming server to combine streams from multiple sources (in sequence) and stream to a client in a single session. The client need not (and may not even) be aware that there are multiple media sources. This is useful for providing ad insertion capability, or for applications where uninterrupted streaming (from multiple sources) is desired (i.e., where the client doesn't have to explicitly request streaming from each new source).
[0007] Prior art (i.e., known) server side playlist streaming functionality exhibit limitations associated with allowing audio and video content from separate (e.g., multiple audio content sources and multiple video content sources) to be mixed in a single playlist streaming session without having to merge the content into a single media file or single live source ahead of a time at which such content is streamed. One such prior art solution to this problem is to create content in which video is imported from one or more sources and audio is imported from one or more other sources, and saving the resulting content as a single, audio-video (a/v) media file, which is then use that in the context of a playlist session. This resulting content file can then be simply streamed. However, not only does this approach to combining content from multiple sources require having access to the content prior to the streaming process, which is something that may not be the case in a pure streaming environment, it also may not make using multiple audio and multiple video sources practical, especially if their timelines (e.g. starting and ending points) don't align.
[0008] Therefore, facilitating server-side streaming playlist functionality in a manner that overcomes that limitations associated with prior art approaches for allowing audio tracks and video tracks from separate digital media content sources to be mixed in a single playlist streaming session would be advantageous, desirable and useful.
SUMMARY OF THE DISCLOSURE
[0009] Embodiments of the present invention allow server-side playlist streaming functionality to be implemented in a manner allowing audio content and video content from separate sources to be mixed in a single playlist streaming session without having to merge the content into a single media file (i.e., media element file) or single live source ahead of a time where such audio and video content is streamed. More specifically, embodiments of the present invention extend known server- side playlist streaming functionality to allow audio and video content tracks to be specified separately, which is in contrast to prior art approaches that require audio and video content files to be specified as whole entities (i.e., a single media file a single live streaming source). Embodiments of the present invention can rely upon server-side playlist streaming functionality being extended to allow audio and video tracks to be specified separately as opposed to the prior art functionality in which audio-video files must be specified as whole entities. Such functionality extension requires modifying media element (i.e., track file) syntax to allow distinction of content based on track (audio, video, etc) as opposed to based on single files. This extension can be done in the context of existing SMIL syntax (e.g., upon which the Packet Video Network Solutions brand playlist file syntax is based) or by adding new elements and/or semantics to syntax definition. In allowing audio and video content tracks to be specified separately, embodiments of the present invention advantageously overcome one or more limitations associated with prior art approaches for using server-side playlist streaming functionality to stream audio and video content from separate sources (e.g., files).
[0010] In one embodiment of the present invention, a method comprises a plurality of operations for allows server-side playlist streaming functionality to be implemented in a manner whereby audio content and video content from separate sources to be mixed in a single playlist streaming session without having to merge the content into a single media file or single live source ahead of a time where such audio and video content is streamed. An operation is performed for receiving media element configuration information including a media element track identifier associated with a first track of a playlist and a media element track identifier associated with a second track of the playlist. Receiving the media element configuration information is performed by a server capable of streaming media content. In a single streaming session, an operation is performed for concurrently streaming at least a portion of a media element source corresponding to the media element track identifier associated with the first track and at least a portion of a media element source corresponding to the media element track identifier associated with the second track. The streaming is carried out in accordance with commands issued by server-side streaming playlist functionality of a server capable of streaming media content. The media element source corresponding to the media element track identifier associated with the first track and the media element source corresponding to the media element track identifier associated with the second track are different sources.
[0011 ] In another embodiment of the present invention, a set of processor-executable instructions are configured for allows server-side playlist streaming functionality to be implemented in a manner whereby audio content and video content from separate sources to be mixed in a single playlist streaming session without having to merge the content into a single media file or single live source ahead of a time where such audio and video content is streamed. Instructions are performed for receiving media element configuration information including a media element track identifier associated with a first track of a playlist and a media element track identifier associated with a second track of the playlist. Receiving the media element configuration information is performed by a server capable of streaming media content. Instructions are provided for concurrently streaming at least a portion of a media element source corresponding to the media element track identifier associated with the first track and at least a portion of a media element source corresponding to the media element track identifier associated with the second track in a single streaming session. The streaming is carried out in accordance with commands issued by server-side streaming playlist functionality of a server capable of streaming media content. The media element source corresponding to the media element track identifier associated with the first track and the media element source corresponding to the media element track identifier associated with the second track are different sources.
[0012] In another embodiment of the present invention, a server capable of streaming media content is configured for receiving media element configuration information including a media element track identifier associated with a first track of a playlist and a media element track identifier associated with a second track of the playlist. Receiving the media element configuration information is performed by a server capable of streaming media content. The server is further configured for concurrently streaming at least a portion of a media element source corresponding to the media element track identifier associated with the first track and at least a portion of a media element source corresponding to the media element track identifier associated with the second track in a single streaming session. The streaming is carried out in accordance with commands issued by server-side streaming playlist functionality of a server capable of streaming media content. The media element source corresponding to the media element track identifier associated with the first track and the media element source corresponding to the media element track identifier associated with the second track are different sources.
[0013] These and other objects, embodiments, advantages and/or distinctions of the present invention will become readily apparent upon further review of the following specification, associated drawings and appended claims.
BRIEF DESCRIPTION OF THE DRAWINGS
[0014] FIG. 1 is a flow chart showing a method in accordance with an embodiment of the present invention, which allows server-side playlist streaming functionality to be implemented in a manner whereby audio content and video content from separate sources to be mixed in a single playlist streaming session without having to merge the content into a single media file or single live source ahead of a time where such audio and video content is streamed.
[0015] FIG. 2 is a diagrammatic view showing a media element track configuring interface in accordance with an embodiment of the present invention.
DETAILED DESCRIPTION OF THE DRAWING FIGURES
[0016] FIG. 1 is a flow chart showing a method 100 in accordance with an embodiment of the present invention. The method 100 allows server-side playlist streaming functionality to be implemented in a manner allowing audio content and video content from separate sources to be mixed in a single playlist streaming session without having to merge the content into a single media file or single live source ahead of a time where such audio and video content is streamed. The server-side playlist streaming functionality of a streaming server offered by Packet Video Network Solutions is an example of server-side playlist streaming functionality that can be configured to provide functionality in accordance with the present invention.
[0017] The method 100 begins with an operation 102 being performed for causing a media element track configuring interface to be displayed for allowing a user to configure media element tracks to be outputted in accordance with commands issued by a server-side streaming playlist. The media element track configuring interface is configured in a manner allowing a plurality of media element tracks to be concurrently streamed in a single streaming session in accordance with commands issued by server-side streaming playlist functionality of a server capable of streaming media content. Allowing the user to specify the media element tracks includes allowing a media element track identifier corresponding to a first media element file to be specified and allowing a media element track identifier corresponding to a second media element file to be specified. Examples of the media element tracks include, but are not limited to, media element tracks of an audio type, media element tracks of a video type, media element tracks of a static image type, media element tracks of a textual type, media element tracks of an animation type and the like. It is disclosed herein that causing the media element track configuring interface to be displayed can be initiated, controlled and/or facilitated by server-side functionality, client-side functionality, or both.
[0018] In response to the media element track configuring interface being used for specifying a media element track identifier corresponding to a first media element file and specifying a media element track identifier corresponding to a second media element file, a server capable of streaming media content performs an operation 104 for receiving media element configuration information (i.e., playlist information) from the element track configuring interface. Among other things, as is discussed below in reference to FIG. 2, such media element configuration information includes the first and second media element track identifiers. Thereafter, an operation 106 is performed for concurrently streaming all or a portion of the first and second media element files in a single streaming session, which includes accessing media element files corresponding to the media element track identifiers specified using the media element track configuring interface. Streaming of the first and second media element files is carried out in accordance with commands issued by server-side streaming playlist functionality of the server capable of streaming media content and in accordance with the media element configuration information. It will be appreciated by a skilled person and is disclosed herein that methods and syntax in accordance with the present invention can be associated with live sources as well as other known types of media element sources. Accordingly, the term 'file' is not intended to disallow that the source may be a live source as opposed to VOD (e.g., media element files) or other known types of media element sources. Furthermore, the term media element source is disclosed herein to include media element files, live media element streams and the like.
[0019] Referring now to FIG. 2, a media element track configuring interface 200 in accordance with an embodiment of the present invention is shown. The media element track configuring interface 200 is configured for allowing a plurality of media element tracks to be specified in a manner that allows them to be concurrently streamed in a single streaming session in accordance with commands issued by server-side streaming playlist functionality of a server capable of streaming media content. In this manner, the media element track configuring interface 200 is configured for allowing media element configuration information in accordance with the present invention to be generated.
[0020] The media element track configuring interface 200 includes a plurality of functionality selectors and media element configuration information fields. Selection of a 'Create Playlist' selector 202 allows a new playlist to be created. After a user selects the 'Create Playlist' selector 202, the user enters a maximum number of concurrent tracks that will streamed at any one time during a single streaming session into a ' Maximum Concurrent Tracks' field 204 and enters a name of the playlist being created into a 'Playlist Name' field 206. With the maximum number of concurrent tracks and playlist name specified, the media element track configuring interface 200 presents a plurality of media element track configuration blocks 208 for allowing information corresponding to the maximum number of concurrent tracks to be specified. Each one of the track configuration blocks 208 allows media element configuration information associated with each one of the tracks that will concurrently streamed at any one time during a single streaming session to be specified.
[0021] In one embodiment, as shown in FIG. 2, each one of the track configuration blocks 208 includes a plurality of functionality selectors and information fields, which includes the following functionality selectors and information fields.
[0022] Type of Track Field
A 'Type of Track' field 210 includes a plurality of selectable media element track types that a user can select. Examples of the media element tracks include, but are not limited to, media element tracks of an audio type, media element tracks of a video type, media element tracks of a static image type, media element tracks of a textual type, media element tracks of an animation type and the like. In one embodiment, a particular type of media element track is specified to limit associated types of media element files (e.g., corresponding file extensions). In another embodiment, a particular type of media element track is specified for purposes of affecting creation of syntax representing the associated playlist. Accordingly, it is disclosed herein that specifying the type of media element track is useful for any number of reasons.
[0023] Media Element File Identifier Field
A 'Media Element File Identifier' field 212 is provided for allowing a media element file identifier corresponding to a respective media element file to be specified. In one embodiment, a media element track identifier will include a name of the respective media element file as well as a storage location required for allowing access thereto. A 'Browse' selector 214 allows a user to browse storage devices (e.g., a hard drive, media storage server, and/or the like) and select media element track identifiers therefrom.
[0024] Selected Track Files Field
A 'Selected Track Files' field 216 is provided for allowing a user to view the media element track identifier(s) that are specified for a respective one of the track configuration blocks 208. Each 'Selected Track Files' field 216 has a 'Play Time' field 218 associated therewith, which shows a system-computed play time (e.g., sum of play time durations) corresponding to the selected media element track identifiers(s). In this manner, a user is able to compare the playtimes for each of the track configuration blocks 208.
[0025] Set File Timeline Selector
A ' Set File Timeline' selector 220 is provided for allowing timeline information associated with each one of the selected media element track identifiers to be specified. Examples of such timeline information include, but are not limited to, information specifying a sub-portions of each media element file to be streamed using attributes such as begin time, end time, duration, etc.
[0026] Remove Selection Selector
A 'Remove Selection' selector 222 is provided for allowing a selected media element track identifier to be removed after being selected.
[0027] Save Playlist Selector
A 'Save Playlist' selector 224 is provided for allowing a playlist to be saved and communicated to a prescribed streaming server configured for providing server-side playlist streaming functionality.
[0028] Turning now to media element syntax, examples of media element syntax in accordance with various embodiments of the present invention are discussed below. It is disclosed herein that, in one embodiment, selecting the 'Save Playlist' selector 224 of the media element track configuring interface 200 causes respective and appropriate media element syntax to be created dependent upon media element configuration information associated with the corresponding playlist. In this manner, it is disclosed herein that media element syntax in accordance with the present invention can be created using a media element track configuring interface in accordance with the present invention.
[0029] Example 1 - Underlying Modification To Prior Art Media Element Syntax
One approach for implementing media element syntax for allowing concurrent streaming of different media element content in a single streaming session is to modify prior art media element syntax to allow more distinction in how media element files of a playlist are streamed. One embodiment of prior art media element syntax that allows an entire file, including both audio and video, to be referenced is:
<media src="file:///public/my_audio-video_file.3gp" />.
An embodiment of prior art media element syntax that has been modified in accordance with the present invention for allowing more distinction in how media element files of a playlist are streamed is:
<media>
<audio src="file:///public/my_audio_file.3gp" />
<video src="file:///public/my_video_file.3gp" /> </media>.
[0030] Example 2 - Using Element Tags To Specify Track Type
In this embodiment of modified prior art media element syntax, a streaming server capable of interpreting such syntax would open both 'my_audio_file.3gp' and 'my_video_file.3gp' (i.e., media elements tracks), and combine these two media elements tracks (audio and video respectively) into a single streaming session (e.g., a 3GPP (3rd Generation Partnership Project) streaming session). Using the element tags <audio> and <video> would enable the 3gp files to actually contain other tracks that might not be used, for example, if one wished to play the music portion of a music video together with the video portion of a baseball broadcast including both audio and video content. An embodiment of prior art media element syntax that has been modified in accordance with the present invention for allowing more distinction in how media element files of a playlist are streamed and for allowing a type of track (e.g., audio, video, etc) to be specified from a file capable of supporting multiple track types is:
<media>
<audio src="file:///public/my_audio-video_music_file.3gp" /> <video src="file:///public/my_audio-video_baseball_file.3gp" /> </media>.
[0031] Example 3 - Using Element Tags For Track Duration Manipulation
In the examples above, the assumption is that audio and video tracks are presented at the same time in a streaming session. For example, the tracks are played in parallel or, in SMIL terms, the media element file is streamed in accordance with a timing behavior similar to parallel <par> streaming manner, as opposed to a sequence (<seq>) streaming manner. However, it will also be appreciated that the 'my_audio-video_music_file.3gp' media element file and the 'my audio- video_baseball_file.3g' media element file can be different durations. If there is a desire to stream a plurality of media element files of a first type (e.g., audio portions of music-videos) concurrently with one or more media element files of a second type (e.g., video portions of a audio-video broadcast), using par-like media element syntax might not suffice, hi one embodiment of the present invention, addressing such a configuration objective (i.e., concurrent streaming and effectively common duration) includes media element syntax that retains par-like timing, but allowing the audio and video media elements to be container elements that have sequence-like timing. One embodiment of such media element syntax is:
<media>
<audio>
<ref src="file:///public/my_audio-video_music_filel .3gp" /> <ref src="file:///public/rny_audio-video_music_file2.3gp" /> <ref src="file:///public/my_audio-video_music_file3.3gp" /> <ref src="file:///public/my_audio-video_music_file4.3gp" /> <ref src="file:///public/my_audio-video_music_file5.3gp" />
</audio>
<video>
<ref src="file:///public/my_audio-video_baseball_filel .3gp" /> <ref src="file:///public/my_audio-video_baseball_file2.3gp" /> <ref src="file:///public/my_audio-video_baseball_file3.3gp" />
</video> </media>
[0032] In this exemplary case, such media element syntax represents a set of baseball video highlights to which a number of music clips are "overdubbed". Advantageously, this media element syntax would allow each of those media element tracks to remain integral media pieces and there is no requirement that an additional piece of media content containing all the concatenated components ever be produced. Furthermore, using some of the other SMIL media timeline control elements could allow an even more intricate mechanism for audio and video mixing, including specifying sub- portions of each track using attributes such as begin, end, duration, etc (e.g., as depicted and discussed in reference to the 'Set File Timeline' selector of FIG. 2). A streaming server configured in accordance with the media element syntax of Example 3 can support the functionality of track mixing, e.g., foreground and background audio and/or graphical and video overlays or mosaics. The supported media types could include other "streamable" types such as, for example, timed text or similar.
[0033] Example 4 - Using Element Tags For File Specification Based on Track ID Values
Media Element syntax in accordance with the present invention can be configured for allowing specification of media element files based on the track ID values in such files. One embodiment of such media element syntax is: <media>
<audio src="file:///public/my_audio_file.3gp/trackID=l" />
<video src="file:///public/my_video_file.3gp/trackID=l" /> </media>.
This media element syntax is similar to the type of media element syntax used within a streaming session in general and is generally most useful when there is a need to specify one track to the exclusion of another. For example, the scenario where it is desirable to specify one track to the exclusion of another if there are more than one audio or video tracks in each of the media element files referenced above. This media element syntax further allows referencing more than one track (i.e., sub-portion) from each media element file, such as depicted in the following media element syntax. <media>
<audio src="file:///public/my_audio_file.3gp/trackID=l" />
<video src="file:///public/my_video_file.3gp/trackID=l" />
<video src="file:///public/my_video_file.3gp/trackID=2" /> </media>
Accordingly, the media element syntax disclosed in Example 4 is well-suited for implementation of playlist-based BSS (bitstream switching) control, where alternative bitrate tracks are specified as playlist information. This gives a client device the ability to choose among them and control BSS behavior and do so using existing signalling of server-side playlist streaming functionality of a server.
[0034] Referring now to processor-executable sets of instructions, it will be understood from the disclosures made herein that methods, processes and/or operations configured for carrying out server-side playlist streaming functionality as disclosed herein are tangibly embodied by computer readable medium having instructions thereon that are configured for carrying out such functionality. In one specific embodiment, the instructions are tangibly embodied for carrying out the method 100, functionality provided for via the media element track configuring interface 200, and/or media element syntax disclosed herein. The instructions can be accessible by one or more data processing devices from a memory apparatus (e.g. RAM, ROM, virtual memory, hard drive memory, etc), from an apparatus readable by a drive unit of a data processing system (e.g., a diskette, a compact disk, a tape cartridge, etc) or both. Accordingly, embodiments of computer readable medium in accordance with the present invention include a compact disk, a hard drive, RAM or other type of storage apparatus that has imaged thereon a computer program (i.e., instructions) adapted for carrying out server-side playlist streaming functionality in accordance with the present invention, which includes method 100, functionality provided for via the media element track configuring interface 200, and/or media element syntax disclosed herein.
[0035] In view of the disclosures made herein, a skilled person will appreciate that implementing server-side playlist streaming functionality in accordance with the present invention provides for a flexible, low-overhead approach for creating new and mixed content from a set of separate, already existing sources. To this end, such server-side playlist streaming functionality can allow "editing" of personalized media timelines from low complexity devices, such as handheld digital output devices (e.g., MP3 devices) and cell phones because it requires neither a content acquisition step nor a content encoding step. Such functionality would also be ideally suited for high volume media applications such as the streaming-based content unicasting via a subscriber community (e.g., a You- Tube™ like content unicasting concept).
[0036] In the preceding detailed description, reference has been made to the accompanying drawings that form a part hereof, and in which are shown by way of illustration specific embodiments in which the present invention can be practiced. These embodiments, and certain variants thereof, have been described in sufficient detail to enable those skilled in the art to practice embodiments of the present invention. It is to be understood that other suitable embodiments can be utilized and that logical, mechanical, chemical and electrical changes can be made without departing from the spirit or scope of such inventive disclosures. To avoid unnecessary detail, the description omits certain information known to those skilled in the art. The preceding detailed description is, therefore, not intended to be limited to the specific forms set forth herein, but on the contrary, it is intended to cover such alternatives, modifications, and equivalents, as can be reasonably included within the spirit and scope of the appended claims.

Claims

CLAIMSWHAT IS CLAIMED IS:
1. A method, comprising: receiving media element configuration information including a media element track identifier associated with a first track of a playlist and a media element track identifier associated with a second track of the playlist, wherein said receiving is performed by a server capable of streaming media content; and in a single streaming session, concurrently streaming at least a portion of a media element source corresponding to the media element track identifier associated with the first track and at least a portion of a media element source corresponding to the media element track identifier associated with the second track, wherein said streaming is carried out in accordance with commands issued by server-side streaming playlist functionality of a server capable of streaming media content and wherein the media element source corresponding to the media element track identifier associated with the first track and the media element source corresponding to the media element track identifier associated with the second track are different sources.
2. The method of claim 1, further comprising: causing a media element track configuring interface to be displayed for allowing a user to configure media element tracks to be outputted in accordance with commands issued by the server-side streaming playlist functionality; wherein allowing the user to specify said media element tracks includes allowing a media element track identifier corresponding to a first media element source to be specified and allowing a media element track identifier corresponding to a second media element source to be specified; and wherein receiving the plurality of media element track identifiers is performed in conjunction with causing the media element track configuring interface to be displayed.
3. The method of claim 2 wherein streaming said media element sources includes accessing media element sources corresponding to said media element track identifiers specified using the media element track configuring interface.
4. The method of claim 3 wherein streaming said media element sources includes concurrently streaming at least a portion of a content source corresponding to the first one of said media element track identifiers and at least a portion of a content source corresponding to the second one of said media element track identifiers.
5. The method of claim 1 wherein streaming said tracks includes: accessing a content source corresponding to the first one of said media element track identifiers; and accessing a content source corresponding to the second one of said media element track identifiers.
6. The method of claim 1 wherein streaming said media element sources includes concurrently streaming at least a portion of a content source corresponding to the first one of said media element track identifiers and at least a portion of a content source corresponding to the second one of said media element track identifiers.
7. The method of claim 6 wherein: the content source corresponding to the first one of said media element track identifiers is a first type of content source; and the content source corresponding to the second one of said media element track identifiers is a second type of content source different than the first type of content source.
8. The method of claim 1, wherein said media element configuration information includes a plurality of media element track identifiers associated with the first track of the playlist and a plurality of media element track identifiers associated with the second track of the playlist; and said streaming includes sequentially streaming at least a portion of a media element source corresponding to each one of said media element track identifiers associated with the first track concurrently with sequentially streaming at least a portion of a media element source corresponding to each one of said media element track identifiers associated with the second track.
. A set of processor-executable instructions configured for allowing server-side playlist streaming functionality to be implemented in a manner whereby audio content and video content from separate sources to be mixed in a single playlist streaming session without having to merge the content into a single media file or single live stream ahead of a time where such audio and video content is streamed, said set of instructions comprising: instructions for receiving media element configuration information including a media element track identifier associated with a first track of a playlist and a media element track identifier associated with a second track of the playlist, wherein said receiving is performed by a server capable of streaming media content; and instructions for concurrently streaming at least a portion of a media element source corresponding to the media element track identifier associated with the first track and at least a portion of a media element source corresponding to the media element track identifier associated with the second track in a single streaming session, wherein said streaming is carried out in accordance with commands issued by server-side streaming playlist functionality of a server capable of streaming media content and wherein the media element source corresponding to the media element track identifier associated with the first track and the media element source corresponding to the media element track identifier associated with the second track are different sources.
10. The set of instructions of claim 9, further comprising: instructions for causing a media element track configuring interface to be displayed for allowing a user to configure media element tracks to be outputted in accordance with commands issued by the server-side streaming playlist functionality; wherein allowing the user to specify said media element tracks includes allowing a media element track identifier corresponding to a first media element source to be specified and allowing a media element track identifier corresponding to a second media element source to be specified; and wherein receiving the plurality of media element track identifiers is performed in conjunction with causing the media element track configuring interface to be displayed.
11. The set of instructions of claim 9 wherein streaming said media element sources includes accessing media element sources corresponding to said media element track identifiers specified using the media element track configuring interface.
12. The set of instructions of claim 11 wherein streaming said media element sources includes concurrently streaming at least a portion of a content source corresponding to the first one of said media element track identifiers and at least a portion of a content source corresponding to the second one of said media element track identifiers.
13. The set of instructions of claim 9 wherein streaming said tracks includes: accessing a content source corresponding to the first one of said media element track identifiers; and accessing a content source corresponding to the second one of said media element track identifiers.
14. The set of instructions of claim 9 wherein streaming said media element sources includes concurrently streaming at least a portion of a content source corresponding to the first one of said media element track identifiers and at least a portion of a content source corresponding to the second one of said media element track identifiers.
15. The set of instructions of claim 14 wherein: the content source corresponding to the first one of said media element track identifiers is a first type of content source; and the content source corresponding to the second one of said media element track identifiers is a second type of content source different than the first type of content source.
16. The set of instructions of claim 9, wherein said media element configuration information includes a plurality of media element track identifiers associated with the first track of the playlist and a plurality of media element track identifiers associated with the second track of the playlist; and said streaming includes sequentially streaming at least a portion of a media element source corresponding to each one of said media element track identifiers associated with the first track concurrently with sequentially streaming at least a portion of a media element source corresponding to each one of said media element track identifiers associated with the second track.
17. A server configured for: receiving media element configuration information including a media element track identifier associated with a first track of a playlist and a media element track identifier associated with a second track of the playlist, wherein said receiving is performed by a server capable of streaming media content; and in a single streaming session, concurrently streaming at least a portion of a media element source corresponding to the media element track identifier associated with the first track and at least a portion of a media element source corresponding to the media element track identifier associated with the second track, wherein said streaming is carried out in accordance with commands issued by server-side streaming playlist functionality of a server capable of streaming media content and wherein the media element source corresponding to the media element track identifier associated with the first track and the media element source corresponding to the media element track identifier associated with the second track are different sources.
18. The server of claim 17, further configured for: causing a media element track configuring interface to be displayed for allowing a user to configure media element tracks to be outputted in accordance with commands issued by the server-side streaming playlist functionality; wherein allowing the user to specify said media element tracks includes allowing a media element track identifier corresponding to a first media element source to be specified and allowing a media element track identifier corresponding to a second media element source to be specified; and wherein receiving the plurality of media element track identifiers is performed in conjunction with causing the media element track configuring interface to be displayed.
19. The server of claim 18 wherein streaming said media element sources includes accessing media element sources corresponding to said media element track identifiers specified using the media element track configuring interface.
20. The server of claim 19 wherein streaming said media element sources includes concurrently streaming at least a portion of a content source corresponding to the first one of said media element track identifiers and at least a portion of a content source corresponding to the second one of said media element track identifiers.
21. The server of claim 17 wherein streaming said tracks includes: accessing a content source corresponding to the first one of said media element track identifiers; and accessing a content source corresponding to the second one of said media element track identifiers.
22. The server of claim 17 wherein streaming said media element sources includes concurrently streaming at least a portion of a content source corresponding to the first one of said media element track identifiers and at least a portion of a content source corresponding to the second one of said media element track identifiers.
23. The server of claim 22 wherein: the content source corresponding to the first one of said media element track identifiers is a first type of content source; and the content source corresponding to the second one of said media element track identifiers is a second type of content source different than the first type of content source.
24. The server of claim 17, wherein said media element configuration information includes a plurality of media element track identifiers associated with the first track of the playlist and a plurality of media element track identifiers associated with the second track of the playlist; and said streaming includes sequentially streaming at least a portion of a media element source corresponding to each one of said media element track identifiers associated with the first track concurrently with sequentially streaming at least a portion of a media element source corresponding to each one of said media element track identifiers associated with the second track.
PCT/US2007/021203 2007-10-02 2007-10-02 Method and system for facilitating track-based server-side streaming playlist functionality Ceased WO2009045189A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2007/021203 WO2009045189A1 (en) 2007-10-02 2007-10-02 Method and system for facilitating track-based server-side streaming playlist functionality

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2007/021203 WO2009045189A1 (en) 2007-10-02 2007-10-02 Method and system for facilitating track-based server-side streaming playlist functionality

Publications (1)

Publication Number Publication Date
WO2009045189A1 true WO2009045189A1 (en) 2009-04-09

Family

ID=39304603

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2007/021203 Ceased WO2009045189A1 (en) 2007-10-02 2007-10-02 Method and system for facilitating track-based server-side streaming playlist functionality

Country Status (1)

Country Link
WO (1) WO2009045189A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013166785A1 (en) * 2012-05-08 2013-11-14 中兴通讯股份有限公司 Media service providing method and device, and media service displaying method and device
EP2702769A4 (en) * 2011-04-27 2014-09-17 Morega Systems Inc Adaptive video server with virtual file system and methods for use therewith

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
APPLE COMPUTER, INC.: "Interactive Movies", CHAPTER 9, 1 October 2002 (2002-10-01), XP002478048, Retrieved from the Internet <URL:http://developer.apple.com/documentation/QuickTime/IQ_InteractiveMovies/insideqt_intmov.pdf> [retrieved on 20080423] *
MICROSOFT: "Windows Media Services 9 Series in Windows Server 2003. Reviewer's Guide", INTERNET CITATION, 22 April 2003 (2003-04-22), XP002384215, Retrieved from the Internet <URL:http://download.microsoft.com/download/7/8/0/7800026e-3785-4cd8-be29- ac20371d12f8/Server_2003_RG_Final.pdf> [retrieved on 20060607] *
ORATRIX: "Grins 2.2 Presentation Editor for RealOne Quick Start Guide", 1 March 2002 (2002-03-01), XP002478047, Retrieved from the Internet <URL:http://oratrix.oratrix.com/Download/G2R/RV2-QSG.pdf> [retrieved on 20080423] *
REALNETWORKS INC.: "RealNetworks Production Guide", CHAPTERS 8 AND 11, 19 July 2002 (2002-07-19), XP002478049, Retrieved from the Internet <URL:http://docs.real.com/docs/ProductionGuide07192002.pdf> [retrieved on 20080423] *
W3C WORKING DRAFT: "Synchronized Multimedia Integration Language (SMIL 3.0)", SECTIONS 22.3 - 22.5, 20 December 2006 (2006-12-20), XP002478050, Retrieved from the Internet <URL:http://www.w3.org/TR/2006/WD-SMIL3-20061220/> [retrieved on 20080423] *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2702769A4 (en) * 2011-04-27 2014-09-17 Morega Systems Inc Adaptive video server with virtual file system and methods for use therewith
WO2013166785A1 (en) * 2012-05-08 2013-11-14 中兴通讯股份有限公司 Media service providing method and device, and media service displaying method and device

Similar Documents

Publication Publication Date Title
CN101099142B (en) System and method for obtaining digital multimedia content from a network node
Sodagar The mpeg-dash standard for multimedia streaming over the internet
Stockhammer Dynamic adaptive streaming over HTTP-- standards and design principles
CN101588469B (en) Channel information access control method, channel information delivery method, IPTV system and device
JP5296859B2 (en) Real-time or near real-time streaming
EP1974526B1 (en) Extensions to rich media container format for use by mobile broadcast/multicast streaming servers
EP1737182A2 (en) System and method for enabling playlist navigation of digital multimedia content
US9130799B2 (en) System and method for effectuating playlist seeking with respect to digital multimedia content from a network node
CN113767639B (en) Method, device and non-volatile computer readable medium for receiving media data
CN113661692B (en) Method, apparatus and non-volatile computer-readable storage medium for receiving media data
CN109286820A (en) Method and system for streaming media on demand based on distributed storage system
AU2011233856B2 (en) Method and apparatus for providing timeshift service in digital broadcasting system and system thereof
US12513346B2 (en) Method, system, and computer-readable recording medium for implementing fast-switching mode between channels in multi-live transmission environment
England et al. Rave: Real-time services for the web
US20080313150A1 (en) Centralized Network Data Search, Sharing and Management System
US20170134773A1 (en) Transmission apparatus, transmission method, reception apparatus, receiving method, and program
WO2012175448A1 (en) Content delivering method
WO2009045189A1 (en) Method and system for facilitating track-based server-side streaming playlist functionality
EP1807777B1 (en) File delivery session handling
CN106537930A (en) Multi-media streaming service presentation method, relevant device and relevant system
JP2004336289A (en) Shared whiteboard history reproduction method, shared whiteboard system, client, program, and recording medium
KR100687416B1 (en) System and method for providing multimedia content using information on playback section of content
JP5787981B2 (en) Efficient playback apparatus and method for live content
RU2658672C2 (en) Content provision device, program, terminal device and content provision system
Sodagar Industry and standards

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07839179

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07839179

Country of ref document: EP

Kind code of ref document: A1