Optimizing content item compression for adaptive bitrate streaming by over-the-top (OTT) providers
Systems and methods are disclosed for generating an adaptive bitrate ladder for a content item based on the actual quality of the content item. A broadcaster determines a quality score of a content item and multiplexes a message indicating the quality score with data packets of the content item to an OTT provider. The OTT provider uses the quality score to determine an ABR ladder with a set of bitrates for the content item. The OTT provider then encodes a plurality of portions of the content item for each bitrate. The OTT provider then generates a manifest indicating a portion of a URL corresponding to each portion and transmits the manifest to a client device.
1 . A method comprising:
receiving, at a quality determination system of an over-the-top (OTT) provider from a broadcaster, data packets, wherein the broadcaster was configured to:
access a content item from a source;
access a quality score of the content item;
encode the content item to generate a broadcaster-encoded content item;
multiplex a message indicating the quality score into a plurality of data packets that comprise at least a part of the broadcaster-encoded content item; and
transmit the data packets to the OTT provider;
identifying, by the quality determination system of the OTT provider, the quality score based on the message multiplexed into the plurality of data packets;
selecting, by a backoffice of the OTT provider, a set of bitrates for the content item based on the quality score;
encoding, by an adaptive bitrate (ABR) transcoder of the OTT provider, for each respective bitrate of the set of bitrates a respective plurality of encoded portions based on content item data from the plurality of data packets;
generating, by a packager of the OTT provider, a manifest indicating, for each encoded portion of each respective plurality of encoded portions, at least a respective encoded portion of a uniform resource locator (URL); and
transmitting, by the OTT provider, the manifest to the client device.
2 . The method of claim 1 wherein the quality score comprises one or more of a resolution of the content item, a framerate of the content item, or a bitrate of the content item.
3 . The method of claim 1 wherein the message indicating the quality score comprises one of a supplemental enhancement (SEI) message, a society of cable telecommunications engineers (SCTE) message or a moving picture experts group (MPEG-7) metadata message.
4 . The method of claim 1 wherein identifying the quality score of the content item comprises receiving the message, wherein the message is based on performing an analysis of visual characteristics of at least one frame of the respective time portion.
5 . The method of claim 4 wherein the performing an analysis of visual characteristics of at least one frame of the respective time portion comprises determining a resolution of the video based on a color of a plurality of pixels in the at least one frame.
6 . The method of claim 1 further comprising transmitting the manifest to the client device by:
writing, by a packager of the OTT provider, the manifest to a content delivery network (CDN) origin;
transmitting the plurality of encoded portions to the CDN origin;
distributing, by the CDN origin, the plurality of encoded portions to a plurality of edge nodes.
7 . A system comprising:
a quality determination system of an over-the-top (OTT) provider configured to:
receiving, from a broadcaster, data packets, wherein the broadcaster was configured to:
access a content item from a source;
access a quality score of the content item;
encode the content item to generate a broadcaster-encoded content item;
multiplex a message indicating the quality score into a plurality of data packets that comprise at least a part of the broadcaster-encoded content item; and
transmit the data packets to the OTT provider; and
identify the quality score based on the message multiplexed into the plurality of data packets;
the backoffice of the OTT provider configured to select a set of bitrates for the content item based on the quality score;
an adaptive bitrate (ABR) transcoder of the OTT provider configured to encode for each respective bitrate of the set of bitrates a respective plurality of encoded portions based on content item data from the plurality of data packets;
a packager of the OTT provider configured to generate a manifest indicating, for each encoded portion of each respective plurality of encoded portions, at least a respective encoded portion of a uniform resource locator (URL); and
the OTT provider configured to transmit the manifest to the client device.
8 . The system of claim 7 wherein the quality score comprises one or more of a resolution of the content item, a framerate of the content item, or a bitrate of the content item.
9 . The system of claim 7 wherein the message indicating the quality score comprises one of a supplemental enhancement (SEI) message, a society of cable telecommunications engineers (SCTE) message or a moving picture experts group (MPEG-7) metadata message.
10 . The system of claim 7 wherein the quality determination system is configured to identify the quality score by receiving the message, wherein the message is based on performing an analysis of visual characteristics of at least one frame of the respective time portion.
11 . The system of claim 10 wherein the quality determination system is configured to identify the quality score based on the message by receiving the message, wherein performing an analysis of visual characteristics of at least one frame of the respective time portion comprises determining a resolution of the video based on a color of a plurality of pixels in the at least one frame.
12 . The system of claim 7 wherein the packager of the OTT provider is further configured to transmit the manifest to the client device by:
writing the manifest to a content delivery network (CDN) origin; and
transmitting the plurality of encoded portions to the CDN origin; and
the CDN origin configured to distribute the plurality of encoded portions to a plurality of edge nodes.