IP Library Granted Patent US 12,267,535
Granted Patent B2
US 12,267,535 · App. 18/587,223 · Granted Apr 1, 2025

Systems and methods for dynamic stitching of advertisements in live stream content

Inventor: Thomas Hamilton Link (Pasadena, CA)
Assignee: SnifferCat, Inc.
H04N21/23424G06Q30/0277H04L65/1089H04L65/612H04L65/75H04L65/765H04N21/2187H04N21/26258H04N21/2668H04N21/47217H04N21/812
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,267,535
App. No.
18/587,223
Granted
Apr 1, 2025
Kind
B2
Abstract

Receiving a first portion of a live stream of a content item being either prerecorded or being captured from a live event, the content item comprising or to comprise a set of stream-enabled video segments, the first portion of the live stream comprising a first subset of stream-enabled video segments. Identifying insertion point(s) within at least one stream-enabled video segment. Generating a first playlist based on the one or more identified insertion points, the first playlist associated with at least a first sub-subset stream-enabled video segments. Providing the first playlist to a consumer system. Receiving a second portion of the live stream comprising a second subset of stream-enabled video segments. Receiving a second playlist associated with the second portion of the live stream. Updating the first playlist based on the second playlist, and providing the updated first playlist to the consumer system.

Claims (56)

1. A system comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the system to perform:

receiving a content item from a remote content provider system, the content item comprising a plurality of stream-enabled video segments, the plurality of stream-enabled video segments including a first stream-enabled video segment having an advertisement insertion point, the plurality of stream-enabled video segments including a second stream-enabled video segment without any advertisement insertion points;

identifying the advertisement insertion point in the first stream-enabled video segment, thereby identifying a first segment portion of the first stream-enabled video segment to be played before the advertisement insertion point and identifying a second segment portion of the first stream-enabled video segment to be played after the advertisement insertion point;

storing the first segment portion and the second segment portion;

identifying no advertisement insertion points in the second stream-enabled video segment;

in response to identifying no advertisement insertion points in the second stream-enabled video segment, discarding the second stream-enabled video segment;

generating a playlist, the playlist comprising at least a first identifier, a second identifier, a third identifier and a fourth identifier, the first identifier identifying a first streaming source location associated with the first segment portion, the second identifier identifying a second location associated with an advertisement provider system configured to assist in providing one or more stream-enabled advertisements, the second location being remote from the first streaming source location, the third identifier identifying the a third streaming source location associated with the second segment portion, and the fourth identifier identifying a fourth streaming source location associated with the second stream-enabled video segment, the first streaming source location, the second location and the fourth streaming source location being remote from each other;

providing the playlist to a consumer system, the playlist allowing the consumer system to:

use the first identifier to stream the first segment portion from the first streaming source location,

use the second identifier to stream the one or more stream-enabled advertisements for playback after the first segment portion,

use the third identifier to stream the second segment portion from a third streaming source location for playback after the one or more stream-enabled advertisements, and

use the fourth identifier to stream the second stream-enabled video segment from the fourth streaming source location for playback after the second segment portion;

receiving a request from the consumer system to stream the first segment portion; and

streaming the first segment portion to the consumer system in response to the request.

2. The system of claim 1 , wherein the one or more stream-enabled advertisements comprise stream-enabled video.

3. The system of claim 1 , further comprising removing the advertisement insertion point by removing a set of one or more sequential black frames from the first stream-enabled video segment.

4. The system of claim 1 , wherein the first streaming source location comprises a streaming source location of the system.

5. The system of claim 1 , wherein the fourth streaming source location comprises a content provider streaming source location.

6. The system of claim 1 , wherein the first identifier, the second identifier, and the fourth identifier each comprise a respective uniform resource locator (URL) having a different domain.

7. The system of claim 1 , wherein the first identifier and the third identifier each comprise a respective URL having the same domain.

8. A method, comprising:

receiving a content item from a remote content provider system, the content item comprising a plurality of stream-enabled video segments, the plurality of stream-enabled video segments including a first stream-enabled video segment having an advertisement insertion point, the plurality of stream-enabled video segments including a second stream-enabled video segment without any advertisement insertion points;

identifying the advertisement insertion point in the first stream-enabled video segment, thereby identifying a first segment portion of the first stream-enabled video segment to be played before the advertisement insertion point and identifying a second segment portion of the first stream-enabled video segment to be played after the advertisement insertion point;

storing the first segment portion and the second segment portion;

identifying no advertisement insertion points in the second stream-enabled video segment;

in response to identifying no advertisement insertion points in the second stream-enabled video segment, discarding the second stream-enabled video segment;

generating a playlist, the playlist comprising at least a first identifier, a second identifier, a third identifier and a fourth identifier, the first identifier identifying a first streaming source location associated with the first segment portion, the second identifier identifying a second location associated with an advertisement provider system configured to assist in providing one or more stream-enabled advertisements, the second location being remote from the first streaming source location, the third identifier identifying the a third streaming source location associated with the second segment portion, and the fourth identifier identifying a fourth streaming source location associated with the second stream-enabled video segment, the first streaming source location, the second location and the fourth streaming source location being remote from each other;

providing the playlist to a consumer system, the playlist allowing the consumer system to:

use the first identifier to stream the first segment portion from the first streaming source location,

use the second identifier to stream the one or more stream-enabled advertisements for playback after the first segment portion,

use the third identifier to stream the second segment portion from a third streaming source location for playback after the one or more stream-enabled advertisements, and

use the fourth identifier to stream the second stream-enabled video segment from the fourth streaming source location for playback after the second segment portion;

receiving a request from the consumer system to stream the first segment portion; and

streaming the first segment portion to the consumer system in response to the request.

9. The method of claim 8 , wherein the one or more stream-enabled advertisements comprise stream-enabled video.

10. The method of claim 8 , further comprising removing the advertisement insertion point by removing a set of one or more sequential black frames from the first stream-enabled video segment.

11. The method of claim 8 , wherein the first streaming source location comprises a streaming source location of a system.

12. The method of claim 8 , wherein the fourth streaming source location comprises a content provider streaming source location.

13. The method of claim 8 , wherein the first identifier, the second identifier, and the fourth identifier each comprise a respective uniform resource locator (URL) having a different domain.

14. The method of claim 8 , wherein the first identifier and the third identifier each comprise a respective URL having the same domain.

15. A non-transitory computer readable medium comprising executable instructions, the instructions being executable by a processor to perform a method, the method comprising:

receiving a content item from a remote content provider system, the content item comprising a plurality of stream-enabled video segments, the plurality of stream-enabled video segments including a first stream-enabled video segment having an advertisement insertion point, the plurality of stream-enabled video segments including a second stream-enabled video segment without any advertisement insertion points;

identifying the advertisement insertion point in the first stream-enabled video segment, thereby identifying a first segment portion of the first stream-enabled video segment to be played before the advertisement insertion point and identifying a second segment portion of the first stream-enabled video segment to be played after the advertisement insertion point;

storing the first segment portion and the second segment portion;

identifying no advertisement insertion points in the second stream-enabled video segment;

in response to identifying no advertisement insertion points in the second stream-enabled video segment, discarding the second stream-enabled video segment;

generating a playlist, the playlist comprising at least a first identifier, a second identifier, a third identifier and a fourth identifier, the first identifier identifying a first streaming source location associated with the first segment portion, the second identifier identifying a second location associated with an advertisement provider system configured to assist in providing one or more stream-enabled advertisements, the second location being remote from the first streaming source location, the third identifier identifying the a third streaming source location associated with the second segment portion, and the fourth identifier identifying a fourth streaming source location associated with the second stream-enabled video segment, the first streaming source location, the second location and the fourth streaming source location being remote from each other;

providing the playlist to a consumer system, the playlist allowing the consumer system to:

use the first identifier to stream the first segment portion from the first streaming source location,

use the second identifier to stream the one or more stream-enabled advertisements for playback after the first segment portion,

use the third identifier to stream the second segment portion from a third streaming source location for playback after the one or more stream-enabled advertisements, and

use the fourth identifier to stream the second stream-enabled video segment from the fourth streaming source location for playback after the second segment portion;

receiving a request from the consumer system to stream the first segment portion; and

streaming the first segment portion to the consumer system in response to the request.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2024
From: LINK, THOMAS HAMILTON
To: SNIFFERCAT, INC.
Reel/Frame 066688/0270 →
Continuity (11)
Continuation 18079761 · Dec 12, 2022
Continuation 17689485 · Mar 8, 2022
Continuation 17080446 · Oct 26, 2020
Continuation 16552264 · Aug 27, 2019
Continuation 15973477 · May 7, 2018
Continuation In Part 15854608 · Dec 26, 2017
Continuation 15438365 · Feb 21, 2017
Continuation In Part 15232561 · Aug 9, 2016
Continuation 15199789 · Jun 30, 2016
Provisional Application 62441286 · Dec 31, 2016
Related Publication 20250008169A1 · Jan 2, 2025
References Cited (48)
US 6100941A · Nevenka et al. · 2000 [cited by applicant]
US 6615039B1 · Eldering · 2003 [cited by applicant]
US 6993081B1 · Brunheroto et al. · 2006 [cited by applicant]
US 7806329B2 · Dmitriev et al. · 2010 [cited by applicant]
US 8112311B2 · Hunter · 2012 [cited by examiner]
US 8572646B2 · Haberman et al. · 2013 [cited by applicant]
US 8752085B1 · Brueck et al. · 2014 [cited by applicant]
US 8863182B1 · Sharifi · 2014 [cited by examiner]
US 9183576B2 · Cobb et al. · 2015 [cited by applicant]
US 9197857B2 · Versteeg et al. · 2015 [cited by applicant]
US 9426543B1 · Li · 2016 [cited by applicant]
US 9736503B1 · Bakshi · 2017 [cited by applicant]
US 10171844B2 · Zhang et al. · 2019 [cited by applicant]
US 20020083439A1 · Eldering · 2002 [cited by applicant]
US 20020100043A1 · Lowthert et al. · 2002 [cited by applicant]
US 20060075449A1 · Jagadeesan et al. · 2006 [cited by applicant]
US 20090067806A1 · Sengamedu · 2009 [cited by applicant]
US 20090217318A1 · Versteeg et al. · 2009 [cited by applicant]
US 20110119703A1 · Schlack et al. · 2011 [cited by applicant]
US 20120143660A1 · Jiwang · 2012 [cited by applicant]
US 20130291014A1 · Mick, Jr. et al. · 2013 [cited by applicant]
US 20140115625A1 · McCoy et al. · 2014 [cited by applicant]
US 20140195358A1 · Beining · 2014 [cited by examiner]
US 20140259048A1 · Brueck et al. · 2014 [cited by applicant]
US 20150106841A1 · Wolf et al. · 2015 [cited by applicant]
US 20150382042A1 · Wagenaar · 2015 [cited by examiner]
US 20160182922A1 · Forseca, Jr. et al. · 2016 [cited by applicant]
US 20160205443A1 · Ghadi et al. · 2016 [cited by applicant]
US 20160294909A1 · Killick · 2016 [cited by applicant]
US 20160316234A1 · Casey · 2016 [cited by examiner]
US 20160337691A1 · Prasad · 2016 [cited by applicant]
US 20220248083A1 · Shuai · 2022 [cited by examiner]
CN 1582444A · 2005 [cited by applicant]
CN 1665272A · 2005 [cited by applicant]
CN 101072340A · 2007 [cited by applicant]
CN 101796836A · 2010 [cited by applicant]
CN 103024479A · 2013 [cited by applicant]
CN 103299610A · 2013 [cited by applicant]
CN 104066003A · 2014 [cited by applicant]
CN 104488263 · 2015 [cited by applicant]
CN 104662921 · 2015 [cited by applicant]
CN 104967885 · 2015 [cited by applicant]
EP 1959684 · 2008 [cited by applicant]
JP 2014086087A · 2014 [cited by applicant]
JP 2015165666 · 2015 [cited by applicant]
WO 0150296A2 · 2001 [cited by applicant]
International Application No. PCT/US2017/035235, International Search Report and Written Opinion dated Jun. 12, 2017. [cited by applicant]
Kar, Mukta et al., “Digital Program Insertion for Local Advertising,” Cable Television Laboratories, 1998. [cited by applicant]