2014-05-22 19:39:30 +00:00
|
|
|
// Copyright 2014 Google Inc. All rights reserved.
|
|
|
|
//
|
|
|
|
// 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
|
|
|
|
2019-11-15 19:53:47 +00:00
|
|
|
DEFINE_bool(generate_static_live_mpd,
|
2017-01-07 02:40:37 +00:00
|
|
|
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.");
|
2014-05-22 19:39:30 +00:00
|
|
|
DEFINE_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 "
|
2020-03-11 17:25:33 +00:00
|
|
|
"'.media_info'.");
|
|
|
|
DEFINE_string(mpd_output, "", "MPD output file name.");
|
2014-05-22 19:39:30 +00:00
|
|
|
DEFINE_string(base_urls,
|
|
|
|
"",
|
|
|
|
"Comma separated BaseURLs for the MPD. The values will be added "
|
|
|
|
"as <BaseURL> element(s) immediately under the <MPD> element.");
|
2014-06-26 01:33:09 +00:00
|
|
|
DEFINE_double(min_buffer_time,
|
|
|
|
2.0,
|
|
|
|
"Specifies, in seconds, a common duration used in the definition "
|
|
|
|
"of the MPD Representation data rate.");
|
|
|
|
DEFINE_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 "
|
2017-05-22 20:31:41 +00:00
|
|
|
"dynamic MPD only.");
|
2014-06-26 01:33:09 +00:00
|
|
|
DEFINE_double(suggested_presentation_delay,
|
|
|
|
0.0,
|
|
|
|
"Specifies a delay, in seconds, to be added to the media "
|
2017-05-22 20:31:41 +00:00
|
|
|
"presentation time. This value is used for dynamic MPD only.");
|
2018-03-17 01:37:53 +00:00
|
|
|
DEFINE_string(utc_timings,
|
|
|
|
"",
|
|
|
|
"Comma separated UTCTiming schemeIdUri and value pairs for the "
|
|
|
|
"MPD. This value is used for dynamic MPD only.");
|
2015-08-04 22:26:15 +00:00
|
|
|
DEFINE_bool(generate_dash_if_iop_compliant_mpd,
|
2017-02-09 00:47:59 +00:00
|
|
|
true,
|
2017-05-22 20:31:41 +00:00
|
|
|
"Try to generate DASH-IF IOP compliant MPD. This is best effort "
|
2017-02-09 00:47:59 +00:00
|
|
|
"and does not guarantee compliance.");
|
2017-09-25 19:18:50 +00:00
|
|
|
DEFINE_bool(
|
|
|
|
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.");
|
2020-03-18 02:33:44 +00:00
|
|
|
DEFINE_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.");
|
2020-04-17 17:20:03 +00:00
|
|
|
DEFINE_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.");
|
2021-05-25 19:08:58 +00:00
|
|
|
DEFINE_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.");
|
2021-08-25 15:38:05 +00:00
|
|
|
DEFINE_bool(
|
|
|
|
low_latency_dash_mode,
|
|
|
|
false,
|
|
|
|
"If enabled, LL-DASH streaming will be used, "
|
|
|
|
"reducing overall latency by decoupling latency from segment duration. "
|
|
|
|
"Please see "
|
|
|
|
"https://google.github.io/shaka-packager/html/tutorials/low_latency.html "
|
|
|
|
"for more information.");
|