Method of targeted ad insertion using HTTP live streaming protocol
First Claim
1. A method, comprising:
- receiving, from a video display device, a request for a content stream that includes splice points, wherein each splice point is associated with a position in the content stream;
receiving, from a video encoder, a playlist that includes an ordered list of identifiers that refer to media segment files that represent the content stream, a duration tag for each of the media segment files, and splice point tags, wherein the content stream is segmented into the media segment files and splice points in the content stream are aligned with segment boundaries of the media segment files, wherein each duration tag indicates a duration of a corresponding media segment file, and wherein each splice point tag is in a location in the playlist that corresponds to the position of one of the splice points in the content stream;
identifying an insertion position that corresponds to a media segment in the playlist that is to be replaced with an advertisement segment based on the location of the splice point tags in the playlist;
selecting the advertisement segment based at least in part on a value associated with a duration tag corresponding to the media segment to be replaced;
replacing the media segment with the advertisement segment at the insertion position to create a modified playlist;
removing the splice point tags from the modified playlist; and
sending the modified playlist to the video display device for downloading the media segment files and advertisement segment file according to the modified playlist for display on a video display.
4 Assignments
0 Petitions
Accused Products
Abstract
A content delivery system and method that receives a request for a content stream that includes splice points. The method receives a playlist that includes an ordered list of media segment files that represent the content stream, and splice point tags, where generation of the media segment files aligns segment boundaries with the splice points in the content stream, and where each splice point tag is in a location in the playlist that corresponds to the position of one of the splice points in the content stream. The method identifies an insertion position in the playlist based on the location of the splice point tags, selects an advertisement segment, inserts the advertisement segment at the insertion position to create a modified playlist, removes the splice point tags from the modified playlist, and sends the modified playlist to the video display device.
40 Citations
30 Claims
-
1. A method, comprising:
-
receiving, from a video display device, a request for a content stream that includes splice points, wherein each splice point is associated with a position in the content stream; receiving, from a video encoder, a playlist that includes an ordered list of identifiers that refer to media segment files that represent the content stream, a duration tag for each of the media segment files, and splice point tags, wherein the content stream is segmented into the media segment files and splice points in the content stream are aligned with segment boundaries of the media segment files, wherein each duration tag indicates a duration of a corresponding media segment file, and wherein each splice point tag is in a location in the playlist that corresponds to the position of one of the splice points in the content stream; identifying an insertion position that corresponds to a media segment in the playlist that is to be replaced with an advertisement segment based on the location of the splice point tags in the playlist; selecting the advertisement segment based at least in part on a value associated with a duration tag corresponding to the media segment to be replaced; replacing the media segment with the advertisement segment at the insertion position to create a modified playlist; removing the splice point tags from the modified playlist; and sending the modified playlist to the video display device for downloading the media segment files and advertisement segment file according to the modified playlist for display on a video display. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A content delivery system, comprising:
-
a content delivery network that connects a video encoder, and a video display device; and a computing device connected to the video encoder and the content delivery network, the computing device comprising; a memory device resident in the computing device; and a processor disposed in communication with the memory device, the processor configured to; receive a request, from the video display device, for a content stream that includes splice points, wherein each splice point is associated with a position in the content stream; receive a playlist, from the video encoder, that includes an ordered list of identifiers that refer to media segment files that represent the content stream, a duration tag for each of the media segment files, and splice point tags, wherein the content stream is segmented into the media segment files and splice points in the content stream are aligned with segment boundaries of the media segment files, wherein each duration tag indicates a duration of a corresponding media segment file, and wherein each splice point tag is in a location in the playlist that corresponds to the position of one of the splice points in the content stream; identify an insertion position that corresponds to a media segment in the playlist that is to be replaced with an advertisement segment based on the location of the splice point tags in the playlist; select the advertisement segment based at least in part on a value associated with a duration tag corresponding to the media segment to be replaced; replace the media segment with the advertisement segment at the insertion position to create a modified playlist; remove the splice point tags from the modified playlist; and send the modified playlist to the video display device to the video display device for downloading the media segment files and advertisement segment file according to the modified playlist for display on a video display. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A non-transitory computer-readable medium, comprising computer-executable instructions that, when executed on a computing device, perform steps of:
-
receiving a request for a content stream that includes splice points, wherein each splice point is associated with a position in the content stream; receiving a playlist that includes an ordered list of identifiers that refer to media segment files that represent the content stream, a duration tag for each of the media segment files, and splice point tags, wherein the content stream is segmented into the media segment files and splice points in the content stream are aligned with segment boundaries of the media segment files, wherein each duration tag indicates a duration of a corresponding media segment file, and wherein each splice point tag is in a location in the playlist that corresponds to the position of one of the splice points in the content stream; identifying an insertion position that corresponds to a media segment in the playlist that is to be replaced with an advertisement segment based on the location of the splice point tags in the playlist; selecting the advertisement segment based at least in part on a value associated with a duration tag corresponding to the media segment to be replaced; replacing the media segment with the advertisement segment at the insertion position to create a modified playlist; removing the splice point tags from the modified playlist; and sending the modified playlist to the video display device for downloading the media segment files and advertisement segment file according to the modified playlist for display on a video display.
-
-
22. A method, comprising:
-
receiving a request for a playlist with splice point tags for a content stream, wherein the a content stream includes splice points, wherein each splice point is associated with a position in the content stream; segmenting the content stream into media segment files to align segment boundaries for the media segments files with splice points in the content stream; generating the playlist for the content stream, the playlist including an ordered list of identifiers that refer to the media segment files that represent the content stream, a duration tag for each of the media segment files, and splice point tags, wherein each duration tag indicates a duration of a corresponding media segment file, and wherein each splice point tag is in a location in the playlist that corresponds to the position of one of the splice points in the content stream; selecting the advertisement segment such that the duration of the selected advertisement segment matches the duration specified in the duration tag corresponding to the media segment to be replaced; replacing the media segment with the advertisement segment at the insertion position to create a modified playlist; removing the splice point tags from the modified playlist; and sending the modified playlist in response to the request. - View Dependent Claims (23, 24, 25)
-
-
26. A content delivery system, comprising:
-
a content delivery network that connects a content manager, and a video display device; and a computing device connected to the content manager and the content delivery network, the computing device comprising; a memory device resident in the computing device; and a processor disposed in communication with the memory device, the processor configured to; receive a request for a playlist with splice point tags for a content stream, wherein the content stream includes splice points, wherein each splice point is associated with a position in the content stream; segment the content stream into media segment files to align segment boundaries for the media segments files with splice points in the content stream; generate the playlist for the content stream, the playlist including an ordered list of identifiers that refer to the media segment files that represent the content stream, a duration tag for each of the media segment files, and splice point tags, wherein each duration tag indicates a duration of a corresponding media segment file, and wherein each splice point tag is in a location in the playlist that corresponds to the position of one of the splice points in the content stream; select the advertisement segment such that the duration of the selected advertisement segment matches the duration specified in the duration tag corresponding to the media segment to be replaced; replace the media segment with the advertisement segment at the insertion position to create a modified playlist; remove the splice point tags from the modified playlist; and send the modified playlist in response to the request. - View Dependent Claims (27, 28, 29)
-
-
30. A non-transitory computer-readable medium, comprising computer-executable instructions that, when executed on a computing device, perform steps of:
-
receiving a request for a playlist with splice point tags for a content stream, wherein the content stream includes splice points, wherein each splice point is associated with a position in the content stream; segmenting the content stream into media segment files to align segment boundaries for the media segments files with splice points in the content stream; generating the playlist for the content stream, the playlist including an ordered list of identifiers that refer to the media segment files that represent the content stream, a duration tag for each of the media segment files, and splice point tags, wherein each duration tag indicates a duration of a corresponding media segment file, and wherein each splice point tag is in a location in the playlist that corresponds to the position of one of the splice points in the content stream; selecting the advertisement segment such that the duration of the selected advertisement segment matches the duration specified in the duration tag corresponding to the media segment to be replaced; replacing the media segment with the advertisement segment at the insertion position to create a modified playlist; removing the splice point tags from the modified playlist; and sending the modified playlist in response to the request.
-
Specification