Movatterモバイル変換


[0]ホーム

URL:


US9270718B2 - Internet streaming and the presentation of dynamic content - Google Patents

Internet streaming and the presentation of dynamic content
Download PDF

Info

Publication number
US9270718B2
US9270718B2US13/685,460US201213685460AUS9270718B2US 9270718 B2US9270718 B2US 9270718B2US 201213685460 AUS201213685460 AUS 201213685460AUS 9270718 B2US9270718 B2US 9270718B2
Authority
US
United States
Prior art keywords
advertising content
content element
command message
audio
media
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active - Reinstated
Application number
US13/685,460
Other versions
US20140149596A1 (en
Inventor
Harry E Emerson, III
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.)
Individual
Original Assignee
Individual
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 IndividualfiledCriticalIndividual
Priority to US13/685,460priorityCriticalpatent/US9270718B2/en
Priority to US13/918,932prioritypatent/US9215259B2/en
Priority to US13/918,931prioritypatent/US9219770B2/en
Priority to US13/918,930prioritypatent/US8880723B1/en
Publication of US20140149596A1publicationCriticalpatent/US20140149596A1/en
Priority to US14/530,783prioritypatent/US9043485B2/en
Priority to US14/968,834prioritypatent/US10887364B2/en
Priority to US15/050,214prioritypatent/US9860295B2/en
Application grantedgrantedCritical
Publication of US9270718B2publicationCriticalpatent/US9270718B2/en
Priority to US17/137,918prioritypatent/US12137134B2/en
Active - Reinstatedlegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Images

Classifications

Definitions

Landscapes

Abstract

Internet streaming from broadcast radio or television stations is described wherein triggers for dynamic content from internal or external systems cause an encoder system to generate command messages, and to synchronize those command messages with any delays associated with the triggering events. Command messages are delivered through a streaming media distribution system to client media players which obtain or present the dynamic content, in association with any desired configuration changes to the appearance of the media player or the method or manner in which the dynamic content is presented.

Description

CROSS REFERENCE TO RELATED APPLICATIONS
This application claims the benefit under 35 U.S.C. §119(e) of U.S. Provisional Application No. 61/629,689, U.S. Provisional Application No. 61/629,690, and U.S. Provisional Application No. 61/628,692, all filed Nov. 25, 2011, and the entire disclosure of each is incorporated herein by reference.
BACKGROUND OF THE INVENTION
1. Field of the Invention
Disclosed are arrangements related to the delivery of broadcast radio or television on the Internet with the associated ability to replace portions of the broadcast content with alternative content for the Internet audience, and to dynamically present audio and video content on the audience media players under the control of a radio or TV station personality.
2. Description of the Prior Art
For convenience of discussion, this document will use the term “radio” with the understanding that the embodiments described herein apply to both radio and television. In the radio broadcast industry, the over-the-air broadcast is referred to as a “terrestrial” broadcast, differentiating from satellite and Internet broadcasts. The delivery of a terrestrial broadcast on the Internet is commonly referred to as webcasting, simulcasting, or streaming.
In a radio broadcast environment the radio stations use broadcast automation systems, which are computer based products that manage their playlists and jingles and provide timing for DJ chat, and play music, recorded audio programs, commercials, and associated material.
In a conventional streaming configuration, there will be a computer running a specialized type of software referred to as an encoder at the radio broadcaster's location. That encoder receives audio from the radio station's audio chain, and receives metadata from the radio station's automation system in association with the audio stream to identify content elements. Content elements can include data such as the artist and title of the music that is playing, the duration of the song, identifying if the content element is an advertisement, identifying if that advertisement is eligible to be or must be replaced with alternate content for the Internet stream, and identifying other types of content such as radio station jingles and sweepers and the like. The encoder typically receives analog audio from the conventional audio source, which is converted by the system sound card into PCM format of digital audio, and the encoder then converts that PCM audio into a final digital stream format using whatever codec has been selected for the process. Some common formats include MP3 and WMA.
Most radio station webcasting environments are three-tier architecture, with the encoder residing at the broadcaster's location, one or more servers residing at a centralized location serving as the mass distribution point to Internet clients, and a multiplicity of client computers or devices which connect to the stream at the mass distribution point. The encoder receives the station's audio stream in analog format, encodes it into an appropriate digital format, transmits the encoded audio to the centralized server, and the centralized server than redistributes that encoded audio to the clients. User devices connect to the centralized server because the link on the station's web page points to the centralized server.
The centralized servers also may perform functions beyond redistributing media data to client devices, such as the provision of web services. These operations and functions may be split amongst multiple servers. For simplicity, though, we may conveniently refer to all these operations as “the media server”, or “the distribution server”.
For purposes of this discussion the terms client and client device or client system generally refer to a software system which most commonly comprises a web page incorporating a media player object along with customized software to manage the media player object such as providing buttons for Stop, Start, etc. A media player object is a software structure that gets incorporated into the web page and performs the decoding and playing of audio and visual content. Media players can also be desktop applications such as WinAmp and the Windows Media Player, and they can be software applications incorporated into hardware appliances such as Internet radios, which are physical devices having Internet connectivity, and can connect to streaming media and play that content.
In order for content replacement to be acceptable to listeners the replacement needs to be seamless. That means there should be no audible or visual glitches such as snippets of the content to be replaced bleeding through into the Internet content nor should there be Internet content running on over the beginning of the next content element, etc.
There are delays of a relatively unpredictable nature that are introduced throughout this three-tier architecture. For example, the encoder introduces a delay in the process of converting the audio into the desired codec format, there may be a small but perhaps not negligible delay in the transmission of the data from the encoder to the centralized servers, there will be a buffering delay at the servers, there may be other delays in the network transmission from the centralized server location to the end-user client, and if the client's network connection is slow or of poor quality that delay may be noticeable, and lastly the client itself will introduce a buffering delay. However, most listeners will be unaware that there is any delay at all of the Internet stream compared to the terrestrial broadcast—one of the few ways a user might discover this is if the radio station announces the time and the user simultaneously checks a clock.
There are advantages to being able to customize a stream for each listener, particularly by performing ad replacements wherein the replacement ads are selected for each user or demographic group of users. We had solved this problem some years ago, as described in our U.S. Pat. No. 7,490,053, using a model wherein the replacements and insertions take place at the centralized server location, and a new single composite stream containing the replacement content is created uniquely for each client, and then distributed to those clients.
There also are arrangements for ad replacement at the client device; TargetSpot is an ad delivery vendor whose system provides for demographically targeted audio ads that replace in-stream audio ads at the client. In the TargetSpot system, a TargetSpot Flash Media Player object is embedded in the client's media player webpage. The streaming vendor (such as SurferNETWORK), is responsible for providing the appropriate software at the encoder, at the centralized server, and in the client media player web page in order to call the TargetSpot Flash player with the appropriate instruction at the appropriate time. In essence, the TargetSpot system says “I'll play an ad whenever you tell me to, but you have to figure how to do that”. If you tell TargetSpot to play an ad at the wrong time, it will. If you don't tell it to play an ad at all, it won't play anything.
SUMMARY OF THE INVENTION
There are other opportunities if the replacements and insertions could take place at the client device, and that technology has not existed until now. For example, the technology described herein enables the replacement of a radio station's audio content, such as audio ads, with video content, such as video ads. Continuing the comparison with TargetSpot, there is no capability to command the TargetSpot object to replace an audio ad with a specific ad, nor is there a capability to command it to replace an audio ad with a video ad, and if TargetSpot were to play a video ad, there is no capability to cause the player to display that video in any particular fashion. These shortcomings are addressed in one embodiment as disclosed herein.
The following environments, systems, software, and technology may be provided by a streaming service (webcasting service, or hosting service) on behalf of radio and television broadcasters and other Internet streaming media providers.
The “encoding computer” or “encoding software” may include a variety of specialized software routines beyond just those needed to encode audio into a particular audio format. For example, there may be routines for obtaining a list of commercials from a remote server, for obtaining the commercials themselves (the media data), for processing metadata received from the broadcast automation system, as well as other necessary functions including content replacement and management of a delay buffer for that purpose, and the creation and transmission of command messages to control actions of the client device media players. But for convenience, we refer to this as the “encoder” or “encoder suite” or “encoding computer”.
The architecture described herein incorporates the creation or utilization of a control channel for transmitting metadata or command messages from the radio station encoder all the way through to the client device. That capability exists commercially: for example, Microsoft offers a feature they referred to as “script commands”, and Adobe, through their Flash Media Encoder, and Flash Media Server, offers a similar capability that they referred to as cue points. In the case of the Microsoft products, script commands can be inserted programmatically into a Windows Media Encoder as it is encoding audio or video; those script commands are transmitted to a publishing point on the centralized distribution servers running Microsoft's Windows Media Service; Windows Media Players or player objects (or compatible) connect to the publishing point, which relays the script commands to the Windows Media Players in association with the media stream. Software associated with the player objects can receive an announcement every time a script command is received; for web-page-based media players, software in the web page can respond to a script command in any desired fashion.
The client devices have media player software with one or more media player objects, and may incorporate additional logic to receive and process commands from the encoder, and may communicate with a centralized server for additional data and instructions using programming techniques such as AJAX calls.
In addition to previously mentioned delays related to streaming, the content insertion process introduces delays to accommodate the fact that the elements to be inserted may not be of the precise duration of the element to be deleted. For example, a local commercial of 29 seconds duration might be replaced with a commercial of 30 seconds duration. Or, a commercial of 30 seconds might be replaced with a commercial of 60 seconds, or a commercial 60 seconds might be replaced with a commercial of 15 seconds. We have developed such a technology, which we refer to as “rubber-banding”. The rubber-banding process essentially runs the received audio at the encoder through a software delay filter (delay buffer) where the actual insertion takes place. If a 15 second commercial were replaced with a 60 second commercial, the last 45 seconds of the 60 second commercial needs to be stored in a buffer to play out at the appropriate time. Also, once such a delay is introduced, all subsequent audio received from the station needs to be delayed by the same amount. Consequently, if 15 second commercials were replaced with 60 second commercials repeatedly, a large buffering delay would build up within this delay filter. As a result, the audio stream and associated metadata that ultimately is delivered to each client will also be delayed by an unpredictable amount. The rubber-banding process will monitor the amount of data in the delay buffer, and when a threshold is exceeded it will shorten the delay by dropping the insertion of an ad. The delay in the buffer will then be shortened by the duration of the ad that was dropped. This is a somewhat simplistic explanation of rubber-banding, but the essential fact is that it is a necessary process for content replacement in order to be sufficiently flexible so as to be useful, and it introduces a variable and unpredictable delay into the audio stream ultimately delivered to each of the clients.
Despite the variable delay that is introduced, the rubber-banding technology is nevertheless suitable for the replacement of one content element with another by the encoder, wherein the newly composited stream created by the encoder is transmitted to the centralized server, and then redistributed to all clients. In this model all clients receive exactly the same stream, meaning that if a local ad, for example for an automobile dealer, is replaced with another ad, for example for a credit card, then all Internet listeners receive the ad for the credit card whether or not they are within radio reception range of the station. The variable delays that have been introduced are irrelevant. The Internet clients receive a continuous stream, and the client software has no awareness of the fact that the stream content is somehow different from the terrestrial content.
Overall, described herein are arrangements for streamed media from sources such as broadcast radio and television to use an encoder suite to send command messages to client devices, wherein the command messages are synchronized with the original audio (or video) through a delay buffer such that the command messages are received by the client devices at the precise time of the audio or video event, such as in the case of the replacement of an ad. Described is an arrangement to provide for content replacement at the encoder as well as the synchronization of metadata associated with that content at the encoder, and combining that with content replacement at the client. In addition, the command messages serve as general purpose, real-time instructions to the media players to cause them to configure themselves to change from one media source to another or to play a second media source simultaneously with the first, or to obtain other text, audio, or visual content, and to configure the display of that media and other content elements of the media player.
In order to provide command messages and metadata associated with the station's audio, such as the artist and title of a song, command messages and metadata are also introduced into the delay filter, and march through the delay filter with the progression of the clock, so that they are output from the delay filter synchronously with the associated audio element.
In this fashion, general purpose dynamic and real-time control of remote web-based media players is achieved, such that a radio station DJ, announcer, or local or syndicated talk show host can cause all the connected media players to simultaneously be reconfigured and display or present or remove or stop the desired content. The net effect is that the presenter has dynamic control over web pages that have already been launched. No user action is required, users do not click on anything to cause, or allow, these dynamic changes, nor do the web pages, of which web-based media players are comprised, need to continually check a web server, such as by AJAX, to determine if action is required.
The circumstance triggering the actions of the encoder suite can be the receipt of metadata from the broadcast automation system, for example, receiving a code indicating that the station is playing a commercial. Triggering events could also be received from other systems, via mechanisms such as TCP, to indicate switching to an alternate media source, wherein that alternate media and associated command messages are synchronized through a delay buffer in a similar fashion. A DJ or Talk Show Host utilizing a web cam are examples of alternate media, and the triggering events could be TCP messages sent from the computer hosting the web cam, or from a web-based or application based control panel.
Wherever TCP is referenced herein, it refers to any available networking technology, such as UDP, IP, or Ethernet, that can be suitably arranged for the intended purpose.
Alternate media could be encoded simultaneously with the original media such that the two are mixed together. Or, the alternate media could be pre-encoded and delivered through the delay buffer with its associated messages and be synchronized in time with events, music, or voice in the original media. Or, the alternate media could be delivered to a hardware port of the encoding computer, such as a line-in port, or a video capture card, and be made available to the primary encoding software, or to another encoder of the same encoding suite of software. In these various scenarios, the original media could be sent to a primary publishing point on a centralized distribution server, the mixed media could be sent to the same publishing point, the alternate media could be sent to that same publishing point in lieu of the original media, or the alternate media could be sent to a second publishing point.
In scenarios wherein the alternate media is sent to a secondary publishing point, command messages from the encoder suite to the media players instruct the players to assign a media player object for this media, provide the URL or link to the secondary publishing point, provide appropriate instructions for the media player web page to configure itself for the presentation of the alternate media content, and provide the timing commands to start and stop the presentation of the alternate media.
Command messages can instruct media players to turn on or off specific media player objects, to open or make visible or hide or close windows on the media player web page, to move or resize those windows, to deliver media URLs or similar links to player objects to cause them to retrieve the content associated with those links and present that content at any portion of the web page or in any window or as audio only, and in general to execute any program such as a JavaScript module, or manipulate the HTML or JavaScript Document Object Model, or display control through CSS.
In addition, multiple stations that are not physically co-located can be linked together via a centralized server so that triggering events can originate from any one station, or from a location remote from any or all of the stations, and the audio or video media and metadata or command messages associated with the triggering source are delivered to the encoder suite of each participating station, and operated and synchronized through the buffer delay system individual to each, so that all such stations send the appropriate media and command messages to their Internet audience so that all media players of all such stations act uniformly, but with properly synchronized audio and video and other content.
The innovations described herein enable the delivery of metadata associated with songs and other content, such as the artist and song title, with precision timing so that the display of the artist and song title for the a new song occurs at the moment that new song begins playing. It enables the replacement of one type of content with another type, for example, to replace an audio ad with a video ad. Furthermore it enables the replacement of generic ads transmitted by the encoder with demographically targeted ads such that each listener might receive an ad customized for them. It also recognizes that the listener environment may well include listeners with devices and software systems that are incapable of performing this type of content replacement, and therefore it provides an arrangement such that a generic replacement ad will be delivered to all listener devices, and if an individual listener device is incapable of performing content replacement it will play the generic replacement ad and thus will deliver a continuous uninterrupted stream to the listener, and they will be unaware that some alternative content might have been played.
Recalling the discussion of rubber-banding, it is a software process sometimes referred to as a delay filter which is a software mechanism for snipping out particular content elements and replacing them with other content elements. Metadata associated with the content element is tied to the media data in the delay filter, so that the metadata is transmitted to the server complex and then to the client devices synchronously with the beginning of the associated content element. Regardless of how much delay might have been introduced, when a new song begins to play the artist and title information associated with that song is available to be displayed at the moment the song begins to play.
The above described architectural features enable the implementation of unique content replacement of broadcast radio and TV on the Internet. In addition, the technology enables other unique and valuable features including the dynamic presentation of A/V content in association with a streamed media program, and the ability for a radio personality to turn a web cam on or off and have the associated video feed dynamically appear or be removed from the media players of the audience. These and other features are described herein.
Other aspects and advantages of the disclosed embodiments will be apparent upon consideration of the drawings and detailed descriptions, which follow.
BRIEF DESCRIPTION OF THE DRAWINGS
The invention will be more fully understood when reference is had to the following detailed description of the embodiments and the accompanying drawings, in which:
FIG. 1 is a schematic illustration of the content replacement embodiment showing the main component systems and primary subsystems;
FIG. 2 is a flow chart of the encoder process when content replacement is to take place at the encoder;
FIG. 3 is a flow chart of the encoder process when content replacement is to take place at the media player;
FIG. 4 is a flow chart of the media player process when content replacement is to take place at the media player;
FIG. 5 is an illustration showing the dynamic reconfiguration or a media player as it changes from standard mode to a mode for playing a video ad;
FIG. 6 is a stylized drawing of an Action page and its widgets;
FIG. 7 is a schematic illustration of the system for the Pop-Up Web Cam and Dynamic Content for a DJ, announcer, or talk show host;
FIG. 8 is a schematic illustration of the system for Talk Show Host Dynamic Presentation of Audio/Video Content.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
What follows are detailed descriptions of exemplary embodiments, but the scope of the invention is defined by the claims that follow the detailed description, and is not limited to the disclosed embodiments.
Content Replacement
One embodiment comprises the ability to replace one element of content with another, for example, one audio ad may be replaced with another audio ad of the same or different duration. In this situation, content replacement is performed by the encoder.
Another embodiment comprises the ability to replace one type with content of another type, for example, the original content might be an audio stream in Windows Media Format (WMA), but the replacement might be a video. Further, a video might replace another video of a completely different format, for example WMV video might replace MP4 video, or an H.264 video, or a Flash SWF video. In these situations, the encoder will cause the replacement to be performed at the media players.
Referring toFIG. 1, anencoding computer110 is connected to a radio station's100audio chain101 and to the metadata output of the radio station'sbroadcast automation system102. Theencoding software suite110 incorporates adelay filter130. The incoming audio is directed into the delay filter by theencoder control120. Metadata in association with an audio event, such as the playing of a song or commercial, is received and processed. For some events, such as the playing of a song, theencoder control120 may insert metadata such as the artist and title of the song into thedelay filter130 at the beginning of the audio for the song. When the audio for the beginning of thesong132 exits the delay filter and is sent to thestream encoder150, the associatedmetadata131 also exits and is sent to thestream encoder150. At that time the encoder converts the metadata into acommand message162 and inserts it into theaudio stream161 as it is being encoded, for to themedia server160 for ultimate delivery to themedia players170 via composite A/V stream163 which incorporatescommand messages164.
For other events, theencoder control120 inserts the replacement audio content fromstorage140 into thedelay filter130 and thus creates a newcomposite stream161,162 which is delivered to all media players. Theencoder control120 may translate received metadata into command messages of a different type, and insert thosecommand messages131 into thedelay filter130 in synchronization with the associatedreplacement audio132. Also the encoder may send a “Get Ready”command message133 to themedia players170 via theencoder150 as soon as the metadata is received from the automation system. For example, when one ad is replaced with another, the replacement ad may have an associated “companion” banner ad having a visual description of the audible ad. The “Get Ready” or pre-fetch command enables the media players to queue up that associated content.
Using the script command process identified previously, information about the content to be replaced at the player is delivered from theencoder110 through thecentralized server160 and to theclient device170 by tying metadata associated with the content element to be replaced to the audio data in the delay filter, so that the metadata is transmitted to theserver complex160 and then to theclient devices170 synchronously with the beginning of the associated content element. However, for a replacement video, that process would be inadequate if the script command were sent out at the time the replacement content were to appear because there might be a gap of several seconds for a video ad to start playing while the video was retrieved fromad media server180 and queued up. To solve that problem a pre-fetch script command (a “Get” command) is used as well as the play-now script command (a “Start” command) which is inserted into the delay filter in association with the beginning of the replacement audio content, each message command having an associated unique ID. Thus when the new composite stream is ready to be played out by the encoder and transmitted to the server complex it will simultaneously transmit the play-now script command. Once the encoder selects an ad or other alternative content for replacement at the player it sends a pre-fetch script command to the player. When the player receives a pre-fetch script command, it uses the URL or othersuitable designator181, which is also included in the ad list information and in script command, to fetch thereplacement content182 fromad media server180 and load the actual media object into anavailable player object173.
Theclient system170 will receive the play-now script command at the exact moment when the replacement content (perhaps a video) is to begin playing, andsoftware171 in theclient system170 receives that play-now script command and in turn delivers a start playing command to the player object holding thepreloaded video173. Since the video is preloaded it begins the play immediately, and there is no discernible evidence to listeners or viewers that any replacement or interruption whatsoever has taken place. The replacement of content is perfectly seamless.
Theencoder software suite110 has software to respond to content replacement triggers. In one embodiment, metadata is received from a connectedbroadcast automation system102. Software in theencoder suite110 causes theencoder control120 to replace the associated content with alternative content. The encoder maintains a listing ordatabase140 of available alternative content, which may be ads unique to the station, or national campaign ads, and so forth. Thedatabase140 includes metadata about the ad such as the duration of the ad, format of the ad, the beginning and end dates of the campaign, the times of day for the ad to be run, and so forth. Periodically throughout the day the encoder is delivered an updatedlist191 of available replacement content and a prioritization scheme frommanagement server190, along with replacement content media, so that theencoder suite110 can optimize content replacement. For example it would preferentially choose the radio station's own ad rather than deliver a Public Service Announcement (PSA).
Thead list191 delivered to the encoder is comprised of two basic types of information. The first is a listing of the generic replacement content that is to be delivered as “background” or “cover” to all player devices, and the second is a listing of replacement content to be replaced at the player device. For content to be replaced at the player, the ad list includes an identifier for the ad as well as the duration and media type information.
In playing videos as alternative replacement content there may be audio-oriented listener devices and systems incapable of playing that video content. To accommodate these devices the original content received at the encoder is replaced with “cover” or “background” audio content. For example a local audio ad to be replaced at the player with a video ad, is also replaced at the encoder with audio content such as a national audio ad or a PSA. This replacement content is delivered through the sequence of systems to the client device along with the associated metadata identifying the beginning of the content and other information associated with content, such as the duration. Those media players capable of playing the replacement video ad will do so, the others will simply play the station's audio stream, which at that moment will consist of the national audio ad or PSA.
Now referring toFIG. 2, for generic replacement content to take place at the encoder, audio and metadata are received at201 by the encoder suite. Received metadata is translated to a command message, if possible, at203. If an action indicated by the metadata and/or translated command message is to not replace content at the encoder atstep205, then the process stops, or, from a programming standpoint, the process moves to step220 ofFIG. 3. But continuing withFIG. 2, if content is to be replaced at the encoder instep205, then an ad (or other content) atstep207 is drawn from thealternate content repository140, and atstep209 the audio for the replacement content is inserted into thedelay filter130 along with a Start command, if one exists for this content replacement type. Followingstep209, if the command or replacement type indicate to theencoder suite110 that pre-fetch is required atstep213, then at step215 a pre-fetch command for the content replacement is inserted intoencoder150 and is immediately transmitted tomedia server160 and then tomedia players170. Also followingstep209, atstep211 the replacement audio and any associated Start command exit thedelay filter130 when the delay expires, and are inserted intoencoder150 wherein the audio is digitized and merged with the command message into acomposite stream161 that is sent tomedia server160 and then tomedia player170. At this time, atstep217, the generic replacement audio ad begins playing at themedia player170.
A similar process takes place for ad replacement at the player. Refer now toFIG. 3. Audio and metadata are received at201 by the encoder suite. Received metadata is translated to a command message, if possible, at203. If an action indicated by the metadata and/or translated command message is to not replace content at the player atstep220, then the process stops, or, from a programming standpoint, the process moves to step205 ofFIG. 2. But continuing withFIG. 3, if content is to be replaced at the player instep220, then an ad for the player is selected atstep221 and an ad (or other content) atstep207 is drawn from thealternate content repository140. Atstep222 the audio for the replacement content is inserted into thedelay filter130 along with a Start command for the content replacement at the player. Followingstep222, then at step215 a pre-fetch command for the content replacement is inserted intoencoder150 and is immediately transmitted tomedia server160 and then tomedia players170. Then atstep224, the media player will pre-fetch the content indicated in the pre-fetch command message, and prepare the video player object175 (assuming the replacement content is a video) to play the video.
Also followingstep222, atstep211 the replacement audio and the associated Start command exit thedelay filter130 when the delay expires, and are inserted intoencoder150 wherein the cover audio is digitized and merged with the command message into acomposite stream161 that is sent tomedia server160 and then tomedia player170. At this time, atstep226, the background, or cover, replacement audio ad begins playing at themedia player170 for those media players not capable of playing the alternate video content. Atstep228 content replacement at the player takes place such that the replacement video starts to play throughalternate player object173, and main media player object172 is muted.
Video replacement ads are replaced at the media players. Refer now toFIG. 4. Atstep240, themedia player170 receives acommand message163 frommedia server160 comprising instructions to replace the main audio stream with a video stream.Media player170 assigns anavailable player object173 for the video atstep242.Media player170 mutes and hides or turns off the visual display ofplayer object173 atstep244, then atstep246 delivers the alternate content URL for the video toalternate player object173. Atstep248, themedia player170 starts thealternate player object173, lets it run for a few seconds, and then stops it atstep250. Thealternate player object173 will have downloaded a significant portion of (and perhaps the entire) the replacement media object in those few seconds in which it was in play mode, considering that media players are currently designed for instant-on and fast start theplayer object173 will attempt to download as much of the media as it can as fast as it can to fill its buffer. This achieves the objective of preloading the media so that it is instantly available when the start playing command arrives. During this process the player has run for nominally about 5 seconds, and as a result, when the start command is received, the player will continue to play from the point where it previously stopped—5 seconds into the content, rather than from the beginning. To solve this, a rewind command is delivered to theplayer object173 atstep252 to reset it to the beginning of the media content. Themedia player170 atstep254 then awaits receipt of the Start command message to play the video. When the player is given the Start command, it will play the queued up media from the beginning, and it will start immediately. At the moment themedia player170 receive the Start command atstep256, it mutes the media player object172 of the main audio stream, makes the media player object of thevideo stream173 visible, and starts it. When the video is finished, or at the end of the specified duration of the video, the media player stops the video player object, hides it, and unmutes the main audio stream media player object.
As yet another embodiment, different ads can be delivered to different listeners by a simple modification of the process described above. Assume that there is an ad delivery vendor with a large inventory of ads, and having information associated with those ads so that they might be preferentially selected based on the demographics or location of listeners or viewers. Also assume that the vendor has mechanisms using methods such as cookies to identify the types of sites that an individual might have visited, and other mechanisms such as are commonly employed in the Internet ad delivery business to determine or estimate user preferences and demographics. In the process described above, a database system selects ads for replacement at the client, and provides a list of these ads (or other content) to the encoder for delivery via the script command mechanism. For the delivery of ads customized to each user, included in that list is the appropriate information for the client system to draw an ad from the ad vendor. Essentially, instead of delivering a script command to each user containing the URL of the asset to be played, the script command contains instead the URL or ad tag information of the ad vendor. The ad vendor makes the selection of the ad to be delivered based on their mechanisms for assessing demographics, estimating or determining user preferences, determining the user's location, etc.
Alternatively, the webcasting service, utilizing the components, methods, and systems described in the various embodiments may also provide the function of an ad delivery vendor.
The encoder will use its list of replacement ads and prioritization criteria to select the replacements. The list may include audio ads to be delivered to all the audience, and it may include video ads which may not be playable by the entire audience. In this circumstance theencoder suite110 ofFIG. 1 will insert a “cover” audio ad. In one embodiment, cover ads are comprised of the audio portion of the video to be played. A process (not shown) extracts a copy of the audio track from video replacement content. The relationship of audio-track files to video files is stored in amanagement server190.Management server190 delivers the audio track and the relationship of audio track files to video files via the content andinstructions connection191 to theencoder control120 for storage in thealternate content repository140. When a video is selected as replacement content by theencoder control120, it obtains the audio track associated with the video fromrepository140 and inserts the audio track into thedelay filter130 along with the Start command message for the video, and inserts a pre-fetch Get command message vialogical path133 into theencoder150 for immediate delivery to themedia server160 and themedia player170. Benefits of this arrangement include: one, the replacement cover content is exactly the same duration as the replacement video; and two, devices which cannot play the video will at least play the audio portion of the video, and thus the advertiser will benefit in that their message was at least partially delivered to those users.
In radio broadcasting terminology, breaks for commercials are referred to as spot breaks. Typically, spot breaks are two to six minutes, and may include a combination of ads of varying durations, from 15 seconds to 60 seconds. However, the availability and duration of replacement spots may be different. For example, the replacements may all be 60 seconds. Using the rubber-banding process, the encoder will insert one ad after another until the spot break is completed. If the spot break was 2 minutes 15 seconds, and the encoder inserted three 60 second ads, the delay in the buffer will be increased by 45 seconds. If this increase were to cause the delay to exceed a limit, the encoder will remove the 3rdinserted ad and shrink the buffer, which will now be reduced by 60 seconds.
If the delay in the delay buffer has become too long due to inserting lengthy replacement ads in place of shorter ads, the encoder may drop one of the pre-selected ads, as described above. In this circumstance, the players have already received the “Get” command. Players would store the list of received Get commands in a standard programming structure such as an array. As Start commands are received and the replacement media is played, the associated Get commands are removed. However, Get commands for ads that have been dropped by the encoder will still be maintained by the player. To solve this, the player will periodically examine the list of Get commands and the time each command was received, and remove stale commands. Alternatively, the encoder will send a Cancel command with the ID of the Get command for the replacement ad that has been dropped. The player will then remove that Get command from its list.
The listing of replacement ads received by the encoder may also include the IDs or URLs of companion content to display in association with the replacement ads. These may be conventional banner advertisements. The Start and Get commands sent by the encoder to the players include such IDs or URLs of associated content, for retrieval and display by the media players.
In another embodiment, when a player receives a command message to play a video, it can be programmatically arranged to reconfigure itself so that the video is displayed in a particular region of the screen. A display region (typically, an HTML “div”) may be created, sized appropriately, positioned where desired, hidden until needed, and made visible when the video starts. Overlays can be created to partially or fully hide other elements of the media player, and to serve as a backdrop for the video to create a more artistic presentation, and to help the user differentiate the video ad from other content that may be present on the player. As part of the ad list provided to the encoder, videos may have an associated companion content such as a banner ad, and the URL or other descriptive data of the banner ad is delivered to the player at the time the similar data for the video is delivered to the player. Just as the player can be dynamically configured to present the video ad, it can also be dynamically configured to present the associated banner ad. Thus, for a video to be presented without a companion banner, the player can be configured one way, and with a companion banner the player can be configured another way. At the same time, to optimize the entire media player while a video or other replacement content, or additional content, is played or shown, other display elements or regions can be resized, moved, hidden, shown, dimmed, highlighted.
Referring now toFIG. 5, the top drawing A) illustrates the configuration of themedia player170 in its standard mode, and bottom drawing B) illustrates thesame media player170 as it is configured to play a video. The illustrated elements of A) are aradio station logo300; a 728×90banner ad302; acontrol bar304 having media player controls such as start, stop, and mute; aregion306 for radio station display purposes includingselector buttons308, acustomizable display region310, and a 300×250banner312; and aregion314 for the display of artist and title of the song currently playing.
When the player receives the command messages to play a video ad, the player morphs to configuration B), in which 728×90banner302 is removed,logo300 is removed or hidden,control bar304 is shrunken or replaced with a smaller version, and elements ofregion306 are partially or completely overlaid by new elements comprising a translucent oropaque background316 containing avideo window320 and awindow318 to display a companion banner for the video.
Dynamic Presentation of A/V Content:
A talk show host may wish to show a video clip about a topic they are discussing, or perhaps a financial news anchor may wish to show a stock market chart. A DJ may want to show photos from a local concert, the news announcer may want to show pictures of the accident that clogged the highway at rush hour. All of these are enabled by the following embodiment.
A talk show host, or DJ, announcer, or producer can preset a number of content elements, including audio snips, video clips, still images, or text via a control panel web page or desktop application (an “Action” page) or similar facility as illustrated inFIG. 6, for later presentation on themedia players170 of the audience. In real time, the host clicking on any one of the preset content elements will cause that media item to appear and/or play in a window on the media players, and the appearance will be synchronized with the host's audio announcing the presentation of that item, so that the presentation to the audience will be transparent of buffering delays, and the audience's experience would appear the same as that of an observer in the studio.
Each radio station (or TV station) streaming on the Internet has a separate, unique, streaming link on their website which listeners (or viewers) click on to connect. This link most commonly connects to a distribution media server or server farm located in a datacenter on the Internet backbone. These links directly or indirectly connect to Publishing Points, or Mount Points on the distribution media servers. In the standard arrangement, a radio station has an encoding computer at the studio that encodes the station's audio and transmits it to the centralized distribution servers. Listeners are caused to connect to the distribution server in order to play the radio station content by clicking on the Listen link on the station's web page. The talk show host feature enables the talk show to deliver dynamic content to radio station listeners on the Internet in synchrony with the talk show audio for a single radio station, or for multiple radio stations, even though the streaming link is different for each station, and even though the buffering delays may vary considerably between such stations.
The control panel Action page,item330 inFIG. 6, can hold an arbitrary number of “widgets”332, where the widgets are small boxes or sections of the page, and each widget holds the representation of a unique content element as suggested bywidget334. Each widget can be loaded with a static image or video file or other content to be shown to the audience on command. Content can be selected336 and uploaded338, using conventional web controls. A producer uses the Action page to upload (or revise/delete) audio, image, or video files (content elements, or media files) to a central server file storage folder. Typically the central server will be a web server, although video content may be uploaded to a media server. Each box allows for the selection and upload of a specific media file and fields or buttons for functions such as:
a) a useful name,
b) a file name,
c) a description,
d) a date and time,
e) a browse button to locate the file,
f) a test “show it/play it” button for local display,
g) a close button for the test display,
h) an Upload button,
i) a “Show It/Play It” for the Audience button, and
j) a “Hide It/Stop It” button.
The media files are uploaded to and stored on the server in appropriate file folders or database tables. The meta-data regarding the media files [such as items a) through d) above] are similarly stored. When the producer opens the Action page, the boxes are populated with the meta-data from the server. The available action buttons then allow the producer to update, delete, or create new entries, or to view/play the contents of any widget.
When the talk show host clicks the “Play” or “Show”button340 for any of these, a script command is generated by the Action page that ripples through the system and the delay filter in a similar fashion to the ad replacement system described herein, and is ultimately delivered to the audience media players which will fetch the desired content and present it in the intended viewing area. The particular path that the command messages will follow is dependent on the particular connectivity arrangement for that station or talk show.
In a single station arrangement as illustrated inFIG. 7, the DJ ortalk show host400 would access theAction page330 via a convenient computer, perhaps alaptop412, and typically not the encoding computer which is usually located in an engineering room to be accessible to the station's audio feed.Action page330 would typically be hosted byDJ laptop412, but may be separated and connected tolaptop412 viadata link416. TheAction page330 has external network access415 (shown as TCP connectivity to the Internet cloud417) to theweb server446 which stores theAction page content448 of media files and metadata information. Thelaptop412, and hence theAction page330, also hasinternal network access418 to theencoding computer110, which has software to communicate with the Action page. When a Play or Show button on theAction page330 is activated, theAction page330 and associatedlaptop412 sends acommand message420 via TCP link418 to theencoding computer110, the command message containing the metadata of the media file (such as a URL) and the Action to be performed (such as Play or Stop). Optionally, the encoding software sends a Get command message for the desired action viaconnection434 to theaudio publishing point435 ofmedia server160.Media server160 relays this Get command message via the audio stream onInternet link440 to theplayers170.
As described previously with respect to the replacement of an audio ad with a video ad, when the player receives a Get command it assigns a player object to that purpose, if so required, and provides the URL to the media player object, and instructs the player object to pre-fetch the designated media element.
Theencoding suite110 also inserts an associated Start command message into thedelay buffer130 synchronized with the station audio being received at that moment. When the audio and the associated Start command message exit thedelay buffer130 the station audio and the Start command message are delivered to the audio encoder ofencoder suite110 which encodes the audio and inserts the command messages and transmits the composite signal viaaudio link434 toaudio publishing point435 onmedia server160. Media server, in turn, relays the command messages to anymedia players170 connected toaudio publishing point435.Media player170 receives the command message to display or present dynamic content, assigns a display region, and issues a Start command to the assigned media player object. Some content such as text or images do not require the involvement of a media player object. The media player writes the associated URL in an appropriate fashion, such as in an image tag, into an HTML div, and causes the web page to fetch and display that content.
The presentation of the dynamic content is similar in effect to the display of video replacement ads and companion banners as illustrated inFIG. 5. Considering drawing B) Configuration for Video, the dynamic content may be presented inelement318, while the image from a DJ web cam may be presented inelement320. This combination allows a DJ or talk show host or announcer to turn on a camera so they can be seen, and show topical material as they discuss those items. These configuration changes and the appearance and removal of dynamic content take place entirely without action on the part of the audience. They just watch.
Multiple stations at the same physical location are treated similarly. TheAction page330 has TCP network access to theencoding computers110 of the desired stations, and the command messages are delivered to each of those encoding computers simultaneously. The process for each station, having received a command message, is as described.
As stated previously, command messages can cause the media players to dynamically configure themselves for the proper presentation of the media element to be displayed. For example, display regions can be expanded or contracted, exposed or hidden, highlighted or dimmed or overlaid with translucent screening. New text and messages can be presented, and others removed. In fact, every display element on the media player can be dynamically changed upon the receipt of a command message. Referring again toFIG. 5, this illustration can be interpreted as previously described, except that drawing B) Configuration for Video now applies to the video from the DJ camera wherein the camera image is displayed invideo window320. In this embodiment, thecompanion banner window318 may not be displayed, or may be used to display other dynamic content under command of theDJ using widgets332 on theAction page330, as will be described more fully in the context of another embodiment.
In another embodiment, media players can be substantially changed dynamically and in real-time, or according to a schedule. For example, if a radio station switches during the day from a music format to another format such as news, talk, sports, or gospel, or to a particular talk show program, or from one talk show program to another, the media players can be reformatted to reflect the character of the new program, without the users performing any actions. A schedule can be maintained by the streaming service provider that permits radio stations or talk show hosts to set dates and times, as well as formatting parameters to be used for each show. Formatting parameters might be templates. Each radio station encoding suite will obtain the schedule and associated formatting or configuration data. At the appropriate times, the encoding suite will send command messages to the media players, causing them to be reconfigured for the new show. For convenience, there are pre-written scripts in the player that respond to specific command messages in prescribed ways. But also, command messages may contain specific JavaScript, HTML, and CSS instructions to reconfigure the media player dynamically and in any arbitrary fashion. For example, any or all HTML divs could be deleted or emptied, and the body tag itself could be emptied and rebuilt via JavaScript instructions.
Multiple Stations
For arrangements of multiple stations, whether the stations are of common ownership, or a program such as a talk show is syndicated across stations of separate ownership, each station will have its own listeners, and the delay in its delay filter will be of an arbitrary value. Therefore, the command messages are delivered to each station's encoder software, to be inserted into the delay filter and sent the listeners of each station in the fashion previously described.
In order to simultaneously deliver the command messages to multiple stations there must be common TCP networking connectivity, which would not normally exist. This is achieved by a TCP Service which unites all the encoding computers together, which may be operated by the streaming media service provider, Internet hosting service, or similar service provider, although it could be operated by a syndication service.
Referring toFIG. 8, in this embodiment there is aTCP Server500 that operates aTCP Service504. Eachencoding computer110 has corresponding TCP software that logs into the TCP Service viaTCP Message Channel508, and maintains an open TCP connection as long as desired. That connection may stay open permanently, and the encoding computer's TCP software may be configured to continuously re-establish the connection if the connection were broken. It is preferred that the TCP communications be originated by the encoding computers due to firewall issues, but it could be done in the reverse, wherein the TCP Service would initiate and maintain the connections.
In an alternative embodiment, eachencoding computer110 maintains a schedule of talk show and similar programs carried by the station. At the appropriate times the encoding computer initiates a connection to the TCP Service. That schedule could be maintained centrally as an administrative function, and the schedule pertinent to each station could be periodically delivered to the encoding suite, such as byManagement Server190 onFIG. 1.
Via the login process, the TCP Service has the identity of the TCP channel or socket associated with each encoding computer.
An Action service page502 (a program, such as asp, aspx, or PHP) runs on theTCP Service server500 or an associated server, and may be the same program that launches the talk showhost Action page330. TheTCP Service504 has anadministrative module506 that maintains login permissions, and has a listing of radio stations associated with each talk show program. When a talk show host clicks an Action button on a widget, theAction page330 submits a request to theAction service page502 which submits a set of parameters to theTCP Service504, including the name of the talk show or radio station, the name of the file to be shown on the audience media players, etc., as well as the command message to be sent to the media players.
By referencing the list of talk shows and radio stations, the TCP Service determines which radio stations to deliver the command message to. It has the TCP channel (socket)508 open for each of those radio stations, and forwards the command message to all of them at the same time.
Eachstation encoder110 is unaware of other stations on this network, and acts independently, just as before. Theencoding system110 receives the command message, and A) sends out a Get script command that is delivered immediately to the audience media players by inserting the command message into the audio encoder, using the arrangements described herein, so themedia players170 can pre-fetch the content, and B) inserts the companion Start script command into thedelay buffer130. When the delay buffer timer counts down to zero, theencoding system110 sends the Start command out to themedia players170 by inserting the Start command message into the audio encoder. The Get and Start command messages are sent from the audio encoder element of theencoder suite110 to themedia server160 andaudio publishing point435 which is associated with the encoder suite110 (recognizing that radio stations may utilize different streaming service providers and media servers, and will have their own publishing point even if they use the same service provider).
Whenmedia players170 receive the Get and Start command messages they will, as described herein, assign a display region, assign a media player object if the content to be displayed so requires, configure the media player display elements for the desired presentation format, deliver the URL for the content to the assigned media player object, or otherwise cause the content to be obtained fromweb server446 and Actionpage content repository448, and displayed.
In this embodiment, Action messages initiated by a talk show host will cause the display of the media element associated with the Action control panel widget on the media player of every audience member of every participating radio station. The media elements will be displayed synchronously with the corresponding talk show audio, since that audio also runs through thedelay filter130 of eachencoder computer110
As a side explanation, it should be realized that syndicated programs such as talk shows have well established arrangements to deliver the host's audio to each station in the syndication network. Typically this is done through satellite connections as shown withmicrophone514 andtransmitter510 at thelaptop412, andreceiver512 at thestation encoder110. But however the audio feed arrives at each station is irrelevant. For satellite distribution, the audio arrives through the satellite link, to the broadcast automation system, through the station's audio chain and out to the transmitter, all with essentially no delay. Thus, from a practical perspective, there is no difference between audio arriving from a microphone in the studio and audio arriving from outer space. The only delay that matters, for our purposes, is the delay introduced in the delay filter for purposes of ad replacement and other requirements. And thus, the arrangement just described operates as well regardless of the origin of the audio.
Further, even though a DJ or talk show host or announcer may be associated with only one station, they may be remote from the station. For these remote broadcasts, the laptop and associated Action page and web cam requires TCP network access to the encoding computer of the station, which can be achieved with conventional networking technology. However, in another embodiment, the multi-station arrangement just described applies equally well to service this arrangement of one or more presenters having remote broadcasts for a single station.
Generally, the new content is to be presented concurrently with the talk show audio, not replace it. The content, for example, might be a video clip about a news article, and the talk show host might want to talk over the audio of the video clip in order to comment on it. In this case, dependent upon the script command received by the audience media players, those players may be instructed to simultaneously render the audio from both the talk show host and the dynamic media content. As another embodiment in these circumstances, software at the encoding computer can download the dynamic content and insert it into the delay buffer, and then merge the two streams in the delay buffer into a single output stream that gets delivered to the encoder. However, there may be circumstances where the talk show host would want the audio of either the dynamic media content or the talk show host studio audio suppressed, and that capability can be provided with selector buttons on the Action page widget that cause the construction of appropriate script commands to provide the necessary instructions to the users' media players.
In still another embodiment, whereas in some embodiments dynamic media content is accessed by a media player object in the user's media player, in an alternative embodiment, media content actuated by the Action page may be accessed by a media player object incorporated into the encoder suite. Audio and video from that player object can then be inserted into the delay filter and merged with the station's audio, and the combined audio and video delivered as output to the encoder and then to the users.
Whereas much of the previous descriptions referred to dynamic media content, perhaps implying streamed audio or video, other dynamically accessed content may be static in nature, such as a photo or text file. Static content is best accessed via a web server in the conventional fashion, and the URLs or links provided to the media players to access these items would have appropriate targets to access these items correctly.
Pop-Up Web Cam for DJ or Talk Show Hosts
There are numerous contemporary examples of radio stations that put a camera in the studio in front of the DJ, and leave it on continuously. But most of the time, the DJ isn't there (they might be out selling ads), or the DJ is looking down and so the camera shows the top of his or her head. DJs don't talk much, so most of the time when the DJ is there, it's like a silent movie. Turns out to just be a bad idea.
But what would make sense is to give the DJ the ability to dynamically turn the camera on or off when the DJ has something to say. Perhaps a DJ wants to give an intro to a song, or talk about a recent local concert, or insert some personality into the show in some other ways. In a similar fashion, an announcer might like to have a camera on when he or she is giving a news, sports, weather, or traffic report.
A talk show host, however, might like to have a camera on for the duration of his show, except perhaps during the spot breaks when he may wish to walk away from the studio. If the talk show host would like a camera on full time, and all talk shows originate from the same studio at that station, and there are no interruptions from syndicated programs, then a fixed, full time studio cam might work acceptably well. The station would simply use a video publishing point instead of an audio publishing point, and the link on the station's web page would direct the audience to the video publishing point.
But this is seldom the case. In the real world, many talk show hosts broadcast from various locations rather than the station's studio, station's do carry syndicated content, and so they definitely would need to turn the camera off during those broadcasts, and even during a single three hour show, the host may need to take a break.
In an embodiment addressing this need, a radio station personality such as a DJ, an announcer, or a talk show host can click a Start button on an Action control panel web page to turn on their web cam and cause the video to open and appear in a designated window on the audience media player, and to turn off the video and close the video window when the Stop button is clicked.
The appearance of the video window will be synchronized with the station's audio so that any announcements preceding the start of the web cam will be presented to the audience immediately before the video appears, so that the presentation to the audience will be transparent of buffering delays, and the audience's experience would appear the same as that of an observer in the studio. The feature works seamlessly whether the video content is streamed to only one radio station or to many. Except where noted, this web cam embodiment uses essentially the same technology as described above.
In a single station embodiment, the arrangement is similar to that of the previously described arrangement for a DJ or talk show host to present dynamic content to the Internet audience. In this embodiment, there is an Action page which includes buttons to turn the audience display of a web cam on or off. The Action page runs on a local computer, perhaps a laptop, which has a web cam attached or which controls a web cam or video camera of some type. The Action page may include widgets, as before, for the display of dynamic content to the Internet audience. If the Action page is also to display dynamic content, it has external network access to the web server which stores the media files and metadata information.
The laptop, and hence the Action page and web cam, also has internal network access to the encoding computer, which has software to communicate with the Action page. When a Show Web Cam button on the Action page is activated, the Action page sends a Show Web Cam command message to the encoding computer and begins streaming the camera feed to the encoding computer via TCP. The encoding suite has software arrangements to receive the command messages from the Action page, and to receive and process the audio/video stream from the camera.
The camera A/V stream may be encoded by the camera, or by encoding software in the laptop, into a conventional compressed format such as MPEG4, or the stream may be delivered in uncompressed format inside a suitable packaging container such as AVI. The encoding suite software may decompress the web cam video stream, or transcode it to an alternate format, as might be necessary for compatibility with other aspects of the overall system.
The encoding suite software inserts the received web cam stream into a delay filter, which operates parallel to the delay filter used for the station's audio. Thus, the station's audio, and the web cam video are in sync. The associated command messages are inserted into the delay filter in association with the station's audio so it is available for delivery to the audience media players.
The output of the delay filter for the station's audio is directed to one encoder which sends the encoded audio stream to the main publishing point on the media distribution server—the “Listen” link on the station's web site connects to this publishing point.
The output of the web cam delay filter is directed to another encoder which sends the encoded a/v stream to another publishing point. When the Start Web Cam command message is first received by the encoder suite, it can start the video encoder and have it connect to the video publishing point, and just send a black signal (the actual video must run through the delay filter, or it will be out of sync).
When the web cam Action command messages are first received by the encoding suite, the equivalent “Get Web Cam” message is sent to the media players through the audio encoder via the mechanisms previously described. The Get Web Cam command message will include the video publishing point name or appropriate reference such as a URL or a code. And, also as described before, when the video delay filter reaches time zero for the start of the video media, the encoder suite sends the equivalent “Start Web Cam” command message to the media players. When the DJ stops the camera, a “Stop Web Cam” message is delivered to the encoding suite, and to the audio delay filter, and is sent to the media players when the delay reaches zero and the video delay filter is empty.
As previously described, when the media players receive a Get Web Cam command message they can prepare for the presentation of video by connecting to the video publishing point identified in the command message and pre-configuring the media player display presentation. Upon receipt of the Start Web Cam command message, the media players will complete any configuration changes and begin the display of the video in the desired display region. On receipt of the companion Stop Web Cam message, the media players will disconnect from the video publishing point and reset the media player configuration to a desired mode.
The particulars of this embodiment are described in reference toFIG. 7.DJ400 hasheadphones402 andmicrophone404 connected to amixer406 which carries audio between the DJ and anautomation system422 or components of the station's audio chain. The station's audio is input into theencoder computer110 viaconnection424, and metadata from the broadcast automation system is input viaconnection426.Mixer406 may also provide a feed of either the DJ's microphone output, or of the mixed studio audio viaconnection408 to theDJ laptop412.Camera410 also connects tolaptop412. Thus the camera may provide its own audio, and there may also be an audio feed from the studio. In either case,laptop412 may incorporate an encoder, and that encoder may be commanded to mute or encode the audio from the camera, and to encode or not encode the station's audio. The selection of these audio feeds may be variable and may be provided to the DJ via buttons or check boxes on theAction page330.
Using the above described connectivity, when the DJ clicks a Show Camera button onAction page330, associatedlaptop412 starts the video feed fromcamera410 across TCP link418 to theencoding computer110 and simultaneously sends an equivalent ShowCamera command message420 via TCP link418 to encodingcomputer110. The encoding suite on encodingcomputer110 inserts the video feed into thedelay filter130, and inserts a Start Camera command message into thedelay filter130 at the start of the video media data, and sends a Get Camera command message to the audio encoder for immediate delivery tomedia players170 via theaudio publishing point435. When the beginning of the video exits thedelay filter130 it is input into a second encoder which outputs viaconnection432 tovideo publishing point433 onmedia server160. Station audio and command messages are output by an audio encoder of the encoding suite vialink434 to anaudio publishing point435 onmedia server160. At the same time as the beginning of the video feed is output tovideo publishing point433, the Start Camera command message exits thedelay filter130 and is input into the audio encoder whereupon it is inserted into theaudio feed434 for delivery to theaudio publishing point435 ofmedia server160.
When amedia player170 receives a Get Camera command message vialink440 frompublishing point435 it assigns an available media player object to play the video, mutes that player, hides the player if not already hidden, delivers the URL of the video feed atpublishing point433 to the player object, and optionally starts the video playing. The video encoder may transmit a blank signal to the video publishing point until the video transits the delay filter, and if so the player object will be able to connect in advance of the time when the DJ image appears.
When amedia player170 receives a Start Camera command message viaaudio publishing point435 ofmedia server160, themedia player170 starts the media player object that has been assigned to play the video and the video begins to play. Concurrently, the window assigned to display the video is revealed if not already visible. Simultaneously, themedia player170 may optionally mute the audio player object or the video player object, dependent upon the detailed nature of the command messages that have been received, which may be reflective of the physical arrangement ofmixer406 andaudio feed408.
Even though a DJ or talk show host or announcer may be associated with only one station, they may be remote from the station. For these remote broadcasts, theAction page330 requires TCP network access to the encoding computer of the station, which can be achieved with conventional networking technology.
Optionally, the system described may utilize only one encoder and one publishing point, wherein the video feed fromcamera410 is inserted into the single encoder component ofencoder suite110, and is output to a single publishing point such asvideo publishing point433 onmedia server160, to which themedia players170 are connected.
In another embodiment, the dynamic web cam embodiment can be operated in conjunction with the dynamic presentation of content embodiment, in a synergistic fashion. For example, a DJ might turn on his camera and then talk about a radio station contest, and by clicking a button on an Action page widget, cause a window to open on the media players showing information about the contest or photos of contest winners. The two display windows (divs) can be arranged so that the relationship between the announcer and the topic and material he is presenting is intuitively obvious.
Media players that have connected after command messages have been sent will be unaware of either the availability of web cam video, or of dynamic content. To accommodate these users, the encoders responsible for sending the command messages will periodically send repeat messages, perhaps once a second. The messages will be designated as “Repeat” so that media players which have already received them will not duplicate their responses.
Web Cam for Multiple Stations
In a multi-station embodiment, audio (or video) for syndicated content carried by affiliate radio stations is delivered to each radio station via arrangements outside the interest of this patent application. That audio feed might be delivered by satellite, dedicated phone lines, or other arrangements. In whatever fashion the syndicated audio is delivered to the station, the important fact of consideration here is that multiple stations might be carrying a talk show host's program, and when the talk show host turns on his web cam, the associated video content stream needs to be delivered to the audience listening to each of the affiliated stations.
The embodiment to accomplish this uses the TCP Service described above. In a typical talk show host scenario, the host will be based in a studio in one radio station, and will have a laptop with an Action page, and a connected camera and will also have its own encoder software. The laptop and therefore the Action page will have a connection to the TCP Service. Radio stations carrying the talk show host's syndicated content will also have connectivity to the TCP Service.
When the talk show host turns on his web cam via clicking on a button on the Action page, the camera feed is connected to the local encoder which encodes the video in a suitable format and transmits the video stream to a publishing point on a media distribution server. Simultaneously, a command message is sent to the TCP Service, which relays that command message to all participating radio station encoding computers. That message includes the name, URL, or other ID of the media distribution server and video publishing point.
The command messages are delivered to each radio station's encoding software suite, which inserts them into the delay buffer for the station's audio. When the buffer time for the messages drops to zero, the command messages are forwarded to the media server that provides distribution services for that radio station, and then from the media server to the media players of users connected to the publishing point on the media server that is associated with the individual radio station. Thus, users listening to the streaming media from a particular station will receive script commands from that station. Those media players are thus instructed to connect to the supplied video publishing point, as described previously, and thus the video from a syndicated talk show will be shown on the media players of every listener of every participating station.
In an embodiment for syndicated programs to a small number of stations, the laptop of the talk show host may connect directly via TCP to the encoding computers of each station, and deliver the command messages to them directly. The video feed, as described above, will connect directly to a video publishing point on a media distribution server.
Recording the Web Cam Video
In another embodiment, the web cam video can be automatically recorded and be available for immediate playback. When the talk show host turns on his web cam, the A/V content from that web cam is directed to an encoder on a computer local to the talk show host. That encoder transmits the encoded video to a video publishing point on a media server. That publishing point is dynamically configured by a software application to create an archive file of the video stream; the archive file name may be either static or may also be dynamically configured. In the case of Microsoft's Windows Media Server, there is a feature known as the Archive Data Writer which performs these functions. Also, media players can connect to the archive file while it is being written. Management software running on a server in communication with the video streaming media server, or running in association with the encoding software at the talk show host's location, performs the dynamic configuration and assigns or creates the command messages to be sent to user media players via procedures already presented.
The command messages contain the Internet address of the video media server and the name of the archive file being written. Software in the media players then causes the presentation of a link for users to access the recorded video, even as it is being recorded.
Having thus described the invention in detail, it should be understood that various changes, substitutions, and alterations may be readily ascertainable by those skilled in the art, and may be made herein without departing from the spirit and scope of the invention as defined by the claims.

Claims (20)

I claim:
1. A method of a broadcaster, being the original source of audio content, and streaming said audio content on the Internet to dynamically replace a first advertising content element of a received continuous audio media stream with a second advertising content element to create an edited continuous media stream for an Internet audience, and further using script command messages to cause compatible client devices to play a third advertising content element instead of the second advertising content element contained in the edited continuous media stream, comprising the steps of:
using a computing system of the broadcaster, the computing system comprising a processor, an encoder and a delay filter:
a. receiving a continuous audio media stream from a source of a broadcaster and inserting the media stream into the delay filter;
b. receiving metadata from a source of the broadcaster as the content elements are received, the metadata identifying a first advertising content element in the received continuous media stream for replacement;
c. inserting the second advertising content element into the delay filter instead of the first advertising content element at the moment the first advertising content element would otherwise have been inserted into the delay filter;
d. adjusting the delay of the delay filter if there are differences in duration between the first and second advertising content elements;
e. inserting a script command message into the delay filter simultaneously with the insertion of the second advertising content element wherein the script command messages and received media stream pass synchronously through the delay filter and wherein the script command message comprises an instruction to cause compatible client devices to play a third advertising content element instead of the second advertising content element;
f. receiving the media stream and script command output of the delay filter when the delay has expired for each quantum of data in the delay filter;
g. transmitting the media stream output of the delay filter as a media channel of a composite data stream over a network to a media distribution server; and,
i. transmitting the script command message output of the delay filter as a control channel of the composite data stream wherein the media channel and the control channel travel synchronously over the network to the media distribution server and are simultaneously delivered by the media distribution server to client devices;
whereby, in the process of playing the edited continuous media stream, the compatible client devices, upon receiving the script command message coincident with the receipt of the second advertising content element in the audio stream, are caused to play the third advertising content element instead of the second advertising content element, while incompatible client devices play the edited continuous media stream including the second advertising content element.
2. A method as recited byclaim 1, wherein the script command message inserted into the delay filter is a start command message, and the computing system concurrently inserts a pre-fetch script command message into the control channel of the composite data stream, the pre-fetch script command message being immediately transmitted to the distribution server and relayed to the connected client devices, thereby causing the compatible client devices to retrieve and prepare to play the third content element upon receipt of the start command message.
3. A method as recited byclaim 1, wherein the command message inserted into the delay filter incorporates a tag by which one client device may obtain a third advertising content element which is different from the third advertising content element obtained by another client device.
4. A method as recited byclaim 1, wherein the command message inserted into the delay filter is accompanied by and/or incorporates a reference to a companion display element to be presented on the client devices concurrently with playing the third advertising content element, upon receipt of which the client devices obtain and present the companion display element.
5. The method ofclaim 1 wherein the second advertising content element is comprised of audio, and the third advertising content element is comprised of video, and wherein the command message comprises instructions to the client device to dynamically reconfigure from an audio-mode player to a video-mode player.
6. A non-transitory machine-readable medium containing processor readable code for programming a processor of computing system of a broadcaster, being the original source of audio content, and streaming said audio content on the Internet to dynamically replace a first advertising content element of a received continuous audio media stream with a second advertising content element to create an edited continuous media stream for an Internet audience, and further using script command messages to cause compatible client devices to play a third advertising content element instead of the second advertising content element, comprising:
a computing system of the broadcaster, the computing system comprising a processor, an encoder and a delay filter, and having:
a. a routine to receive a continuous audio media stream from a source of the broadcaster and inserting the media stream into a delay filter;
b. a routine to concurrently receive metadata from the source of the broadcaster, the metadata describing content elements of the received continuous media stream as the content elements are received, the metadata identifying a first advertising content element in the received continuous media stream for replacement;
c. a routine to insert a second advertising content element into the delay filter instead of the first advertising content element at the moment the first advertising content element would otherwise have been inserted into the delay filter;
d. a routine to adjust the delay of the delay filter if there are differences in duration between the first and second advertising content elements;
e. a routine to insert a script command message into the delay filter simultaneously with the insertion of the second advertising content element wherein the script command message and received media stream pass synchronously through the delay filter and wherein the script command message comprises an instruction to cause compatible client devices to play a third advertising content element instead of the second advertising content element;
f. a routine to receive the media stream and script command output of the delay filter when the delay has expired for each quantum of data in the delay filter;
g. a routine to transmit the media stream output of the delay filter as a media channel of a composite data stream over a network to a media distribution server; and,
h. a routine to transmit the script command message output of the delay filter as a control channel of the composite data stream wherein the media channel and the control channel travel synchronously over the network to the media distribution server and are simultaneously delivered by the media distribution server to client devices;
whereby, in the process of playing the edited continuous media stream, the compatible client devices, upon receiving the script command message coincident with the receipt of the second advertising content element in the audio stream, are caused to play the third advertising content element instead of the second advertising content element, while incompatible client devices play the edited continuous media stream as is.
7. The non-transitory machine-readable medium ofclaim 6, wherein the routine to insert the script command message into the delay filter inserts a start script command message, and the computing system concurrently inserts a pre-fetch script command message into the control channel of the composite data stream, the pre-fetch script command message being immediately transmitted to the distribution media server and relayed to the connected client devices, thereby causing the compatible client devices to retrieve and prepare to play the third advertising content element upon receipt of the start command message.
8. The non-transitory machine-readable medium ofclaim 6, wherein the command message inserted into the delay filter incorporates a tag by which one client device may obtain a third advertising content element which is different from the third advertising content element obtained by another client media player.
9. The non-transitory machine-readable medium ofclaim 6, wherein the command message inserted into the delay filter is accompanied by and/or incorporates a reference to a companion display element to be presented on the client devices concurrently with playing the third advertising content element, upon receipt of which the client devices obtain and present the companion display element.
10. The non-transitory machine-readable medium ofclaim 6 wherein the second advertising content element is comprised of audio, and the third advertising content element is comprised of video, and wherein the command message comprises instructions to the client device to dynamically reconfigure from an audio-mode player to a video-mode player.
11. A method of a broadcaster, being the original source of audio content, and streaming said audio content on the Internet to dynamically replace a first advertising content element with a second advertising content element so that Internet audience client devices receive an edited continuous media stream, and further using script command messages to cause compatible client devices to play a third advertising content element instead of the second advertising content element contained in the continuous media stream, comprising the steps of:
using a computing system of the broadcaster, the computing system comprising a processor, an encoder and a delay filter:
a. receiving a continuous audio media stream and associated metadata from a source of a broadcaster, the metadata identifying the content elements of the media stream, and inserting the media stream into the delay filter;
b. replacing a first advertising content element of the media stream by inserting a second advertising content element into the delay filter in place of the first advertising content element, and concurrently inserting a start script command message for playing a third advertising content element into the delay filter simultaneously with the beginning of the second advertising content element;
c. receiving, when the delay has expired, the media stream output of the delay filter as an edited continuous media stream and transmitting it as a media channel of a composite data stream, and transmitting script command messages from the output of the delay filter as a control channel of the composite data stream, the script command messages being synchronized with associated advertising content elements; and,
d. transmitting the composite data stream to a media distribution server for delivery to client devices;
wherein upon receipt of a start script command message coincident with the receipt of the second advertising content element, the compatible client devices play the third advertising content element in lieu of playing the second advertising content element being received in the edited continuous media stream, whereas client devices incapable of acting upon the start script command message do play the second advertising content element.
12. The method as recited inclaim 11, wherein the computing system, concurrently with inserting the start script command message into the delay filter, also inserts a pre-fetch script command message for the third advertising content element into the control channel of the composite data stream, the pre-fetch script command message being immediately transmitted to the distribution media server and relayed to the connected client devices, and causing the compatible client devices to retrieve and prepare to play the third advertising content element upon receipt of the start command message.
13. The method as recited inclaim 11, wherein the start script command message for the third advertising content element incorporates a tag by which one client device may obtain a third advertising content element which is different from the third advertising content element obtained by another client device.
14. The method as recited inclaim 11, wherein the start script command message is accompanied by and/or incorporates a reference to a companion display element to be presented on the client devices concurrently with playing the third advertising content element, upon receipt of which the client devices obtain and present the companion display element.
15. The method as recited inclaim 11 wherein the second advertising content element is comprised of audio, and the third advertising content element is comprised of video, and wherein the script command message comprises instructions to the client device to dynamically reconfigure from an audio-mode player to a video-mode player.
16. A non-transitory machine-readable medium containing processor readable code for programming a processor of a computing system of a broadcaster, being the original source of audio content, and streaming that audio content on the Internet to dynamically replace a first advertising content element of a received continuous audio media stream with a second advertising content element so that the Internet audience client devices receive an edited continuous media stream, and further using script command messages to cause compatible client devices to play a third advertising content element instead of the second advertising content element contained in the edited continuous media stream, comprising:
a computing system of the broadcaster, the computing system comprising a processor, an encoder and a delay filter, and having:
a. a routine to receive a continuous audio media stream and associated metadata from a source of the broadcaster, the metadata identifying the content elements of the media stream, and to insert the media stream into the delay filter;
b. a routine to replace a first advertising content element of the media stream by inserting a second advertising content element into the delay filter in place of the first advertising content element, and concurrently inserting a start script command message for playing a third advertising content element into the delay filter simultaneously with the beginning of the second advertising content element;
c. a routine, when the delay has expired, to receive the media stream output of the delay filter as an edited continuous media stream, and to transmit it as a media channel of a composite data stream, and to transmit script command messages from the output of the delay filter as a control channel of the composite data stream in which the script command messages are synchronized with associated advertising content elements; and,
d. a routine to transmit the composite data stream to a media distribution server for delivery to client devices;
wherein upon receipt of the start script command message coincident with the receipt of the second advertising content element, the compatible client devices are caused to play the third advertising content element in lieu of playing the second advertising content element being received in the edited continuous media stream, whereas client devices incapable of acting upon the script command message do play the second advertising content element.
17. The non-transitory machine-readable medium ofclaim 16, wherein the routine to insert the start command message into the delay filter concurrently inserts a pre-fetch script command message for the third advertising content element into the control channel of the composite data stream, the pre-fetch script command message being immediately transmitted to the distribution media server and relayed to the connected client devices, and causing the client devices to retrieve and prepare to play the third advertising content element upon receipt of the start command message.
18. The non-transitory machine-readable medium ofclaim 16, wherein the start script command message for the third content element incorporates a tag by which one client device may obtain a third advertising content element which is different from the third advertising content element obtained by another client device.
19. The non-transitory machine-readable medium ofclaim 16, wherein the start script command message inserted into the delay filter is accompanied by and/or incorporates a reference to a companion display element to be presented on the client devices concurrently with playing the third advertising content element, upon receipt of which the client devices obtain and present the companion display element.
20. The non-transitory machine-readable medium ofclaim 16 wherein the second advertising content element is comprised of audio, and the third advertising content element is comprised of video, and wherein the start script command message comprises instructions to the client device to dynamically reconfigure from an audio-mode player to a video-mode player.
US13/685,4602011-11-252012-11-26Internet streaming and the presentation of dynamic contentActive - ReinstatedUS9270718B2 (en)

Priority Applications (8)

Application NumberPriority DateFiling DateTitle
US13/685,460US9270718B2 (en)2011-11-252012-11-26Internet streaming and the presentation of dynamic content
US13/918,932US9215259B2 (en)2011-11-252013-06-15Internet streaming and dynamic display of web cam videos
US13/918,931US9219770B2 (en)2011-11-252013-06-15Internet streaming and TCP service to dynamically reconfigure user displays
US13/918,930US8880723B1 (en)2011-11-252013-06-15Internet streaming and dynamic reconfiguration of user displays
US14/530,783US9043485B2 (en)2011-11-252014-11-02Internet streaming and dynamic reconfiguration of user displays
US14/968,834US10887364B2 (en)2011-11-252015-12-14Internet streaming and dynamic display of web cam videos
US15/050,214US9860295B2 (en)2011-11-252016-02-22Streaming the audio portion of a video ad to incompatible media players
US17/137,918US12137134B2 (en)2011-11-252020-12-30Internet streaming of dynamic content from a file

Applications Claiming Priority (2)

Application NumberPriority DateFiling DateTitle
US201161629692P2011-11-252011-11-25
US13/685,460US9270718B2 (en)2011-11-252012-11-26Internet streaming and the presentation of dynamic content

Related Child Applications (5)

Application NumberTitlePriority DateFiling Date
US13/918,932ContinuationUS9215259B2 (en)2011-11-252013-06-15Internet streaming and dynamic display of web cam videos
US13/918,932DivisionUS9215259B2 (en)2011-11-252013-06-15Internet streaming and dynamic display of web cam videos
US13/918,931DivisionUS9219770B2 (en)2011-11-252013-06-15Internet streaming and TCP service to dynamically reconfigure user displays
US13/918,930DivisionUS8880723B1 (en)2011-11-252013-06-15Internet streaming and dynamic reconfiguration of user displays
US15/050,214ContinuationUS9860295B2 (en)2011-11-252016-02-22Streaming the audio portion of a video ad to incompatible media players

Publications (2)

Publication NumberPublication Date
US20140149596A1 US20140149596A1 (en)2014-05-29
US9270718B2true US9270718B2 (en)2016-02-23

Family

ID=50774300

Family Applications (8)

Application NumberTitlePriority DateFiling Date
US13/685,460Active - ReinstatedUS9270718B2 (en)2011-11-252012-11-26Internet streaming and the presentation of dynamic content
US13/918,930ActiveUS8880723B1 (en)2011-11-252013-06-15Internet streaming and dynamic reconfiguration of user displays
US13/918,932ActiveUS9215259B2 (en)2011-11-252013-06-15Internet streaming and dynamic display of web cam videos
US13/918,931ActiveUS9219770B2 (en)2011-11-252013-06-15Internet streaming and TCP service to dynamically reconfigure user displays
US14/530,783ActiveUS9043485B2 (en)2011-11-252014-11-02Internet streaming and dynamic reconfiguration of user displays
US14/968,834ActiveUS10887364B2 (en)2011-11-252015-12-14Internet streaming and dynamic display of web cam videos
US15/050,214Active2033-01-31US9860295B2 (en)2011-11-252016-02-22Streaming the audio portion of a video ad to incompatible media players
US17/137,918Active2034-04-29US12137134B2 (en)2011-11-252020-12-30Internet streaming of dynamic content from a file

Family Applications After (7)

Application NumberTitlePriority DateFiling Date
US13/918,930ActiveUS8880723B1 (en)2011-11-252013-06-15Internet streaming and dynamic reconfiguration of user displays
US13/918,932ActiveUS9215259B2 (en)2011-11-252013-06-15Internet streaming and dynamic display of web cam videos
US13/918,931ActiveUS9219770B2 (en)2011-11-252013-06-15Internet streaming and TCP service to dynamically reconfigure user displays
US14/530,783ActiveUS9043485B2 (en)2011-11-252014-11-02Internet streaming and dynamic reconfiguration of user displays
US14/968,834ActiveUS10887364B2 (en)2011-11-252015-12-14Internet streaming and dynamic display of web cam videos
US15/050,214Active2033-01-31US9860295B2 (en)2011-11-252016-02-22Streaming the audio portion of a video ad to incompatible media players
US17/137,918Active2034-04-29US12137134B2 (en)2011-11-252020-12-30Internet streaming of dynamic content from a file

Country Status (1)

CountryLink
US (8)US9270718B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20160323343A1 (en)*2015-04-282016-11-03Apple Inc.Dynamic Media Content
US10623517B2 (en)*2015-12-292020-04-14Oath Inc.Content prefetching and cache management
US20220385627A1 (en)*2021-02-152022-12-01Roku, Inc.Content-modification system with household coordination feature
US11546647B2 (en)*2019-06-072023-01-03Roku, Inc.Content-modification system with probability-based selection feature

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US9135218B2 (en)2006-09-262015-09-15iHeartMedia Management Service, Inc.Song replacement with content scheduling in streaming media
US8938548B2 (en)*2008-12-232015-01-20At&T Mobility Ii LlcStreaming enhancements through pre-fetch background
US10057333B2 (en)*2009-12-102018-08-21Royal Bank Of CanadaCoordinated processing of data by networked computing resources
US9270718B2 (en)*2011-11-252016-02-23Harry E Emerson, IIIInternet streaming and the presentation of dynamic content
US9336193B2 (en)2012-08-302016-05-10Arria Data2Text LimitedMethod and apparatus for updating a previously generated text
US20140164924A1 (en)*2012-11-302014-06-12Senzari, Inc.Self Service Portal and Methods for Using Same
US9386341B2 (en)*2013-05-092016-07-05Espial Group Inc.Optimized HTML5 electronic programming guide application
US11291920B2 (en)2013-05-222022-04-05David S. ThompsonInteraction interleaver
US10158925B2 (en)*2013-05-222018-12-18David S. ThompsonTechniques for backfilling content
US10015232B2 (en)*2013-05-292018-07-03Vmware, Inc.Systems and methods for transmitting images
US9066116B2 (en)*2013-08-132015-06-23Yahoo! Inc.Encoding pre-roll advertisements in progressively-loading images
US9946711B2 (en)2013-08-292018-04-17Arria Data2Text LimitedText generation from correlated alerts
US9743124B2 (en)2013-09-122017-08-22Wideorbit Inc.Systems and methods to deliver a personalized mediacast with an uninterrupted lead-in portion
WO2015042430A1 (en)*2013-09-192015-03-26Citrix Systems, Inc.Transmitting hardware-rendered graphical data
US10198777B2 (en)2013-12-062019-02-05Remote Media, LlcSystem, method, and application for exchanging content in a social network environment
US20150253974A1 (en)2014-03-072015-09-10Sony CorporationControl of large screen display using wireless portable computer interfacing with display controller
US11122315B2 (en)2014-05-132021-09-14Wideorbit LlcSystems and methods to identify video content types
FI20145493A7 (en)*2014-05-282015-11-29Exaget OyInsertion of a content item to a media stream
KR102086731B1 (en)*2014-06-252020-04-14에스케이플래닛 주식회사Method for providing of cloud streamming service, apparatus and system for the same, and computer readable storage medium storing script code for the same
US9838455B2 (en)*2014-09-192017-12-05Mobitv, Inc.Fast encoding of live streaming media content
US10901592B2 (en)2015-01-052021-01-26Sony CorporationIntegrated multi-platform user interface/user experience
WO2016111872A1 (en)*2015-01-052016-07-14Sony CorporationPersonalized integrated video user experience
US10721540B2 (en)2015-01-052020-07-21Sony CorporationUtilizing multiple dimensions of commerce and streaming data to provide advanced user profiling and realtime commerce choices
US10694253B2 (en)2015-01-052020-06-23Sony CorporationBlu-ray pairing with video portal
US10805668B2 (en)2015-05-202020-10-13DISH Technologies L.L.C.Apparatus, systems and methods for trick function viewing of media content
US10136190B2 (en)2015-05-202018-11-20Echostar Technologies LlcApparatus, systems and methods for song play using a media device having a buffer
AU2016274496B2 (en)2015-06-082019-12-05Wideorbit LlcContent management and provisioning system
US11070608B2 (en)*2015-06-172021-07-20Fastly, Inc.Expedited sub-resource loading
GB2544083B (en)*2015-11-052020-05-20Advanced Risc Mach LtdData stream assembly control
US10248378B2 (en)*2015-11-112019-04-02AdsWizz Inc.Dynamically inserting additional content items targeting a variable duration for a real-time content stream
CN105681883B (en)*2016-01-072019-05-31深圳Tcl数字技术有限公司Audio data method for pushing and system
CN105828193B (en)*2016-04-012018-11-06南京新立讯科技股份有限公司A kind of live information method for pushing based on User Status
KR102411973B1 (en)*2016-04-222022-06-22버티고 미디어 인코포레이티드 Systems and methods for improving data processing in a network environment
US20170347130A1 (en)*2016-05-262017-11-30Yun Shang Company LimitedProcessing system and method for live video streaming based on network coding and content distribution network
US10127007B2 (en)2016-06-012018-11-13AdsWizz Inc.Determining the identity of a user in stateless devices for the customization of audio content for the user
US10992726B2 (en)*2016-08-012021-04-27AdsWizz Inc.Detecting sensor-based interactions with client device in conjunction with presentation of content
US10467347B1 (en)2016-10-312019-11-05Arria Data2Text LimitedMethod and apparatus for natural language document orchestrator
US10567821B2 (en)*2016-12-302020-02-18Turner Broadcasting System, Inc.Creation of channel to support legacy video-on-demand systems
EP3349394B1 (en)*2017-01-162021-11-10Vertigo Media, Inc.System, method, and application for exchanging content in a social network environment
CN106954097B (en)*2017-03-032019-08-02腾讯科技(深圳)有限公司The control method and device of video playing
US10063600B1 (en)*2017-06-192018-08-28Spotify AbDistributed control of media content item during webcast
US10992615B2 (en)*2017-12-012021-04-27Trusted Voices, Inc.Dynamic open graph module for posting content one or more platforms
CN110730320B (en)*2018-07-162022-06-03杭州海康威视数字技术股份有限公司Video recording and video playing method, device and equipment
US10666587B1 (en)*2018-08-292020-05-26Snap Inc.Media enhancement system
US12184930B1 (en)*2018-11-022024-12-31Amazon Technologies, Inc.In-frame video markers
CN109729429B (en)*2019-01-312021-08-17百度在线网络技术(北京)有限公司Video playing method, device, equipment and medium
US11582537B2 (en)*2019-10-142023-02-14Inscape Data, Inc.Dynamic content serving using a media device
US11277461B2 (en)*2019-12-182022-03-15The Nielsen Company (Us), LlcMethods and apparatus to monitor streaming media
US11829413B1 (en)*2020-09-232023-11-28Amazon Technologies, Inc.Temporal localization of mature content in long-form videos using only video-level labels

Citations (77)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20030005437A1 (en)*2001-06-012003-01-02Norman FeuerNetworked broadcasting system with demographically controlled advertisement selection
US20030005052A1 (en)*2001-06-012003-01-02Norman FeuerNetworked broadcasting system with provision for the addition of advertisements or messages
US6535920B1 (en)*1999-04-062003-03-18Microsoft CorporationAnalyzing, indexing and seeking of streaming information
US20040205829A1 (en)*2000-09-122004-10-14Highcast Network, Inc.System and method for creating a virtual media channel
US6820144B2 (en)*1999-04-062004-11-16Microsoft CorporationData format for a streaming information appliance
US20040237102A1 (en)*2003-03-072004-11-25Richard KonigAdvertisement substitution
US20040244035A1 (en)*2003-05-282004-12-02Microspace Communications CorporationCommercial replacement systems and methods using synchronized and buffered TV program and commercial replacement streams
US6985694B1 (en)*2000-09-072006-01-10Clix Network, Inc.Method and system for providing an audio element cache in a customized personal radio broadcast
US7024677B1 (en)*1998-12-182006-04-04Thomson LicensingSystem and method for real time video production and multicasting
US7058694B1 (en)*2000-09-072006-06-06Clix Network, Inc.Method for comparing two trinary logic representations in the process of customizing radio broadcasting
US7096481B1 (en)*2000-01-042006-08-22Emc CorporationPreparation of metadata for splicing of encoded MPEG video and audio
US20070101359A1 (en)*2005-11-012007-05-03Broadband Royalty CorporationGenerating ad insertion metadata at program file load time
US20080040743A1 (en)*2006-07-292008-02-14Srinivasa DharmajiMicro-splicer for inserting alternate content to a content stream on a handheld device
US20080046919A1 (en)*2006-08-162008-02-21Targeted Media Services Ltd.Method and system for combining and synchronizing data streams
US20080046918A1 (en)*2006-08-162008-02-21Michael CarmiMethod and system for calculating and reporting advertising exposures
US20080052741A1 (en)*2006-08-222008-02-28Srinivasa DharmajiMethod and Apparatus for Alternate Content Scheduling on Mobile Devices
US20080109556A1 (en)*2006-11-072008-05-08Sony Ericsson Mobile Communications AbAdaptive insertion of content in streaming media
US20080250447A1 (en)*2007-04-032008-10-09Google Inc.Log Processing
US20080288976A1 (en)*2007-05-182008-11-20Carson David VSystem and Method for Providing Advertisements for Video Content in a Packet Based Network
US20080307454A1 (en)*2007-06-112008-12-11Gulrukh AhangerSystems and methods for inserting ads during playback of video media
US20080320512A1 (en)*2007-06-222008-12-25Inskin Media Ltd.Systems and methods for providing interactive advertisements through media player skin
US7490053B1 (en)*1999-02-102009-02-10The Surfer NetworkSystem for modifying and targeting advertising content of internet radio broadcasts
US20090043906A1 (en)*2007-08-062009-02-12Hurst Mark BApparatus, system, and method for multi-bitrate content streaming
US20090240585A1 (en)*2008-03-192009-09-24Clear Channel Management Services, Inc.Automated quote generation and advertising buy placements
US7647614B2 (en)*2004-06-072010-01-12Sling Media, Inc.Fast-start streaming and buffering of streaming content for personal media player
US7694318B2 (en)*2003-03-072010-04-06Technology, Patents & Licensing, Inc.Video detection and insertion
US20100094966A1 (en)*2008-10-152010-04-15Patentvc Ltd.Receiving Streaming Content from Servers Located Around the Globe
US20100122305A1 (en)*2008-11-122010-05-13Level 3 Communications, LlcDynamic processing of streamed content
US20100205049A1 (en)*2009-02-122010-08-12Long Dustin WAdvertisement management for live internet multimedia content
US20100223392A1 (en)*2009-02-272010-09-02Verivue, Inc.Input Queued Content Switching Using A Playlist
US20100290761A1 (en)*2009-05-182010-11-18Disney Enterprises, Inc.System and method for providing time-adapted video content
US7840691B1 (en)*2000-09-072010-11-23Zamora Radio, LlcPersonal broadcast server system for providing a customized broadcast
US20100306039A1 (en)*2009-06-022010-12-02Meebo, Inc.Techniques for customized delivery of advertisements
US20100324999A1 (en)*2009-06-222010-12-23Mobicious, Inc.Advertisement proxy service
US20110004892A1 (en)*2006-07-292011-01-06Srinivasa DharmajiMethod and apparatus for operating a micro-splicer to insert alternate content while viewing multimedia content on a handheld device
US20110015975A1 (en)*2005-10-252011-01-20Andrey YruskiAsynchronous advertising
US20110022471A1 (en)*2009-07-232011-01-27Brueck David FMessaging service for providing updates for multimedia content of a live event delivered over the internet
US20110071911A1 (en)*2009-03-022011-03-24Tung Kevin WAdvertising system and method
US20110072114A1 (en)*2009-09-222011-03-24Thwapr, Inc.Subscribing to mobile media sharing
US20110138414A1 (en)*2009-12-082011-06-09Harmonic Inc.Modification and Distribution of Video Content
US20110138411A1 (en)*2009-12-082011-06-09Clear Channel Management Services, Inc.Broadcast Synchronization
US7962604B1 (en)*2000-10-172011-06-14Aol IncDisplaying advertisements in a computer network environment
US7962640B2 (en)*2007-06-292011-06-14The Chinese University Of Hong KongSystems and methods for universal real-time media transcoding
US20110166918A1 (en)*2005-08-122011-07-07Brightcove, Inc.Distribution of content
US20110184805A1 (en)*2008-09-252011-07-28Tictacti Ltd.System and method for precision placement of in-game dynamic advertising in computer games
US20110191178A1 (en)*2010-02-032011-08-04Randall Delbert NewbergSystem and method for contextual advertising
US20110200307A1 (en)*2001-10-252011-08-18Jamshid MahdaviMethods and systems to fast fill media players
US8005420B2 (en)*2003-10-242011-08-23Qualcomm IncorporatedMethod and apparatus for seamlessly switching reception between mutlimedia streams in a wireless communication system
US20120004982A1 (en)*2008-07-142012-01-05Mixpo Portfolio Broadcasting, Inc.Method And System For Automated Selection And Generation Of Video Advertisements
US20120110620A1 (en)*2008-03-102012-05-03Hulu LlcMethod and apparatus for user selection of advertising combinations
US8185611B2 (en)*2000-09-122012-05-22Wag Acquisition, LlcStreaming media delivery system
US8190986B2 (en)*2008-05-192012-05-29Microsoft CorporationNon-destructive media presentation derivatives
US20120143998A1 (en)*2006-09-262012-06-07Clear Channel Management Services, Inc.Modified playlists
US20120166289A1 (en)*2010-12-222012-06-28Ando Media LlcReal-time media stream insertion method and apparatus
US8234397B2 (en)*2006-01-062012-07-31Google Inc.Media article adaptation to client device
US20120259942A1 (en)*2010-12-172012-10-11Akamai Technologies, Inc.Proxy server with byte-based include interpreter
US8326270B2 (en)*2009-02-022012-12-04Lemi Technology, LlcOptimizing operation of a radio program
US20130007223A1 (en)*2006-06-092013-01-03Qualcomm IncorporatedEnhanced block-request streaming system for handling low-latency streaming
US8364839B2 (en)*2000-09-122013-01-29Wag Acquisition, LlcStreaming media delivery system
US8381244B2 (en)*2006-11-212013-02-19Abacast, Inc.Content injection system and methodology
US20130047074A1 (en)*2011-08-162013-02-21Steven Erik VESTERGAARDScript-based video rendering
US8392615B2 (en)*2008-11-242013-03-05Juniper Networks, Inc.Dynamic variable rate media delivery system
US20130086607A1 (en)*2011-10-032013-04-04Hulu LlcVideo ad swapping in a video streaming system
US20130097190A1 (en)*2009-05-272013-04-18Ajay ShahSupplementing synchronization with programming metadata
US8429250B2 (en)*2011-03-282013-04-23Unicorn Media, Inc.Transcodeless on-the-fly ad insertion
US8434103B2 (en)*2001-06-142013-04-30Arris Group, Inc.Method of substituting content during program breaks
US20130110643A1 (en)*2011-10-282013-05-02Yahoo! Inc., A Delaware CorporationMethods and systems for facilitating caching of advertisements
US20130144723A1 (en)*2011-11-172013-06-06Abacast, Inc.Systems, methods and articles to automatically expose and place material in streams of programming
US8510460B2 (en)*2011-04-292013-08-13Cbs Interactive Inc.Reduced video player start-up latency in HTTP live streaming and similar protocols
US8607295B2 (en)*2011-07-062013-12-10Symphony Advanced MediaMedia content synchronized advertising platform methods
US20140013354A1 (en)*2000-01-082014-01-09Advertising.Com LlcProcess for providing targeted user content blended with a media stream
US20140046775A1 (en)*2009-02-232014-02-13Joseph HarbMethod, system and apparatus for synchronizing radio content and external content
US20140059182A1 (en)*2011-03-042014-02-27Fumio MiuraSynchronized content broadcast distribution system
US8707347B2 (en)*2009-09-102014-04-22Miniweb Technologies LimitedContent item receiver module and method
US20140259058A1 (en)*2000-09-122014-09-11Syndicast CorporationSystem for transmitting syndicated programs over the internet
US8838748B2 (en)*2008-06-022014-09-16Azuki Systems, Inc.Media mashup system
US8935423B1 (en)*1997-03-312015-01-13Open Invention Network, LlcApparatus, method, and computer readable medium for providing a presentation on a network having a plurality of synchronized media types

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
WO2000005892A1 (en)*1998-07-232000-02-03Diva Systems CorporationSystem for generating, distributing and receiving an interactive user interface
US11109114B2 (en)*2001-04-182021-08-31Grass Valley CanadaAdvertisement management method, system, and computer program product
US20030001880A1 (en)*2001-04-182003-01-02Parkervision, Inc.Method, system, and computer program product for producing and distributing enhanced media
US6581102B1 (en)*1999-05-272003-06-17International Business Machines CorporationSystem and method for integrating arbitrary isochronous processing algorithms in general media processing systems
US6857024B1 (en)*1999-10-222005-02-15Cisco Technology, Inc.System and method for providing on-line advertising and information
US6990512B1 (en)*2001-03-192006-01-24Novell, Inc.Method and system for using live time shift technology to control a multimedia file
US7290057B2 (en)*2002-08-202007-10-30Microsoft CorporationMedia streaming of web content data
US8176028B2 (en)*2002-09-232012-05-08Rodriguez Alex OBroadcast network platform system
US7606215B2 (en)*2003-04-072009-10-20Paul PoniatowskiAudio/visual information dissemination system
US20060037040A1 (en)*2004-08-122006-02-16Mahalick Scott GMethod of transmitting audio and video signals over radio and television channels
US20060101116A1 (en)*2004-10-282006-05-11Danny RittmanMultifunctional telephone, walkie talkie, instant messenger, video-phone computer, based on WiFi (Wireless Fidelity) and WiMax technology, for establishing global wireless communication, network and video conferencing via the internet
AU2006247999A1 (en)*2005-04-202006-11-23Videoegg, Inc.Browser enabled video manipulation
US20060248209A1 (en)*2005-04-272006-11-02Leo ChiuNetwork system for facilitating audio and video advertising to end users through audio and video podcasts
US8613620B2 (en)*2005-07-262013-12-24Interactive Sports Direct IncorporatedMethod and system for providing web based interactive lessons with improved session playback
US8522142B2 (en)*2005-12-082013-08-27Google Inc.Adaptive media player size
CA2636010A1 (en)*2006-01-172007-07-17Baker Hughes Inc SYSTEM AND METHOD FOR REMOTE DATA ACQUISITION AND DISTRIBUTION
US8438646B2 (en)*2006-04-282013-05-07Disney Enterprises, Inc.System and/or method for distributing media content
GB2460802B (en)*2007-03-202012-09-05Prysm IncDelivering and displaying advertisment or other application data to display systems
US20080301746A1 (en)*2007-05-302008-12-04Wiser Philip RProgramming content reconstruction in a content delivery system
MX2009011047A (en)*2007-04-132010-03-30Sezmi CorpViewer interface for a content delivery system.
JP5503531B2 (en)*2007-05-022014-05-28グーグル インコーポレイテッド User interface for web-based video player
US20090165041A1 (en)*2007-12-212009-06-25Penberthy John SSystem and Method for Providing Interactive Content with Video Content
US9032298B2 (en)*2007-05-312015-05-12Aditall Llc.Website application system for online video producers and advertisers
US8243924B2 (en)*2007-06-292012-08-14Google Inc.Progressive download or streaming of digital media securely through a localized container and communication protocol proxy
US7877687B2 (en)*2007-08-162011-01-25Yahoo! Inc.Persistent visual media player
US9990655B2 (en)*2007-08-242018-06-05Iheartmedia Management Services, Inc.Live media stream including personalized notifications
US8788589B2 (en)*2007-10-122014-07-22Watchitoo, Inc.System and method for coordinating simultaneous edits of shared digital data
EP2210191A1 (en)*2007-11-152010-07-28Sk Telecom Co., LTDSystem and method for producing importance rate-based rich media, and server applied to the same
US8606085B2 (en)*2008-03-202013-12-10Dish Network L.L.C.Method and apparatus for replacement of audio data in recorded audio/video stream
EP2141689A1 (en)*2008-07-042010-01-06Koninklijke KPN N.V.Generating a stream comprising interactive content
US8128503B1 (en)*2008-05-292012-03-06Livestream LLCSystems, methods and computer software for live video/audio broadcasting
US20100042682A1 (en)*2008-08-152010-02-18Evan John KayeDigital Rights Management for Music Video Soundtracks
US8321401B2 (en)*2008-10-172012-11-27Echostar Advanced Technologies L.L.C.User interface with available multimedia content from multiple multimedia websites
US8776108B2 (en)*2009-01-122014-07-08Disney Enterprises, Inc.System and/or method for distributing media content and providing an option to maintain an advertising experience
US8855601B2 (en)*2009-02-172014-10-07Lookout, Inc.System and method for remotely-initiated audio communication
JP5908400B2 (en)*2009-07-242016-04-26エックスペッド ホールディングス ピーティワイ リミテッド Remote control device
US9479838B2 (en)*2009-11-242016-10-25Sam MakhloufSystem and method for distributing media content from multiple sources
US9060193B2 (en)*2009-12-072015-06-16Centurylink Intellectual Property LlcSystem and method for broadcasting video with a secondary audio source
WO2011109790A1 (en)*2010-03-042011-09-09Thx Ltd.Electronic adapter unit for selectively modifying audio or video data for use with an output device
US20130124984A1 (en)*2010-04-122013-05-16David A. KuspaMethod and Apparatus for Providing Script Data
US8589992B2 (en)*2010-05-272013-11-19Istreamplanet Co.Video workflow automation platform for publishing a video feed in multiple formats
WO2011156783A2 (en)*2010-06-102011-12-15Cricket Communications, Inc.Mobile handset for media access and playback
US9288550B2 (en)*2010-08-092016-03-15Surewaves Mediatech Private LimitedMethod and system for integrated media planning and automated advertisement distribution and insertion
CN102130936B (en)*2010-08-172013-10-09华为技术有限公司 A method and device for supporting time shifting and looking back in a dynamic HTTP stream transmission scheme
US20120089912A1 (en)*2010-10-062012-04-12Oggifinogi, Inc.Prestreams
US20120095749A1 (en)*2010-10-142012-04-19Antonio CaprettaMulti-functional audio distribution system and method for movie theaters and other public and private venues
KR20140035310A (en)*2010-10-222014-03-21포러스, 인코포레이티드Media distribution architecture
US8863165B2 (en)*2010-11-012014-10-14Gracenote, Inc.Method and system for presenting additional content at a media system
US9369635B1 (en)*2011-01-072016-06-14Apptopus, Inc.Director/camera communication system and method for wireless multi-camera video production
GB2491574B (en)*2011-06-022013-11-20Nds LtdContent insertion in adaptive streams
US8751565B1 (en)*2011-02-082014-06-10Google Inc.Components for web-based configurable pipeline media processing
US20120236160A1 (en)*2011-03-152012-09-20Tomas RezekRemote studio management and control
US8744912B2 (en)*2011-04-142014-06-03Koozoo Inc.Method and system for an advanced player in a network of multiple live video sources
US8250228B1 (en)*2011-09-272012-08-21Google Inc.Pausing or terminating video portion while continuing to run audio portion of plug-in on browser
US9270718B2 (en)*2011-11-252016-02-23Harry E Emerson, IIIInternet streaming and the presentation of dynamic content
CN103188555A (en)*2012-02-152013-07-03杨崇和 Information insertion method and system
US9118867B2 (en)*2012-05-302015-08-25John M. McCaryDigital radio producing, broadcasting and receiving songs with lyrics
US9003443B2 (en)*2012-07-312015-04-07Wideorbit Inc.Systems, methods and articles to provide content in networked environment
US20140195675A1 (en)*2013-01-092014-07-10Giga Entertainment Media Inc.Simultaneous Content Data Streaming And Interaction System
US20160054905A1 (en)*2014-08-212016-02-25Opentv Inc.Systems and methods for enabling selection of available content including multiple navigation techniques

Patent Citations (81)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US8935423B1 (en)*1997-03-312015-01-13Open Invention Network, LlcApparatus, method, and computer readable medium for providing a presentation on a network having a plurality of synchronized media types
US7024677B1 (en)*1998-12-182006-04-04Thomson LicensingSystem and method for real time video production and multicasting
US7490053B1 (en)*1999-02-102009-02-10The Surfer NetworkSystem for modifying and targeting advertising content of internet radio broadcasts
US6535920B1 (en)*1999-04-062003-03-18Microsoft CorporationAnalyzing, indexing and seeking of streaming information
US6820144B2 (en)*1999-04-062004-11-16Microsoft CorporationData format for a streaming information appliance
US7096481B1 (en)*2000-01-042006-08-22Emc CorporationPreparation of metadata for splicing of encoded MPEG video and audio
US20140013354A1 (en)*2000-01-082014-01-09Advertising.Com LlcProcess for providing targeted user content blended with a media stream
US6985694B1 (en)*2000-09-072006-01-10Clix Network, Inc.Method and system for providing an audio element cache in a customized personal radio broadcast
US7840691B1 (en)*2000-09-072010-11-23Zamora Radio, LlcPersonal broadcast server system for providing a customized broadcast
US7058694B1 (en)*2000-09-072006-06-06Clix Network, Inc.Method for comparing two trinary logic representations in the process of customizing radio broadcasting
US8185611B2 (en)*2000-09-122012-05-22Wag Acquisition, LlcStreaming media delivery system
US20130151724A1 (en)*2000-09-122013-06-13Wag Acquisition, L.L.C.Streaming media delivery system
US20140259058A1 (en)*2000-09-122014-09-11Syndicast CorporationSystem for transmitting syndicated programs over the internet
US8364839B2 (en)*2000-09-122013-01-29Wag Acquisition, LlcStreaming media delivery system
US20040205829A1 (en)*2000-09-122004-10-14Highcast Network, Inc.System and method for creating a virtual media channel
US7962604B1 (en)*2000-10-172011-06-14Aol IncDisplaying advertisements in a computer network environment
US20030005052A1 (en)*2001-06-012003-01-02Norman FeuerNetworked broadcasting system with provision for the addition of advertisements or messages
US20030005437A1 (en)*2001-06-012003-01-02Norman FeuerNetworked broadcasting system with demographically controlled advertisement selection
US8434103B2 (en)*2001-06-142013-04-30Arris Group, Inc.Method of substituting content during program breaks
US20110200307A1 (en)*2001-10-252011-08-18Jamshid MahdaviMethods and systems to fast fill media players
US7930714B2 (en)*2003-03-072011-04-19Technology, Patents & Licensing, Inc.Video detection and insertion
US7694318B2 (en)*2003-03-072010-04-06Technology, Patents & Licensing, Inc.Video detection and insertion
US20040237102A1 (en)*2003-03-072004-11-25Richard KonigAdvertisement substitution
US20040244035A1 (en)*2003-05-282004-12-02Microspace Communications CorporationCommercial replacement systems and methods using synchronized and buffered TV program and commercial replacement streams
US8005420B2 (en)*2003-10-242011-08-23Qualcomm IncorporatedMethod and apparatus for seamlessly switching reception between mutlimedia streams in a wireless communication system
US7647614B2 (en)*2004-06-072010-01-12Sling Media, Inc.Fast-start streaming and buffering of streaming content for personal media player
US20110166918A1 (en)*2005-08-122011-07-07Brightcove, Inc.Distribution of content
US20110015975A1 (en)*2005-10-252011-01-20Andrey YruskiAsynchronous advertising
US20070101359A1 (en)*2005-11-012007-05-03Broadband Royalty CorporationGenerating ad insertion metadata at program file load time
US8234397B2 (en)*2006-01-062012-07-31Google Inc.Media article adaptation to client device
US20130007223A1 (en)*2006-06-092013-01-03Qualcomm IncorporatedEnhanced block-request streaming system for handling low-latency streaming
US20110004892A1 (en)*2006-07-292011-01-06Srinivasa DharmajiMethod and apparatus for operating a micro-splicer to insert alternate content while viewing multimedia content on a handheld device
US20080040743A1 (en)*2006-07-292008-02-14Srinivasa DharmajiMicro-splicer for inserting alternate content to a content stream on a handheld device
US20080046918A1 (en)*2006-08-162008-02-21Michael CarmiMethod and system for calculating and reporting advertising exposures
US20080046919A1 (en)*2006-08-162008-02-21Targeted Media Services Ltd.Method and system for combining and synchronizing data streams
US20080052741A1 (en)*2006-08-222008-02-28Srinivasa DharmajiMethod and Apparatus for Alternate Content Scheduling on Mobile Devices
US20120143998A1 (en)*2006-09-262012-06-07Clear Channel Management Services, Inc.Modified playlists
US20080109556A1 (en)*2006-11-072008-05-08Sony Ericsson Mobile Communications AbAdaptive insertion of content in streaming media
US8381244B2 (en)*2006-11-212013-02-19Abacast, Inc.Content injection system and methodology
US20130132997A1 (en)*2006-11-212013-05-23Abacast, Inc.Content injection system and methodology
US20080250447A1 (en)*2007-04-032008-10-09Google Inc.Log Processing
US20080288976A1 (en)*2007-05-182008-11-20Carson David VSystem and Method for Providing Advertisements for Video Content in a Packet Based Network
US20080307454A1 (en)*2007-06-112008-12-11Gulrukh AhangerSystems and methods for inserting ads during playback of video media
US20080320512A1 (en)*2007-06-222008-12-25Inskin Media Ltd.Systems and methods for providing interactive advertisements through media player skin
US7962640B2 (en)*2007-06-292011-06-14The Chinese University Of Hong KongSystems and methods for universal real-time media transcoding
US20090043906A1 (en)*2007-08-062009-02-12Hurst Mark BApparatus, system, and method for multi-bitrate content streaming
US20120259788A1 (en)*2007-10-242012-10-11Microsoft CorporationNon-destructive media presentation derivatives
US20120110620A1 (en)*2008-03-102012-05-03Hulu LlcMethod and apparatus for user selection of advertising combinations
US20090240585A1 (en)*2008-03-192009-09-24Clear Channel Management Services, Inc.Automated quote generation and advertising buy placements
US8190986B2 (en)*2008-05-192012-05-29Microsoft CorporationNon-destructive media presentation derivatives
US8838748B2 (en)*2008-06-022014-09-16Azuki Systems, Inc.Media mashup system
US20120004982A1 (en)*2008-07-142012-01-05Mixpo Portfolio Broadcasting, Inc.Method And System For Automated Selection And Generation Of Video Advertisements
US20110184805A1 (en)*2008-09-252011-07-28Tictacti Ltd.System and method for precision placement of in-game dynamic advertising in computer games
US20100094966A1 (en)*2008-10-152010-04-15Patentvc Ltd.Receiving Streaming Content from Servers Located Around the Globe
US20100122305A1 (en)*2008-11-122010-05-13Level 3 Communications, LlcDynamic processing of streamed content
US8392615B2 (en)*2008-11-242013-03-05Juniper Networks, Inc.Dynamic variable rate media delivery system
US8326270B2 (en)*2009-02-022012-12-04Lemi Technology, LlcOptimizing operation of a radio program
US20100205049A1 (en)*2009-02-122010-08-12Long Dustin WAdvertisement management for live internet multimedia content
US20140046775A1 (en)*2009-02-232014-02-13Joseph HarbMethod, system and apparatus for synchronizing radio content and external content
US20100223392A1 (en)*2009-02-272010-09-02Verivue, Inc.Input Queued Content Switching Using A Playlist
US20110071911A1 (en)*2009-03-022011-03-24Tung Kevin WAdvertising system and method
US20100290761A1 (en)*2009-05-182010-11-18Disney Enterprises, Inc.System and method for providing time-adapted video content
US20130097190A1 (en)*2009-05-272013-04-18Ajay ShahSupplementing synchronization with programming metadata
US20100306039A1 (en)*2009-06-022010-12-02Meebo, Inc.Techniques for customized delivery of advertisements
US20100324999A1 (en)*2009-06-222010-12-23Mobicious, Inc.Advertisement proxy service
US20110022471A1 (en)*2009-07-232011-01-27Brueck David FMessaging service for providing updates for multimedia content of a live event delivered over the internet
US8707347B2 (en)*2009-09-102014-04-22Miniweb Technologies LimitedContent item receiver module and method
US20110072114A1 (en)*2009-09-222011-03-24Thwapr, Inc.Subscribing to mobile media sharing
US20110138414A1 (en)*2009-12-082011-06-09Harmonic Inc.Modification and Distribution of Video Content
US20110138411A1 (en)*2009-12-082011-06-09Clear Channel Management Services, Inc.Broadcast Synchronization
US20110191178A1 (en)*2010-02-032011-08-04Randall Delbert NewbergSystem and method for contextual advertising
US20120259942A1 (en)*2010-12-172012-10-11Akamai Technologies, Inc.Proxy server with byte-based include interpreter
US20120166289A1 (en)*2010-12-222012-06-28Ando Media LlcReal-time media stream insertion method and apparatus
US20140059182A1 (en)*2011-03-042014-02-27Fumio MiuraSynchronized content broadcast distribution system
US8429250B2 (en)*2011-03-282013-04-23Unicorn Media, Inc.Transcodeless on-the-fly ad insertion
US8510460B2 (en)*2011-04-292013-08-13Cbs Interactive Inc.Reduced video player start-up latency in HTTP live streaming and similar protocols
US8607295B2 (en)*2011-07-062013-12-10Symphony Advanced MediaMedia content synchronized advertising platform methods
US20130047074A1 (en)*2011-08-162013-02-21Steven Erik VESTERGAARDScript-based video rendering
US20130086607A1 (en)*2011-10-032013-04-04Hulu LlcVideo ad swapping in a video streaming system
US20130110643A1 (en)*2011-10-282013-05-02Yahoo! Inc., A Delaware CorporationMethods and systems for facilitating caching of advertisements
US20130144723A1 (en)*2011-11-172013-06-06Abacast, Inc.Systems, methods and articles to automatically expose and place material in streams of programming

Cited By (9)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20160323343A1 (en)*2015-04-282016-11-03Apple Inc.Dynamic Media Content
US10284618B2 (en)*2015-04-282019-05-07Apple Inc.Dynamic media content
US10623517B2 (en)*2015-12-292020-04-14Oath Inc.Content prefetching and cache management
US11546647B2 (en)*2019-06-072023-01-03Roku, Inc.Content-modification system with probability-based selection feature
US11843813B2 (en)2019-06-072023-12-12Roku, Inc.Content-modification system with probability-based selection feature
US20240064357A1 (en)*2019-06-072024-02-22Roku, Inc.Content-modification system with probability-based selection feature
US12212795B2 (en)*2019-06-072025-01-28Roku, Inc.Content-modification system with probability-based selection feature
US20220385627A1 (en)*2021-02-152022-12-01Roku, Inc.Content-modification system with household coordination feature
US11876776B2 (en)*2021-02-152024-01-16Roku, Inc.Content-modification system with household coordination feature

Also Published As

Publication numberPublication date
US9043485B2 (en)2015-05-26
US20140372537A1 (en)2014-12-18
US9219770B2 (en)2015-12-22
US20160269463A1 (en)2016-09-15
US12137134B2 (en)2024-11-05
US10887364B2 (en)2021-01-05
US9215259B2 (en)2015-12-15
US20140149596A1 (en)2014-05-29
US20150052196A1 (en)2015-02-19
US8880723B1 (en)2014-11-04
US9860295B2 (en)2018-01-02
US20140189731A1 (en)2014-07-03
US20210203708A1 (en)2021-07-01
US20160099990A1 (en)2016-04-07

Similar Documents

PublicationPublication DateTitle
US12137134B2 (en)Internet streaming of dynamic content from a file
US20240403900A1 (en)Radio broadcast content synchronization
US11265607B2 (en)Systems, methods, and apparatuses for implementing a broadcast integration platform with real-time interactive content synchronization
NL2016051B1 (en)Live-stream video advertisement system
US20150271546A1 (en)Synchronized provision of social media content with time-delayed video program events
JP5982359B2 (en) Synchro contents broadcast distribution system
CN104065979A (en)Method for dynamically displaying information related with video content and system thereof
US11272246B2 (en)System and method for management and delivery of secondary syndicated companion content of discovered primary digital media presentations
US11930248B2 (en)Information processing apparatus, information processing method, transmission apparatus, and transmission method
US20150162997A1 (en)Methods for streaming radio content
US8781304B2 (en)System and method for augmenting rich media content using multiple content repositories
US20020067907A1 (en)Universal video client/universal video server system
CN1972447A (en)Multi-image player based on stream media technology and its playing method
US20200272875A1 (en)System, Method And Apparatus And Computer Program Product To Use Imperceptible SONAD Sound Codes And SONAD Visual Code Technology For Distributing Multimedia Content To Mobile Devices
US10225029B2 (en)System and method for generating customized digital content from a radio feed
TW202106038A (en)Content-modification system with broadcast schedule utilization feature
JP2020102740A (en)Transmission and reception system, and transmission and reception method
HK1192660B (en)Synchronized content broadcast distribution system

Legal Events

DateCodeTitleDescription
STCFInformation on status: patent grant

Free format text:PATENTED CASE

FEPPFee payment procedure

Free format text:MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

LAPSLapse for failure to pay maintenance fees

Free format text:PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

STCHInformation on status: patent discontinuation

Free format text:PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FPLapsed due to failure to pay maintenance fee

Effective date:20200223

PRDPPatent reinstated due to the acceptance of a late maintenance fee

Effective date:20200430

FEPPFee payment procedure

Free format text:PETITION RELATED TO MAINTENANCE FEES FILED (ORIGINAL EVENT CODE: PMFP); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

Free format text:SURCHARGE, PETITION TO ACCEPT PYMT AFTER EXP, UNINTENTIONAL. (ORIGINAL EVENT CODE: M2558); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

Free format text:PETITION RELATED TO MAINTENANCE FEES GRANTED (ORIGINAL EVENT CODE: PMFG); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

MAFPMaintenance fee payment

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

Year of fee payment:4

STCFInformation on status: patent grant

Free format text:PATENTED CASE

MAFPMaintenance fee payment

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

Year of fee payment:8


[8]ページ先頭

©2009-2025 Movatter.jp