Systems and methods for additive bitrate fragmentation
A method for real-time delivery of data based on additive bitrate fragmentation includes receiving a media sample by a server computing device and generating a key frame based on the media sample. The method also includes generating a differential frame based on the media sample and the key frame. The method also includes transmitting a first data packet including the key frame and a second data packet including the differential frame. The method also includes receiving the first data packet and the second data packet by a mobile computing device, generating the media sample based on the key frame and the differential frame, and initiating playback of the generated sample.
1 . A computerized method for real-time delivery of data based on additive bitrate fragmentation, the method comprising:
receiving, by a server computing device, a media sample encoded to a first quality level;
generating, by the server computing device, a key frame based on the media sample, the key frame encoded to a second quality level;
generating, by the server computing device, a first differential frame based on the media sample and the key frame by subtracting a first amount of data present in the key frame from the media sample;
transmitting, by the server computing device, a first data packet comprising the key frame to one or more client computing devices via a User Datagram Protocol (UDP)-configured network connection; and
transmitting, by the server computing device, a second data packet comprising the first differential frame to the one or more client computing devices via the UDP-configured network connection.
2 . The method of claim 1 , wherein the server computing device is further configured to:
generate a second differential frame based on the media sample and the key frame by subtracting a second amount of data present in the key frame from the media sample; and
transmit a third data packet comprising the second differential frame to the one or more client computing devices via the UDP-configured network connection.
3 . The method of claim 2 , wherein the server computing device is further configured to:
generate a third differential frame based on the media sample and the key frame by subtracting a third amount of data present in the key frame from the media sample; and
transmit a fourth data packet comprising the third differential frame to the one or more client computing devices via the UDP-configured network connection.
4 . The method of claim 1 , wherein the server computing device is further configured to:
generate a second differential frame based on the media sample, the key frame, and the first differential frame by subtracting the first amount of data present in the key frame from the media sample and subtracting a second amount of data present in the first differential frame from the media sample; and
transmit a third data packet comprising the second differential frame to the one or more client computing devices via the UDP-configured network connection.
5 . The method of claim 4 , wherein the server computing device is further configured to:
generate a third differential frame based on the media sample, the key frame, the first differential frame, and the second differential frame by subtracting the first amount of data present in the key frame from the media sample, subtracting a second amount of data present in the first differential frame from the media sample, and subtracting a third amount of data present in the second differential frame from the media sample; and
transmit a fourth data packet comprising the third differential frame to the one or more client computing devices via the UDP-configured network connection.
6 . A system for real-time delivery of data based on additive bitrate fragmentation, the system comprising:
a server computing device communicatively coupled to a mobile computing device over a network, the server computing device configured to:
receive a media sample encoded to a first quality level;
generate a key frame based on the media sample, the key frame encoded to a second quality level;
generate a first differential frame based on the media sample and the key frame by subtracting a first amount of data present in the key frame from the media sample;
transmit a first data packet comprising the key frame to one or more client computing devices via a User Datagram Protocol (UDP)-configured network connection; and
transmit a second data packet comprising the first differential frame to the one or more client computing devices via the UDP-configured network connection.
7 . The system of claim 6 , wherein the server computing device is further configured to:
generate a second differential frame based on the media sample and the key frame by subtracting a second amount of data present in the key frame from the media sample; and
transmit a third data packet comprising the second differential frame to the one or more client computing devices via the UDP-configured network connection.
8 . The system of claim 7 , wherein the server computing device is further configured to:
generate a third differential frame based on the media sample and the key frame by subtracting a third amount of data present in the key frame from the media sample; and
transmit a fourth data packet comprising the third differential frame to the one or more client computing devices via the UDP-configured network connection.
9 . The system of claim 6 , wherein the server computing device is further configured to:
generate a second differential frame based on the media sample, the key frame, and the first differential frame by subtracting the first amount of data present in the key frame from the media sample and subtracting a second amount of data present in the first differential frame from the media sample; and
transmit a third data packet comprising the second differential frame to the one or more client computing devices via the UDP-configured network connection.
10 . The system of claim 9 , wherein the server computing device is further configured to:
generate a third differential frame based on the media sample, the key frame, the first differential frame, and the second differential frame by subtracting the first amount of data present in the key frame from the media sample, subtracting a second amount of data present in the first differential frame from the media sample, and subtracting a third amount of data present in the second differential frame from the media sample; and
transmit a fourth data packet comprising the third differential frame to the one or more client computing devices via the UDP-configured network connection.