BACKGROUND

Obtaining programming and other content in a variety of different ways is becoming more popular. For example, users may obtain access to content at a device from an over-the-air (OTA) television service provider, such as a satellite or cable television provider, or from an over-the-top (OTT) cloud-based television service provider, and each type of provider includes many different individual providers of content. However, pieces of content may be long and each usually include a variety of different types of subject matter. Therefore, it is difficult for users to obtain a compilation of the exact content they want when spread out over different content providers, different pieces of content, and different platforms. Supercuts may provide compilations of content.

BRIEF SUMMARY

Embodiments of the present technology may include systems and processes associated with automatically generating supercuts associated with programming content. For example, a computing device may include one or more processors, a wireless transceiver communicatively coupled to the one or more processors, and a non-transitory computer readable storage medium communicatively coupled to the one or more processors. The non-transitory computer readable storage medium may include instructions that, when executed by the one or more processors, cause the one or more processors to perform operations including: receiving, at the computing device, a set of related programming content, wherein the set of related programming content includes video clips; receiving an input from a user including a command to generate a supercut and a keyword associated with the supercut; searching the set of related programming content for portions of the video clips associated with the keyword; identifying a first event within a first video clip associated with the keyword and a second event within a second video clip associated with the keyword; determining a type of event associated with each of the first and second events and link the types of events with their respective events; determining a pre-event time period and a post-event time period for each of the first and second events based on the types of events; and generating and displaying a supercut using the first event, the second event, the pre-event time periods, and the post-event time periods. The above steps may be implemented as a computer-implemented method, computer program product, or device such as a television receiver, or in other types of embodiments.

In another aspect, the one or more operations may further include: receiving a second input from a user including a fixed parameter associated with the user's preferences; filtering the set of related programming content using the parameter to generate a reduced set of related programming content; and searching the reduced set of related programming content for portions of the video clips associated with the keyword using the tags. In another aspect, the one or more operations may further include: generating tags associated with each video clip based on content detected in each video clip, and linking the tags to their respective video clips; and searching the set of related programming content for portions of the video clips associated with the keyword using the tags. In another aspect, receiving the set of related programming content may include receiving tags associated with each piece of content in the set of related programming content. In another aspect, the tags may be used when searching the set of related programming content for portions of the video clips associated with the keyword using the tags. In another aspect, generating the supercut may include generating a new file that includes the first video clip and the second video clip. In another aspect, generating the supercut may include displaying the first video clip and the second video clip in succession without generating a new file including the supercut. In another aspect the one or more operations may further include: detecting that the user has paused playback of a piece of programming content; and in response to detecting that the user has paused playback of the piece of programming content, automatically generating the supercut. The above steps may be implemented as a computer-implemented method, computer program product, or device such as a television receiver, or in other types of embodiments.

Embodiments of the present technology may include systems and processes associated with automatically generating supercuts associated with programming content. For example, a computing device may include one or more processors, a wireless transceiver communicatively coupled to the one or more processors, and a non-transitory computer readable storage medium communicatively coupled to the one or more processors. The non-transitory computer readable storage medium may include instructions that, when executed by the one or more processors, cause the one or more processors to perform operations including: receiving, at the computing device, programming content and a type of content associated with the programming content; in response to an input from a user, displaying the programming content on a display device; detecting that the user has paused the programming content; in response to the user pausing the programming content, automatically initiating the generation of a supercut; identifying a portion of the programming content that was displayed on the display device before the user paused the programming content; searching the portion of the programming content for a set of events using the type of content associated with the programming content; identifying one or more video clips from the programming content, wherein each clip includes one or more events from the set of events; and generating a supercut using the one or more video clips, wherein the one or more video clips are displayed one after another in the supercut. The above steps may be implemented as a computer-implemented method, computer program product, or device such as a television receiver, or in other types of embodiments.

In another aspect, the one or more operations may further include displaying a supercut interface on the display device, wherein the supercut interface is overlaid on top of the programming content. In another aspect, the one or more operations may further include receiving a second input from the user at the supercut interface, wherein when the second input is received, the supercut is displayed on the display device instead of the programming content. In another aspect, the one or more operations may further include determining a pre-event time period and a post-event time period for each of the events in the set of events based on the type of content associated with the programming content; applying the pre-event time period and the post-event time period to each of the one or more video clips identified from the programming content; and generating and displaying the supercut using the one or more video clips after the pre-event time period and the post-event time period are applied to the clips. In another aspect, the one or more operations may further include receiving a second input from the user including a keyword associated with the supercut; and searching the portion of the programming content for a set of events using the type of content associated with the programming content and the keyword. In another aspect, the one or more operations may further include generating tags associated with the programming content based on content detected in the programming content, and linking the tags to different portions of the programming content; and searching the portion of the programming content for a set of events using the type of content associated with the programming content and the tags. In another aspect, the one or more operations may further include searching the portion of the programming content for a set of events using the type of content associated with the programming content and a set of tags, wherein receiving programming content includes receiving the tags, wherein the tags are associated with different portions of the programming content. In another aspect, the one or more operations may further include identifying characteristics associated with content of video clips to be included in the supercut based on the type of content; and searching the portion of the programming content for the set of events using the characteristics associated with the content. The above steps may be implemented as a computer-implemented method, computer program product, or device such as a television receiver, or in other types of embodiments.

