2022-08-26 15:44:59 +00:00
|
|
|
// Copyright 2014 Google LLC. All rights reserved.
|
2014-05-22 19:39:30 +00:00
|
|
|
//
|
|
|
|
// Use of this source code is governed by a BSD-style
|
|
|
|
// license that can be found in the LICENSE file or at
|
|
|
|
// https://developers.google.com/open-source/licenses/bsd
|
|
|
|
//
|
|
|
|
// Defines Mpd flags.
|
|
|
|
|
2014-10-01 22:10:21 +00:00
|
|
|
#include "packager/app/mpd_flags.h"
|
2014-05-22 19:39:30 +00:00
|
|
|
|
2023-09-09 00:44:17 +00:00
|
|
|
ABSL_FLAG(bool,
|
|
|
|
generate_static_live_mpd,
|
|
|
|
false,
|
|
|
|
"Set to true to generate static mpd. If segment_template is "
|
|
|
|
"specified in stream descriptors, shaka-packager generates dynamic "
|
|
|
|
"mpd by default; if this flag is enabled, shaka-packager generates "
|
|
|
|
"static mpd instead. Note that if segment_template is not "
|
|
|
|
"specified, shaka-packager always generates static mpd regardless "
|
|
|
|
"of the value of this flag.");
|
|
|
|
ABSL_FLAG(bool,
|
|
|
|
output_media_info,
|
|
|
|
false,
|
|
|
|
"Create a human readable format of MediaInfo. The output file name "
|
|
|
|
"will be the name specified by output flag, suffixed with "
|
|
|
|
"'.media_info'.");
|
|
|
|
ABSL_FLAG(std::string, mpd_output, "", "MPD output file name.");
|
|
|
|
ABSL_FLAG(std::string,
|
|
|
|
base_urls,
|
|
|
|
"",
|
|
|
|
"Comma separated BaseURLs for the MPD. The values will be added "
|
|
|
|
"as <BaseURL> element(s) immediately under the <MPD> element.");
|
|
|
|
ABSL_FLAG(double,
|
|
|
|
min_buffer_time,
|
|
|
|
2.0,
|
|
|
|
"Specifies, in seconds, a common duration used in the definition "
|
|
|
|
"of the MPD Representation data rate.");
|
|
|
|
ABSL_FLAG(double,
|
|
|
|
minimum_update_period,
|
|
|
|
5.0,
|
|
|
|
"Indicates to the player how often to refresh the media "
|
|
|
|
"presentation description in seconds. This value is used for "
|
|
|
|
"dynamic MPD only.");
|
|
|
|
ABSL_FLAG(double,
|
|
|
|
suggested_presentation_delay,
|
|
|
|
0.0,
|
|
|
|
"Specifies a delay, in seconds, to be added to the media "
|
|
|
|
"presentation time. This value is used for dynamic MPD only.");
|
|
|
|
ABSL_FLAG(std::string,
|
|
|
|
utc_timings,
|
|
|
|
"",
|
|
|
|
"Comma separated UTCTiming schemeIdUri and value pairs for the "
|
|
|
|
"MPD. This value is used for dynamic MPD only.");
|
|
|
|
ABSL_FLAG(bool,
|
|
|
|
generate_dash_if_iop_compliant_mpd,
|
|
|
|
true,
|
|
|
|
"Try to generate DASH-IF IOP compliant MPD. This is best effort "
|
|
|
|
"and does not guarantee compliance.");
|
|
|
|
ABSL_FLAG(
|
|
|
|
bool,
|
2017-09-25 19:18:50 +00:00
|
|
|
allow_approximate_segment_timeline,
|
|
|
|
false,
|
|
|
|
"For live profile only. "
|
|
|
|
"If enabled, segments with close duration (i.e. with difference less than "
|
|
|
|
"one sample) are considered to have the same duration. This enables MPD "
|
|
|
|
"generator to generate less SegmentTimeline entries. If all segments are "
|
|
|
|
"of the same duration except the last one, we will do further optimization "
|
|
|
|
"to use SegmentTemplate@duration instead and omit SegmentTimeline "
|
|
|
|
"completely."
|
|
|
|
"Ignored if $Time$ is used in segment template, since $Time$ requires "
|
|
|
|
"accurate Segment Timeline.");
|
2023-09-09 00:44:17 +00:00
|
|
|
ABSL_FLAG(bool,
|
|
|
|
allow_codec_switching,
|
|
|
|
false,
|
|
|
|
"If enabled, allow adaptive switching between different codecs, "
|
|
|
|
"if they have the same language, media type (audio, video etc) and "
|
|
|
|
"container type.");
|
|
|
|
ABSL_FLAG(bool,
|
|
|
|
include_mspr_pro_for_playready,
|
|
|
|
true,
|
|
|
|
"If enabled, PlayReady Object <mspr:pro> will be inserted into "
|
|
|
|
"<ContentProtection ...> element alongside with <cenc:pssh> "
|
|
|
|
"when using PlayReady protection system.");
|
|
|
|
ABSL_FLAG(bool,
|
|
|
|
dash_force_segment_list,
|
|
|
|
false,
|
|
|
|
"Uses SegmentList instead of SegmentBase. Use this if the "
|
|
|
|
"content is huge and the total number of (sub)segment references "
|
|
|
|
"is greater than what the sidx atom allows (65535). Currently "
|
|
|
|
"this flag is only supported in DASH ondemand profile.");
|
|
|
|
ABSL_FLAG(
|
|
|
|
bool,
|
2021-08-25 15:38:05 +00:00
|
|
|
low_latency_dash_mode,
|
|
|
|
false,
|
|
|
|
"If enabled, LL-DASH streaming will be used, "
|
|
|
|
"reducing overall latency by decoupling latency from segment duration. "
|
|
|
|
"Please see "
|
2022-03-07 19:56:34 +00:00
|
|
|
// clang-format off
|
|
|
|
"https://shaka-project.github.io/shaka-packager/html/tutorials/low_latency.html "
|
|
|
|
// clang-format on
|
2021-08-25 15:38:05 +00:00
|
|
|
"for more information.");
|