Unique user session tracking in adaptive bitrate video delivery
An apparatus having a device of a user and a computer is disclosed. The computer may be configured to (i) transfer a manifest to the device in response to a viewing session being opened. The manifest generally has a plurality of modified links to a plurality of bitrates of a video content. Each one of the modified links may include an identifier that is unique to the viewing session. The computer may also be configured to (ii) receive a particular one of the modified links from the device, (iii) log a presence of the viewing session, and (iv) generate a request by removing the identifier from the particular modified link.
1 . A system comprising:
at least one processor; and
memory including instructions for executing on the at least one processor to cause the system to:
enable a viewing session for media content, the viewing session associated with an initial manifest comprising stored identifiers for a plurality of bitrates of the media content;
determine an appropriate bitrate from a selection provided by a device that received the initial manifest;
modify, based at least on the selection, the initial manifest to generate a modified manifest that has a plurality of modified links of different bitrates from a modification to the stored identifiers, individual links of the modified links including a session identifier that is unique to the viewing session and to the appropriate bitrate of the different bitrates;
upon determining that the media content at the appropriate bitrate is not cached, cache the media content at the appropriate bitrate; and
upon determining that the media content at the appropriate bitrate is cached:
remove the session identifier from the individual links associated with the media content;
log a presence of the viewing session; and
provide the media content.
2 . The system according to claim 1 , wherein the memory including instructions for executing on the at least one processor further causes the system to:
receive periodic requests for the initial manifest; and
generating new modified manifests referencing updated segments of the media content, the new modified manifests to be provided to the device.
3 . The system according to claim 1 , wherein the memory including instructions for executing on the at least one processor further causes the system to:
determine the appropriate bitrate as associated with the device that is one of a computer, a television, a set-top box, a cellular telephone, a tablet, and a mobile device.
4 . The system according to claim 1 , wherein the memory including instructions for executing on the at least one processor further causes the system to:
enable the device to provide the selection as a selection for a variant manifest than the initial manifest, wherein the variant manifest comprises the appropriate bitrate for the media content.
5 . The system according to claim 1 , wherein the memory including instructions for executing on the at least one processor further causes the system to:
enable the modified manifest or a variant of the modified manifest to comprise the modified links from the modification to an appropriate one of the stored identifiers associated with the appropriate bitrate.
6 . The system according to claim 1 , wherein the memory including instructions for executing on the at least one processor further causes the system to:
provide the media content at the appropriate bitrate in response to a further selection from the device.
7 . The system according to claim 1 , wherein the memory including instructions for executing on the at least one processor further causes the system to:
enable an application of the device to select the appropriate bitrate; and
provide individual segments or fragments of the media content for playback in the device based in part on the appropriate bitrate.
8 . A method for tracking a viewing session for media content, comprising:
enabling the viewing session that is associated with an initial manifest comprising stored identifiers for a plurality of bitrates of a media content;
determining an appropriate bitrate, from a selection provided by a device that received the initial manifest;
modifying, based at least on the selection, the initial manifest to generate a modified manifest that has a plurality of modified links of different bitrates from a modification to the stored identifiers, individual links of the modified links including a session identifier that is unique to the viewing session and to the appropriate bitrate of the different bitrates;
upon determining that the media content at the appropriate bitrate is not cached, caching the media content at the appropriate bitrate; and
upon determining that the media content at the appropriate bitrate is cached:
removing the session identifier from the individual links associated with the media content;
logging a presence of the viewing session; and
providing the media content.
9 . The method according to claim 8 , further comprising:
receiving periodic requests for the initial manifest; and
generating new modified manifests referencing updated segments of the media content, the new modified manifests to be provided to the device.
10 . The method according to claim 8 , further comprising:
determining the appropriate bitrate as associated with the device that is one of a computer, a television, a set-top box, a cellular telephone, a tablet, and a mobile device.
11 . The method according to claim 8 , further comprising:
enabling the device to provide the selection as a selection for a variant manifest than the initial manifest, wherein the variant manifest comprises the appropriate bitrate for the media content.
12 . The method according to claim 8 , further comprising:
enabling the modified manifest or a variant of the modified manifest to comprise the modified links from the modification to an appropriate one of the stored identifiers associated with the appropriate bitrate.
13 . The method according to claim 8 , further comprising:
providing the media content at the appropriate bitrate in response to a further selection from the device.
14 . The method according to claim 8 , further comprising:
enabling an application of the device to select the appropriate bitrate; and
providing individual segments or fragments of the media content for playback in the device based in part on the appropriate bitrate.
15 . A non-transitory computer readable storage medium including instructions stored thereon which, when executed by at least one processor, cause the at least one processor to:
enable a viewing session that is associated with an initial manifest comprising stored identifiers for a plurality of bitrates of a media content;
determine an appropriate bitrate, from a selection provided by a device that received the initial manifest;
modify, based at least on the selection, the initial manifest to generate a modified manifest that has a plurality of modified links of different bitrates from a modification to the stored identifiers, individual links of the modified links including a session identifier that is unique to the viewing session and to the appropriate bitrate of the different bitrates;
upon determining that the media content at the appropriate bitrate is not cached, cache the media content at the appropriate bitrate; and
upon determining that the media content at the appropriate bitrate is cached:
remove the session identifier from the individual links associated with the media content;
log a presence of the viewing session; and
provide the media content.
16 . The non-transitory computer readable storage medium of claim 15 , including the instructions stored thereon which, when executed by the at least one processor, further cause the at least one processor to:
receive periodic requests for the initial manifest; and
generate new modified manifests referencing updated segments of the media content, the new modified manifests to be provided to the device.
17 . The non-transitory computer readable storage medium of claim 15 , including the instructions stored thereon which, when executed by the at least one processor, further cause the at least one processor to:
determine the appropriate bitrate as associated with the device that is one of a computer, a television, a set-top box, a cellular telephone, a tablet, and a mobile device.
18 . The non-transitory computer readable storage medium of claim 15 , including the instructions stored thereon which, when executed by the at least one processor, further cause the at least one processor to:
enable the device to provide the selection as a selection for a variant manifest than the initial manifest, wherein the variant manifest comprises the appropriate bitrate for the media content.
19 . The non-transitory computer readable storage medium of claim 15 , including the instructions stored thereon which, when executed by the at least one processor, further cause the at least one processor to:
enable the modified manifest or a variant of the modified manifest to comprise the modified links from the modification to an appropriate one of the stored identifiers associated with the appropriate bitrate.
20 . The non-transitory computer readable storage medium of claim 15 , including the instructions stored thereon which, when executed by the at least one processor, further cause the at least one processor to:
provide the media content at the appropriate bitrate in response to a further selection from the device.