US20120054045A1 - Managing Media Playback - Google Patents
Managing Media Playback Download PDFInfo
- Publication number
- US20120054045A1 US20120054045A1 US13/018,285 US201113018285A US2012054045A1 US 20120054045 A1 US20120054045 A1 US 20120054045A1 US 201113018285 A US201113018285 A US 201113018285A US 2012054045 A1 US2012054045 A1 US 2012054045A1
- Authority
- US
- United States
- Prior art keywords
- stream
- list
- playing
- seek point
- determined
- 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.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0277—Online advertisement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/812—Monomedia components thereof involving advertisement data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8545—Content authoring for generating interactive applications
Definitions
- the technology disclosed herein (the “technology”) relates to streaming media. Implementations of the technology have application to manage ad playback in time shifted playback of live streaming media.
- FIG. 1 illustrates a streaming architecture
- FIG. 2 illustrates a streaming architecture of the present technology.
- FIG. 3 illustrates a timing chart of the streaming architecture of FIG. 1 and FIG. 2 .
- FIG. 4 illustrates methods of the present technology.
- FIG. 5 illustrates a data processing architecture suitable for storing a computer program product of the present technology and for executing the program code of the computer program product.
- Streaming media can be multimedia that can be substantially continuously received by, and presented to, an end-user while being delivered by a streaming provider.
- “Streaming” refers to the delivery method of the medium rather than to the medium itself. The distinction is usually applied to media that are distributed over telecommunications networks, as most other delivery systems are either inherently streaming (e.g., radio, television) or inherently non-streaming (e.g., books, video cassettes, audio CDs).
- inherently streaming e.g., radio, television
- inherently non-streaming e.g., books, video cassettes, audio CDs.
- the verb ‘to stream’ is also derived from this term, meaning to deliver media in this manner.
- Internet television is a commonly streamed medium.
- a media stream can be streamed either live or on demand.
- Live streams are generally provided by a means called true streaming.
- True streaming sends the information straight to the computer or device without saving the file to a hard disk at the media player.
- On demand streaming can be provided by a means called progressive streaming or progressive download. In progressive streaming, the media file may be saved in storage at the media player and then may be played from that location.
- On demand streams are often saved to hard disks and servers for extended amounts of time; while live streams are typically available at one time only (e.g. during a sporting event and for some period afterward).
- Live streaming technology can involve a camera 110 for capturing content of a live event.
- the live event can be characterized as starting a t 0 310 and scheduled to end at t end 320 .
- the current time (in relation to t 0 ) is shown as t CAPTURE 330 .
- the camera 110 can communicate captured content 112 to an encoder 120 .
- the encoder 120 can encode the captured content, creating encoded content 122 .
- Cue points 124 , 341 - 345 indicating the beginning of an ad pod (i.e., a contiguous group of one or more ads) can be inserted into the encoded content 122 .
- the encoding process requires some amount of time, even if the camera 110 and the encoder 120 are combined into a single device with hardware-driven, e.g., application specific integrated circuits, solutions. Consequently, the most current encoded content 122 is at time t ENCODED 340 ⁇ t CAPTURE .
- the encoded content 122 can be sent to a publisher 130 via communications channels 160 e.g., the Internet.
- the publisher 130 can perform archiving, and can make the encoded content available (i.e., published) in a variety of ways. For example, from a single stream of encoded content A 122 , a publisher 130 can offer an end user access to the stream at any point from t 0 to t PUBLISHED 350 . Such access can be independently offered to a plurality of end users, e.g., one user accessing content from t 0 at a time ten minutes after the event has started, another user accessing content from t 0 +3 minutes, at a time twenty (20) minutes after the event has started. Access to the stream can be offered for a fixed period after the live event ends. Such access can be offered through a content delivery network (CDN).
- CDN content delivery network
- CDN may be a separate entity or incorporated into the publisher 130 . Since processes at the publisher 130 typically take some small amount of time, t PUBLISHED ⁇ t ENCODED . This can lead to some cue points, e.g., CP 5 345 , which are encoded, but not yet published.
- a user may access any point in the stream from t 0 to t PUBLISHED , for example t ACCESS 360 in FIG. 3 , using a player 140 .
- a player such as the user interface wrapper and core player described in the Provisional Application can be used.
- the player 140 using technology familiar to those of skill in the relevant art, can present ads at the cue points as the cue points are encountered during playback of the stream, e.g., CP 2 and CP 3 as shown in FIG. 3 .
- Presenting ads can include: retrieving ads from an ad server, playing the ads, and then returning to the stream; playing ads embedded in the stream; and other methods known to those of skill in the relevant art.
- the player 140 also can track which ads have been played at which cue points, e.g., tracking that certain ads were played at CP 2 and CP 3 as shown in FIG. 3 .
- time shifting is the recording of programming to a storage medium to be viewed or listened to at a time more convenient to the user.
- DVR digital video recorder
- EPG electronic program guide
- Some DVRs enable other time shifting methods, such as being able to start watching the recorded show from the beginning even if the recording is not yet complete.
- Time shifting may allow users to fast-forward through ads, and some technology allows users to remove ads entirely. This feature has been controversial, with content providers claiming it violates copyright and should be banned.
- Hard drive-based DVRs, set top boxes, and software-based DVRs designed for home television recording, time-shifting, and ad skipping are known.
- the streaming architecture described above facilitates time shifting for live streamed events that are not necessarily recorded by the end user.
- the stream may be recorded by the publisher 130 .
- a user may access any point in the stream from t 0 to t PUBLISHED using a player 140 .
- users accessing the stream from t 0 at a time thirty (30) minutes into the event will be able to skip viewing the ads by using the player to seek to a point after the ad pod when the player encounters an ad pod.
- Implementations of the present technology enable a player 140 to enforce ad playback when a user seeks the player beyond an unplayed ad in a published stream of a time shifted event. While enabling implementations are described herein in the context of “live” time shifted streaming, the technology also has application to on demand streaming, and scenarios when ad positions beyond the last played ad are known.
- FIG. 2 a live streaming architecture 200 similar to the architecture of FIG. 1 is illustrated.
- FIG. 4 a method 400 of the present technology is illustrated.
- a live event can be captured by a camera 110 creating captured event data 112 that can be communicated to an encoder 120 .
- the captured event data 112 can be encoded, and cue points can be added into the encoded stream at the appropriate times to signal the beginning of an ad pod.
- the encoded stream (with cue points) 122 can be communicated to a publisher 130 .
- the publisher 130 can make the stream available to the player 140 , and the player can join the broadcast at any point from t 0 to t PUBLISHED , e.g., t ACCESS 360 . Note that the player 140 will not be informed of cue points until it encounters a particular cue point in the published stream.
- Ads played by the player can be tracked 406 .
- a list of ad positions can be contemporaneously communicated to the player 140 .
- the player 140 can receive a list of cue points from t 0 to t ENCODED 402 , e.g., upon joining the broadcast at t ACCESS , or upon receiving a request from the user to seek to a different point in time in the stream.
- the list 270 can be communicated to the player 140 in a variety of fashions familiar to those of skill in the relevant art, including: Internet push technology; a publish/subscribe paradigm in which the player 140 subscribes to information published by the encoder 120 , the publisher 130 , or some other Internet host such as a server of a CDN; and polling by the player 140 upon initiation of access to the stream 134 .
- FIG. 2 illustrates communication directly from the encoder 120 , though the communication can be from an intermediate Internet host (not shown), or even the publisher 130 (though in that case, t PUBLISH will be the latest time for which a cue point can be identified).
- the list received by the player 140 can be kept current, e.g., as a cue point is inserted at the encoder, a revised list 270 can be communicated to the player 140 .
- the cue point list includes an update time. The cue point list can be made available to the player 140 independent of the player's 140 progress through the stream.
- the player 140 can receive input to seek to a point in the stream between time t 0 and t PUBLISHED 404 .
- the player 140 can receive instruction to seek to t SEEK 370 after having played the stream from t 0 to t PLAY .
- the player 140 can determine if the seek point is to a time less than or equal to the cue point list update time 408 . If the seek point is beyond the cue point list update time, then the player 140 can deny the seek point 410 . For example, in FIG. 3 , t SEEK ⁇ t UPDATE CUE POINT LIST 347 , so the technology will not deny the seek point and will proceed.
- the player 140 can determine the unplayed ad pods having a cue time between t 0 and the t SEEK 412 .
- CP 2 , CP 3 , and CP 4 indicate unplayed ad pods between t 0 and t SEEK .
- the player 140 then can present at least one of the determined ads 414 .
- the ad pod at the beginning of the stream section containing t sEEK is played.
- Ads can be presented by implementations of the technology using methods known to those of skill in the relevant art. For example: ads can be retrieved from an ad server and played; the player 140 can seek to cue points in the stream 134 to play ads embedded in the stream.
- the player disables controls, e.g., seek, mute, minimize, while playing the ads. In some embodiments, “seek forward” is disabled. After playing the determined ads, the player can resume playback from the seek point 416 .
- the XML file will contain information for three (3) cue points: the one that occurred at the 10 minute mark, the one that occurred at the 20 minute mark, and the one that occurred at the 30 minute mark. If the player continues to play the archived stream, then eight (8) minutes in the first ad break will be encountered. The player can receive a message from the player's Flash NetStream object that a cue point has been encountered. The player can check whether this cue point has previously been made known through the pushed XML file. If for some reason the player does not know about the cue point it can add the information about when the cue point occurred to the player's own list of cue point information.
- the player can send an event to notify the player skin that an ad(s) has started.
- the skin can then remove the progress bar user interface (UI) so that the user will not be able to fast forward and skip the ad(s).
- UI progress bar user interface
- the player can mark in its list of cue point information that the ad has been played and it can send an event to the player skin alerting the skin that the scheduled ads have finished and the skin will reinstate the progress bar UI allowing the user once again to seek to different points in the archived stream.
- the player continues playing until the 27 minute mark in the archived stream.
- the player will now have played the ads that occurred at the 10 minute and 20 minutes marks of the archived stream.
- the live event is now at the 57 minute mark.
- Cue points will have occurred in real time at the 40 and 50 minute mark.
- the cue point information can be updated and pushed to the skin and then into player.
- the user now decides to seek ahead 20 minutes in time. This should position the player at the 47 minute mark in the archived stream—ten (10) minutes behind the live point.
- the player can determine which ads were scheduled at the 30 minute and 40 minute marks.
- the player can determine the cue point immediately preceding the requested time, in this case the cue point at the 40 minute mark, and confirm that the player has not played the ads at this point in the stream.
- the player can force the archived stream to seek to that position (or to a point just before that cue point).
- the same chunk of code that was invoked earlier in the scenario can alert the skin that an ad is starting and the skin can disable the progress bar in the UI, so that the player plays the ad without responding to inputs to skip the ad.
- the player will mark that these ads have been played and seek to the point in the archived stream (47 minutes) that the user initially requested.
- the user After watching for another minute the user now attempts to seek backwards in time 10 minutes to minute 38:00 of the archived stream. Again the player can look at the cue point that occurred previous to this time, discover that the ads scheduled at that time (30 Minutes) have not been played and can seek to a point in the archived stream to play those ads. After the ads are played the player can seek to the originally requested time (the 38:00 mark).
- the user attempts to seek back another ten (10) minutes in time (to the 28 minute mark). This time when the player examines the cue point previous to the requested time, it discovers that this set of ads has already been played and the requested seek is allowed. If the player continues to play another two (2) minutes, the cue point at the 30 minute mark will be encountered. Since these ads have been played, the skin application can, depending on the business rules of the skin, remove the progress bar UI and force the user to watch the ads again, or keep the progress bar UI available so that the user can skip these previously viewed ads or make an internal seek request to UVP to seek to the point in the stream just after this set of ads has completed.
- the present technology can take the forms of hardware, software or both hardware and software elements.
- the technology is implemented in software, which includes but is not limited to firmware, resident software, microcode, a Field Programmable Gate Array (FPGA), graphics processing unit (GPU), or Application-Specific Integrated Circuit (ASIC), etc.
- FPGA Field Programmable Gate Array
- GPU graphics processing unit
- ASIC Application-Specific Integrated Circuit
- portions of the present technology can take the form of a computer program product comprising program modules accessible from computer-usable or computer-readable medium storing program code for use by or in connection with one or more computers, processors, or instruction execution system.
- a computer-usable or computer readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
- the medium can be non-transitory (e.g., an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device)) or transitory (e.g., a propagation medium).
- Examples of a non-transitory computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk.
- Current examples of optical disks include compact disk-read only memory (CD-ROM), compact diskread/write (CD-R/W) and DVD.
- processors and program code for implementing each as aspect of the technology can be centralized or distributed (or a combination thereof) as known to those skilled in the art.
- a data processing system suitable for storing a computer program product of the present technology and for executing the program code of the computer program product can include at least one processor (e.g., processor resources 512 ) coupled directly or indirectly to memory elements through a system bus (e.g., 518 comprising data bus 518 a , address bus 518 b , and control bus 518 c ).
- processors e.g., processor resources 512
- system bus e.g., 518 comprising data bus 518 a , address bus 518 b , and control bus 518 c .
- the memory elements can include local memory (e.g., 516 ) employed during actual execution of the program code, bulk storage (e.g., 560 ), and cache memories (e.g., including cache memory as part of local memory or integrated into processor resources) that provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution.
- I/O devices including but not limited to keyboards 550 , displays 530 , pointing devices 520 , etc.
- I/O controllers e.g., 514 ).
- Network adapters can also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters. Such systems can be centralized or distributed, e.g., in peer-to-peer and client/server configurations. In some implementations, the data processing system is implemented using one or both of FPGAs and ASICs.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Marketing (AREA)
- Accounting & Taxation (AREA)
- Entrepreneurship & Innovation (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Game Theory and Decision Science (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
Technology for managing playback of streaming media and ads associated therewith, is disclosed. Receiving a list indicating the location of ad pods in the stream and, optionally, indicating a list update time. Receiving instruction to play the stream forward from a seek point. Determining unplayed stream ads associated with locations from the list between the start and the seek point. Playing at least one determined ad. Optionally, playing at least one determined ad only upon determining that the list update time is greater than or equal to the seek point, otherwise, denying the seek point. Optionally after playing at least one determined ad, playing the stream from the seek point after playing the at least one determined ads. The list can be a list of cue points. Playing at least one determined ad can include playing the ad pod at the start of the stream section containing the seek point.
Description
- This application claims the benefit of U.S. Provisional Patent Application No. 62/377,210, filed Aug. 26, 2010, referred to herein as the “Provisional Application,” the disclosure of which is incorporated herein by reference in its entirety.
- The technology disclosed herein (the “technology”) relates to streaming media. Implementations of the technology have application to manage ad playback in time shifted playback of live streaming media.
- Reference will now be made, by way of example, to the accompanying drawings which show example implementations of the technology.
-
FIG. 1 illustrates a streaming architecture. -
FIG. 2 illustrates a streaming architecture of the present technology. -
FIG. 3 illustrates a timing chart of the streaming architecture ofFIG. 1 andFIG. 2 . -
FIG. 4 illustrates methods of the present technology. -
FIG. 5 illustrates a data processing architecture suitable for storing a computer program product of the present technology and for executing the program code of the computer program product. - Reference now will be made in detail to implementations of the technology. Each example is provided by way of explanation of the technology only, not as a limitation of the technology. It will be apparent to those skilled in the art that various modifications and variations can be made in the present technology without departing from the scope or spirit of the technology. For instance, features described as part of one implementation can be used on another implementation to yield a still further implementation. Thus, it is intended that the present technology cover such modifications and variations that come within the scope of the technology.
- Streaming media can be multimedia that can be substantially continuously received by, and presented to, an end-user while being delivered by a streaming provider. “Streaming” refers to the delivery method of the medium rather than to the medium itself. The distinction is usually applied to media that are distributed over telecommunications networks, as most other delivery systems are either inherently streaming (e.g., radio, television) or inherently non-streaming (e.g., books, video cassettes, audio CDs). The verb ‘to stream’ is also derived from this term, meaning to deliver media in this manner. Internet television is a commonly streamed medium.
- A media stream can be streamed either live or on demand. Live streams are generally provided by a means called true streaming. True streaming sends the information straight to the computer or device without saving the file to a hard disk at the media player. On demand streaming can be provided by a means called progressive streaming or progressive download. In progressive streaming, the media file may be saved in storage at the media player and then may be played from that location. On demand streams are often saved to hard disks and servers for extended amounts of time; while live streams are typically available at one time only (e.g. during a sporting event and for some period afterward).
- Referring to
FIG. 1 , alive streaming architecture 100 is illustrated. Referring toFIG. 3 , a timing diagram 300 based on relative time from the beginning of a stream is illustrated. Live streaming technology can involve acamera 110 for capturing content of a live event. The live event can be characterized as starting a t0 310 and scheduled to end att end 320. The current time (in relation to t0) is shown ast CAPTURE 330. Thecamera 110 can communicate capturedcontent 112 to anencoder 120. - The
encoder 120 can encode the captured content, creating encodedcontent 122. Cuepoints 124, 341-345, indicating the beginning of an ad pod (i.e., a contiguous group of one or more ads) can be inserted into the encodedcontent 122. The encoding process requires some amount of time, even if thecamera 110 and theencoder 120 are combined into a single device with hardware-driven, e.g., application specific integrated circuits, solutions. Consequently, the most current encodedcontent 122 is attime t ENCODED 340 <tCAPTURE. The encodedcontent 122 can be sent to apublisher 130 viacommunications channels 160 e.g., the Internet. - The
publisher 130 can perform archiving, and can make the encoded content available (i.e., published) in a variety of ways. For example, from a single stream of encoded content A122, apublisher 130 can offer an end user access to the stream at any point from t0 tot PUBLISHED 350. Such access can be independently offered to a plurality of end users, e.g., one user accessing content from t0 at a time ten minutes after the event has started, another user accessing content from t0+3 minutes, at a time twenty (20) minutes after the event has started. Access to the stream can be offered for a fixed period after the live event ends. Such access can be offered through a content delivery network (CDN). Though a CDN is not explicitly shown inFIG. 1 andFIG. 2 , the CDN may be a separate entity or incorporated into thepublisher 130. Since processes at thepublisher 130 typically take some small amount of time, tPUBLISHED<tENCODED. This can lead to some cue points, e.g.,CP5 345, which are encoded, but not yet published. - Via
communications channels 160, a user may access any point in the stream from t0 to tPUBLISHED, forexample t ACCESS 360 inFIG. 3 , using aplayer 140. For example, a player such as the user interface wrapper and core player described in the Provisional Application can be used. Theplayer 140, using technology familiar to those of skill in the relevant art, can present ads at the cue points as the cue points are encountered during playback of the stream, e.g., CP2 and CP3 as shown inFIG. 3 . Presenting ads can include: retrieving ads from an ad server, playing the ads, and then returning to the stream; playing ads embedded in the stream; and other methods known to those of skill in the relevant art. Theplayer 140 also can track which ads have been played at which cue points, e.g., tracking that certain ads were played at CP2 and CP3 as shown inFIG. 3 . - In its most prevalent form, “time shifting” is the recording of programming to a storage medium to be viewed or listened to at a time more convenient to the user. The advent of the digital video recorder (DVR) has made time shifting easier, by using an electronic program guide (EPG) and recording shows onto a hard disk. Some DVRs enable other time shifting methods, such as being able to start watching the recorded show from the beginning even if the recording is not yet complete. Time shifting may allow users to fast-forward through ads, and some technology allows users to remove ads entirely. This feature has been controversial, with content providers claiming it violates copyright and should be banned. Hard drive-based DVRs, set top boxes, and software-based DVRs designed for home television recording, time-shifting, and ad skipping are known.
- The streaming architecture described above facilitates time shifting for live streamed events that are not necessarily recorded by the end user. In the example streaming architecture, the stream may be recorded by the
publisher 130. As noted above, a user may access any point in the stream from t0 to tPUBLISHED using aplayer 140. For example, for an event expected to be associated with thirty (30) minutes of ads, users accessing the stream from t0 at a time thirty (30) minutes into the event will be able to skip viewing the ads by using the player to seek to a point after the ad pod when the player encounters an ad pod. Note that aplayer 140 playing the stream from tACCESS to tPLAY will have encountered thecue points CP2 342 andCP3 343, skippedCP1 341 and not yet encountered publishedcue point CP4 344 and unpublishedcue point CP5 345. - Implementations of the present technology enable a
player 140 to enforce ad playback when a user seeks the player beyond an unplayed ad in a published stream of a time shifted event. While enabling implementations are described herein in the context of “live” time shifted streaming, the technology also has application to on demand streaming, and scenarios when ad positions beyond the last played ad are known. - Referring to
FIG. 2 , alive streaming architecture 200 similar to the architecture ofFIG. 1 is illustrated. Referring toFIG. 4 , a method 400 of the present technology is illustrated. - A live event can be captured by a
camera 110 creating capturedevent data 112 that can be communicated to anencoder 120. The capturedevent data 112 can be encoded, and cue points can be added into the encoded stream at the appropriate times to signal the beginning of an ad pod. The encoded stream (with cue points) 122 can be communicated to apublisher 130. Thepublisher 130 can make the stream available to theplayer 140, and the player can join the broadcast at any point from t0 to tPUBLISHED, e.g.,t ACCESS 360. Note that theplayer 140 will not be informed of cue points until it encounters a particular cue point in the published stream. Ads played by the player can be tracked 406. - In implementations of the present technology, a list of ad positions, e.g., as cue points 270, can be contemporaneously communicated to the
player 140. For example, theplayer 140 can receive a list of cue points from t0 tot ENCODED 402, e.g., upon joining the broadcast at tACCESS, or upon receiving a request from the user to seek to a different point in time in the stream. Thelist 270 can be communicated to theplayer 140 in a variety of fashions familiar to those of skill in the relevant art, including: Internet push technology; a publish/subscribe paradigm in which theplayer 140 subscribes to information published by theencoder 120, thepublisher 130, or some other Internet host such as a server of a CDN; and polling by theplayer 140 upon initiation of access to thestream 134.FIG. 2 illustrates communication directly from theencoder 120, though the communication can be from an intermediate Internet host (not shown), or even the publisher 130 (though in that case, tPUBLISH will be the latest time for which a cue point can be identified). Throughout the time that theplayer 140 is joined to the stream, the list received by theplayer 140 can be kept current, e.g., as a cue point is inserted at the encoder, a revisedlist 270 can be communicated to theplayer 140. In some implementations, the cue point list includes an update time. The cue point list can be made available to theplayer 140 independent of the player's 140 progress through the stream. - The
player 140 can receive input to seek to a point in the stream between time t0 andt PUBLISHED 404. For example, theplayer 140 can receive instruction to seek tot SEEK 370 after having played the stream from t0 to tPLAY. - In those implementations of the technology including update time in the cue point list, the
player 140 can determine if the seek point is to a time less than or equal to the cue pointlist update time 408. If the seek point is beyond the cue point list update time, then theplayer 140 can deny the seekpoint 410. For example, inFIG. 3 , tSEEK<tUPDATE CUE POINT LIST 347, so the technology will not deny the seek point and will proceed. - In each implementation of the present technology, the
player 140 can determine the unplayed ad pods having a cue time between t0 and thet SEEK 412. For example, inFIG. 3 , CP2, CP3, and CP4 indicate unplayed ad pods between t0 and tSEEK. - The
player 140 then can present at least one of thedetermined ads 414. In some embodiments, the ad pod at the beginning of the stream section containing tsEEK is played. Ads can be presented by implementations of the technology using methods known to those of skill in the relevant art. For example: ads can be retrieved from an ad server and played; theplayer 140 can seek to cue points in thestream 134 to play ads embedded in the stream. In some implementations, the player disables controls, e.g., seek, mute, minimize, while playing the ads. In some embodiments, “seek forward” is disabled. After playing the determined ads, the player can resume playback from the seekpoint 416. - As another example of implementations of the technology, consider a live event that has a planned duration of one (1) hour began at 1:00 p.m. and has been running for thirty-two (32) minutes. The player, a player of the Provisional Application, can enter the stream at that point and seek backwards in time to the 2-minute mark. At this point the player can present the archived stream thirty (30) minutes before the “live” point. Ads are scheduled to be presented every ten (10) minutes during this live event. An XML file representing the cue point history can be pushed to the player at the time the player entered the stream. In this example, the XML file will contain information for three (3) cue points: the one that occurred at the 10 minute mark, the one that occurred at the 20 minute mark, and the one that occurred at the 30 minute mark. If the player continues to play the archived stream, then eight (8) minutes in the first ad break will be encountered. The player can receive a message from the player's Flash NetStream object that a cue point has been encountered. The player can check whether this cue point has previously been made known through the pushed XML file. If for some reason the player does not know about the cue point it can add the information about when the cue point occurred to the player's own list of cue point information.
- At this point the player can send an event to notify the player skin that an ad(s) has started. The skin can then remove the progress bar user interface (UI) so that the user will not be able to fast forward and skip the ad(s). When all the ads to be shown at that ad break are finished, the player can mark in its list of cue point information that the ad has been played and it can send an event to the player skin alerting the skin that the scheduled ads have finished and the skin will reinstate the progress bar UI allowing the user once again to seek to different points in the archived stream.
- In this scenario the player continues playing until the 27 minute mark in the archived stream. The player will now have played the ads that occurred at the 10 minute and 20 minutes marks of the archived stream. At this point the live event is now at the 57 minute mark. Cue points will have occurred in real time at the 40 and 50 minute mark. At each of these points in real time the cue point information can be updated and pushed to the skin and then into player. The user now decides to seek ahead 20 minutes in time. This should position the player at the 47 minute mark in the archived stream—ten (10) minutes behind the live point. However, because the player has an accurate list of the cue points that have occurred in the live stream, the player can determine which ads were scheduled at the 30 minute and 40 minute marks. The player can determine the cue point immediately preceding the requested time, in this case the cue point at the 40 minute mark, and confirm that the player has not played the ads at this point in the stream. The player can force the archived stream to seek to that position (or to a point just before that cue point). When the cue point is detected soon thereafter, the same chunk of code that was invoked earlier in the scenario can alert the skin that an ad is starting and the skin can disable the progress bar in the UI, so that the player plays the ad without responding to inputs to skip the ad. Once all the ads scheduled for the 40 minute mark in the stream have been played, the player will mark that these ads have been played and seek to the point in the archived stream (47 minutes) that the user initially requested.
- After watching for another minute the user now attempts to seek backwards in time 10 minutes to minute 38:00 of the archived stream. Again the player can look at the cue point that occurred previous to this time, discover that the ads scheduled at that time (30 Minutes) have not been played and can seek to a point in the archived stream to play those ads. After the ads are played the player can seek to the originally requested time (the 38:00 mark).
- Now the user attempts to seek back another ten (10) minutes in time (to the 28 minute mark). This time when the player examines the cue point previous to the requested time, it discovers that this set of ads has already been played and the requested seek is allowed. If the player continues to play another two (2) minutes, the cue point at the 30 minute mark will be encountered. Since these ads have been played, the skin application can, depending on the business rules of the skin, remove the progress bar UI and force the user to watch the ads again, or keep the progress bar UI available so that the user can skip these previously viewed ads or make an internal seek request to UVP to seek to the point in the stream just after this set of ads has completed.
- The present technology can take the forms of hardware, software or both hardware and software elements. In some implementations, the technology is implemented in software, which includes but is not limited to firmware, resident software, microcode, a Field Programmable Gate Array (FPGA), graphics processing unit (GPU), or Application-Specific Integrated Circuit (ASIC), etc. In particular, for real-time or near real-time use, an FPGA or GPU implementation would be desirable.
- Furthermore, portions of the present technology can take the form of a computer program product comprising program modules accessible from computer-usable or computer-readable medium storing program code for use by or in connection with one or more computers, processors, or instruction execution system. For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The medium can be non-transitory (e.g., an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device)) or transitory (e.g., a propagation medium). Examples of a non-transitory computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact diskread/write (CD-R/W) and DVD. Both processors and program code for implementing each as aspect of the technology can be centralized or distributed (or a combination thereof) as known to those skilled in the art.
- Referring to
FIG. 5 , a data processing system (e.g., 500) suitable for storing a computer program product of the present technology and for executing the program code of the computer program product can include at least one processor (e.g., processor resources 512) coupled directly or indirectly to memory elements through a system bus (e.g., 518 comprising data bus 518 a,address bus 518 b, andcontrol bus 518 c). The memory elements can include local memory (e.g., 516) employed during actual execution of the program code, bulk storage (e.g., 560), and cache memories (e.g., including cache memory as part of local memory or integrated into processor resources) that provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution. Input/output or I/O devices (including but not limited to keyboards 550,displays 530, pointingdevices 520, etc.) can be coupled to the system either directly or through intervening I/O controllers (e.g., 514). Network adapters can also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters. Such systems can be centralized or distributed, e.g., in peer-to-peer and client/server configurations. In some implementations, the data processing system is implemented using one or both of FPGAs and ASICs.
Claims (24)
1. A computer-implemented method for managing playback of a stream of streaming media; the stream having ads associated therewith, the stream characterized by a start at t0; the method comprising:
receiving a list indicating the location of each of at least one ad pod in the stream;
receiving instruction to play the stream forward from a seek point;
determining unplayed stream ads associated with locations from the received list between t0 and the seek point; and
playing at least one determined ad.
2. The method of claim 1 further comprising:
playing the stream from the seek point after playing the at least one determined ad.
3. The method of claim 1 wherein:
the list is a list of cue points.
4. The method of claim 1 wherein:
playing at least one determined ad comprises playing the ad pod at the start of the stream section containing the seek point.
5. A computer-implemented method for managing playback of a stream of streaming media; the stream having ads associated therewith, the stream characterized by a start at t0; the method comprising:
receiving a list indicating the location of each of at least one ad pod in the stream and indicating a list update time;
receiving instruction to play the stream forward from a seek point;
upon determining that the list update time is greater than or equal to the time of the seek point:
determining unplayed stream ads associated with locations from the received list between t0 and the seek point;
playing at least one determined ad; and
upon determining that the list update time is less than the time of the seek point:
denying the seek point.
6. The method of claim 5 further comprising:
after playing at least one determined ad, playing the stream from the seek point after playing the at least one determined ads.
7. The method of claim 5 wherein:
the list is a list of cue points.
8. The method of claim 5 wherein:
playing at least one determined ad comprises playing the ad pod at the start of the stream section containing the seek point.
9. A computer program product for managing playback of a stream of streaming media; the stream having ads associated therewith, the stream characterized by a start at t0, the computer program product comprising:
a non-transitory computer-readable medium encoded with instructions that when executed by processor resources:
receive a list indicating the location of each of at least one ad pod in the stream;
receive instruction to play the stream forward from a seek point;
determine unplayed stream ads associated with locations from the received list between t0 and the seek point; and
play at least one determined ad.
10. The computer program product of claim 9 further comprising:
play the stream from the seek point after playing the at least one determined ads.
11. The computer program product of claim 9 wherein:
the list is a list of cue points.
12. The computer program product of claim 9 wherein:
playing at least one determined ad comprises playing the ad pod at the start of the stream section containing the seek point.
13. A computer program product for managing playback of a stream of streaming media; the stream having ads associated therewith, the stream characterized by a start at t0, the computer program product comprising:
a non-transitory computer-readable medium encoded with instructions that when executed by processor resources:
receive a list indicating the location of each of at least one ad pod in the stream and indicating a list update time;
receive instruction to play the stream forward from a seek point;
upon determining that the list update time is greater than or equal to the time of the seek point:
determine unplayed stream ads associated with locations from the received list between t0 and the seek point;
play at least one determined ad; and
upon determining that the list update time is less than the time of the seek point:
deny the seek point.
14. The computer program product of claim 13 further comprising:
after playing at least one determined ad, playing the stream from the seek point after playing the at least one determined ads.
15. The computer program product of claim 13 wherein:
the list is a list of cue points.
16. The computer program product of claim 13 wherein:
playing at least one determined ad comprises playing the ad pod at the start of the stream section containing the seek point.
17. A system for managing playback of a stream of streaming media; the stream having ads associated therewith, the stream characterized by a start at t0, the system comprising:
processor resources;
a non-transitory computer-readable medium:
in communication with processor resources, and
encoded with instructions that when executed by a processor:
receive a list indicating the location of each of at least one ad pod in the stream;
receive instruction to play the stream forward from a seek point;
determine unplayed stream ads associated with locations from the received list between t0 and the seek point; and
play at least one determined ad.
18. The system of claim 17 further comprising:
play the stream from the seek point after playing the at least one determined ads.
19. The system of claim 17 wherein:
the list is a list of cue points.
20. The system of claim 17 wherein:
playing at least one determined ad comprises playing the ad pod at the start of the stream section containing the seek point.
21. A system for managing playback of a stream of streaming media; the stream having ads associated therewith, the stream characterized by a start at t0, the system comprising:
processor resources;
a non-transitory computer-readable medium:
in communication with processor resources, and
encoded with instructions that when executed by a processor:
receive a list indicating the location of each of at least one ad pod in the stream and indicating a list update time;
receive instruction to play the stream forward from a seek point;
upon determining that the list update time is greater than or equal to the time of the seek point:
determine unplayed stream ads associated with locations from the received list between t0 and the seek point;
play at least one determined ad; and
upon determining that the list update time is less than the time of the seek point:
deny the seek point.
22. The computer program product of claim 21 further comprising:
after playing at least one determined ad, playing the stream from the seek point after playing the at least one determined ads.
23. The computer program product of claim 21 wherein:
the list is a list of cue points.
24. The computer program product of claim 21 wherein:
playing at least one determined ad comprises playing the ad pod at the start of the stream section containing the seek point.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/018,285 US20120054045A1 (en) | 2010-08-26 | 2011-01-31 | Managing Media Playback |
US14/210,215 US20140195358A1 (en) | 2011-01-31 | 2014-03-13 | Managing Media Playback |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US37721010P | 2010-08-26 | 2010-08-26 | |
US13/018,285 US20120054045A1 (en) | 2010-08-26 | 2011-01-31 | Managing Media Playback |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/210,215 Continuation-In-Part US20140195358A1 (en) | 2011-01-31 | 2014-03-13 | Managing Media Playback |
Publications (1)
Publication Number | Publication Date |
---|---|
US20120054045A1 true US20120054045A1 (en) | 2012-03-01 |
Family
ID=45698430
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/018,285 Abandoned US20120054045A1 (en) | 2010-08-26 | 2011-01-31 | Managing Media Playback |
US13/217,881 Active 2032-09-03 US9009733B2 (en) | 2010-08-26 | 2011-08-25 | On-line media player architecture |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/217,881 Active 2032-09-03 US9009733B2 (en) | 2010-08-26 | 2011-08-25 | On-line media player architecture |
Country Status (2)
Country | Link |
---|---|
US (2) | US20120054045A1 (en) |
WO (1) | WO2012027606A2 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8516144B2 (en) | 2011-04-29 | 2013-08-20 | Cbs Interactive Inc. | Startup bitrate in adaptive bitrate streaming |
US20140186005A1 (en) * | 2012-12-28 | 2014-07-03 | Casio Computer Co., Ltd. | Display control apparatus that displays image corresponding to predetermined motion |
US20140365678A1 (en) * | 2013-06-11 | 2014-12-11 | Ses Platform Services Gmbh | Method and Apparatus for Modifying a Stream of Digital Content |
US9009733B2 (en) * | 2010-08-26 | 2015-04-14 | Cbs Interactive Inc. | On-line media player architecture |
CN106341730A (en) * | 2015-07-14 | 2017-01-18 | 北京国双科技有限公司 | Multimedia status recognition method, device and system |
US20170060405A1 (en) * | 2015-08-28 | 2017-03-02 | Facebook, Inc. | Systems and methods for content presentation |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8433797B2 (en) * | 2011-04-11 | 2013-04-30 | Ringcentral, Inc. | User interface for accessing messages |
US8639754B2 (en) | 2011-09-30 | 2014-01-28 | Advanced Messaging Technologies, Inc. | System and method for providing a protocol for message data |
US9959019B1 (en) * | 2013-04-23 | 2018-05-01 | Amazon Technologies, Inc. | Customizable media player framework |
US9413795B2 (en) * | 2013-07-18 | 2016-08-09 | Facebook, Inc. | Method and system for providing media action buttons for viewing media content |
GB201314636D0 (en) * | 2013-08-15 | 2013-10-02 | Realeyes Data Services Ltd | Method of collecting computer user data |
CN103458397B (en) * | 2013-08-26 | 2017-12-15 | 华为技术有限公司 | Advertisement processing method and device |
US10643253B2 (en) * | 2013-10-24 | 2020-05-05 | Oath Inc. | Multi-protocol interactive mobile video advertising |
US10027995B2 (en) * | 2016-01-21 | 2018-07-17 | Treepodia Ltd. | System and method for generating media content in evolutionary manner |
US11521100B1 (en) * | 2019-06-17 | 2022-12-06 | Palantir Technologies Inc. | Systems and methods for customizing a process of inference running |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020026638A1 (en) * | 2000-08-31 | 2002-02-28 | Eldering Charles A. | Internet-based electronic program guide advertisement insertion method and apparatus |
US7440674B2 (en) * | 2001-04-03 | 2008-10-21 | Prime Research Alliance E, Inc. | Alternative advertising in prerecorded media |
US7480635B2 (en) * | 2000-09-01 | 2009-01-20 | Deutsche Telekom Ag | Method for financing multimedia content through advertising |
US20100205049A1 (en) * | 2009-02-12 | 2010-08-12 | Long Dustin W | Advertisement management for live internet multimedia content |
US7831469B2 (en) * | 2003-04-03 | 2010-11-09 | International Business Machines Corporation | Verifying audio output at a client device |
US20120059697A1 (en) * | 2009-05-08 | 2012-03-08 | University Of Washington | Advertising during accelerated media playback |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7437375B2 (en) * | 2004-08-17 | 2008-10-14 | Symantec Operating Corporation | System and method for communicating file system events using a publish-subscribe model |
US8473617B2 (en) * | 2004-12-31 | 2013-06-25 | Sony Corporation | Media client architecture for networked communication devices |
US8176534B2 (en) * | 2005-12-30 | 2012-05-08 | General Instrument Corporation | Method and apparatus for provisioning a device to access digital rights management (DRM) services in a universal plug and play (UPnP) network |
US7421067B2 (en) * | 2006-04-19 | 2008-09-02 | Emotive Communications, Inc. | System and methodology for peer-to-peer voice communication employing a pushed interactive multimedia announcement |
US8566503B2 (en) * | 2006-08-25 | 2013-10-22 | Qnx Software Systems Limited | Multimedia filesystem having unified representation of content on diverse multimedia devices |
US8863083B2 (en) * | 2006-10-10 | 2014-10-14 | Sap Ag | Presenting user interfaces based on messages |
US20080144604A1 (en) * | 2006-12-14 | 2008-06-19 | Adobe Systems Incorporated | Interface-neutral communication architecture |
US8307392B2 (en) * | 2007-06-11 | 2012-11-06 | Yahoo! Inc. | Systems and methods for inserting ads during playback of video media |
US7991904B2 (en) | 2007-07-10 | 2011-08-02 | Bytemobile, Inc. | Adaptive bitrate management for streaming media over packet networks |
US7987285B2 (en) | 2007-07-10 | 2011-07-26 | Bytemobile, Inc. | Adaptive bitrate management for streaming media over packet networks |
US8332887B2 (en) * | 2008-01-10 | 2012-12-11 | Touchtunes Music Corporation | System and/or methods for distributing advertisements from a central advertisement network to a peripheral device via a local advertisement server |
GB2470007A (en) * | 2009-05-05 | 2010-11-10 | Aurix Ltd | Analysing non-deterministic results of a search query |
US9479737B2 (en) * | 2009-08-06 | 2016-10-25 | Echostar Technologies L.L.C. | Systems and methods for event programming via a remote media player |
US9026567B2 (en) * | 2010-05-14 | 2015-05-05 | 2236008 Ontario Inc. | Publish-subscribe system |
US20120054045A1 (en) * | 2010-08-26 | 2012-03-01 | Cbs Interactive, Inc. | Managing Media Playback |
-
2011
- 2011-01-31 US US13/018,285 patent/US20120054045A1/en not_active Abandoned
- 2011-08-25 WO PCT/US2011/049216 patent/WO2012027606A2/en active Application Filing
- 2011-08-25 US US13/217,881 patent/US9009733B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020026638A1 (en) * | 2000-08-31 | 2002-02-28 | Eldering Charles A. | Internet-based electronic program guide advertisement insertion method and apparatus |
US7480635B2 (en) * | 2000-09-01 | 2009-01-20 | Deutsche Telekom Ag | Method for financing multimedia content through advertising |
US7440674B2 (en) * | 2001-04-03 | 2008-10-21 | Prime Research Alliance E, Inc. | Alternative advertising in prerecorded media |
US7831469B2 (en) * | 2003-04-03 | 2010-11-09 | International Business Machines Corporation | Verifying audio output at a client device |
US20100205049A1 (en) * | 2009-02-12 | 2010-08-12 | Long Dustin W | Advertisement management for live internet multimedia content |
US20120059697A1 (en) * | 2009-05-08 | 2012-03-08 | University Of Washington | Advertising during accelerated media playback |
Non-Patent Citations (1)
Title |
---|
Eldering et al., US Application 09/742506 Drawings-only black and white line drawings, Whole Document, 16 April 2001 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9009733B2 (en) * | 2010-08-26 | 2015-04-14 | Cbs Interactive Inc. | On-line media player architecture |
US8516144B2 (en) | 2011-04-29 | 2013-08-20 | Cbs Interactive Inc. | Startup bitrate in adaptive bitrate streaming |
US20140186005A1 (en) * | 2012-12-28 | 2014-07-03 | Casio Computer Co., Ltd. | Display control apparatus that displays image corresponding to predetermined motion |
US20140365678A1 (en) * | 2013-06-11 | 2014-12-11 | Ses Platform Services Gmbh | Method and Apparatus for Modifying a Stream of Digital Content |
EP2814256A1 (en) * | 2013-06-11 | 2014-12-17 | SES Platform Services GmbH | Method and apparatus for modifying a stream of digital content |
US9854019B2 (en) * | 2013-06-11 | 2017-12-26 | Mx1 Gmbh | Method and apparatus for modifying a stream of digital content |
CN106341730A (en) * | 2015-07-14 | 2017-01-18 | 北京国双科技有限公司 | Multimedia status recognition method, device and system |
US20170060405A1 (en) * | 2015-08-28 | 2017-03-02 | Facebook, Inc. | Systems and methods for content presentation |
Also Published As
Publication number | Publication date |
---|---|
US9009733B2 (en) | 2015-04-14 |
WO2012027606A2 (en) | 2012-03-01 |
WO2012027606A3 (en) | 2012-04-12 |
US20120054777A1 (en) | 2012-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20120054045A1 (en) | Managing Media Playback | |
US20140195358A1 (en) | Managing Media Playback | |
US9525893B2 (en) | Methods and systems for managing storage of media program copies within a network digital video recording system | |
US9998775B2 (en) | Enforcement of trick-play disablement in adaptive bit rate video content delivery | |
US9654815B2 (en) | Advertising detection in adaptive bitrate streaming | |
US9077956B1 (en) | Scene identification | |
EP2853075B1 (en) | Content-specific identification and timing behavior in dynamic adaptive streaming over hypertext transfer protocol | |
US20180302680A1 (en) | On-Demand Video Surfing | |
JP6186425B2 (en) | Commercial automatic playback system | |
US20090228491A1 (en) | Method, computer program product, and apparatus for rule-based release of distributed electronic content | |
US9191623B2 (en) | Transmitting datastreams to late joining broadcast subscribers | |
WO2017092327A1 (en) | Playing method and apparatus | |
US20150023652A1 (en) | Updating of advertising content during playback of locally recorded content | |
US12058421B2 (en) | Content aggregation | |
US20150026711A1 (en) | Method and apparatus for video content distribution | |
US20120308200A1 (en) | Contiguous media playback | |
US12088864B2 (en) | Systems and methods for providing media content for continuous watching | |
CA3104700A1 (en) | Systems and methods for providing media content for continuous watching | |
CN106231414B (en) | Control method and device for playing mode switching based on IPTV | |
US20150058902A1 (en) | System and method for delivering extended media content | |
CN113055703B (en) | IPTV video playing method and system | |
US10887652B2 (en) | Systems and methods for providing media content for continuous watching | |
US20120084823A1 (en) | Content playing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: CBS INTERACTIVE, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BEINING, JEFFREY MARTIN;HSU, JAMES KONG;XIQUES, CHRISTOPHER PETER;SIGNING DATES FROM 20110131 TO 20110203;REEL/FRAME:025798/0879 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |