BACKGROUND

Adaptive streaming, designed to deliver content items (e.g., video, etc.) to multiple users in the most efficient way possible while also providing the best quality for each specific user, requires different parameters (e.g., encoding parameters, Uniform Resource Locators (URLs), identifiers, etc.) be used for each segment of the content. Playlists and/or manifest files are used to inform users of segments of the content item available at various bit rates (e.g., various representations of the content, etc.). Playlists and/or manifest files individually list addresses and parameters for each segment of content item. As such, playlists and/or manifest files include a reference (e.g., a complete URL) for every segment and representation of the content item. Playlists and/or manifest files that individually list addresses and parameters for each segment and/or representation of content require an increased file size and increased resource requirements to parse the playlist and/or manifest file.

SUMMARY

It is to be understood that both the following general description and the following detailed description are exemplary and explanatory only and are not restrictive. Methods and systems for per-segment parameter passing are described. A content item may have multiple representations, with each representation varying in bit rate, format, and/or other parameters. Each representation of a content item may be comprised of a plurality of segments. A manifest file sent to a user device may identify Uniform Resource Locators (URLs) for each of the representations and/or segments. To request a particular segment for a particular representation, a user device may access the manifest file to determine the particular URL to send the request. In order to reduce the overall size of the manifest file, instead of individually listing each segment in the manifest file, Template elements may be used to describe a standardized naming convention for segments, from which a user device may dynamically generate requests.

In some cases a parameter may be included in the request URL that is different for each segment, but the same across all representations for that segment (e.g., forensic watermarking of content streams). This may preclude the use of Template elements, as these per-segment parameters cannot be defined according to a standard naming convention. In such instances, the segments and their corresponding parameters may be individually listed in the manifest file, resulting in an increased manifest file size and increased resource usage in parsing the manifest file to generate requests. Accordingly, a parameter file separate from the manifest file may identify a plurality of time ranges. The parameter file may also identify, for each time range, a corresponding parameter value. The corresponding parameter value may be applicable to all segments within the time range across all representations. As the parameters are not indicated in the manifest file itself, the manifest file may still use Template-based addressing schemes for generating requests for segments, thereby reducing the overall size of the manifest file. Additionally, as the manifest file may be updated during content delivery, the updated manifest files will also have similarly reduced file sizes and parsing complexity due to the use of Template elements.

This summary is not intended to identify critical or essential features of the disclosure, but merely to summarize certain features and variations thereof. Other details and features will be described in the sections that follow.

