Shaka Packager SDK
Loading...
Searching...
No Matches
mpd_flags.cc
1// Copyright 2014 Google LLC. All rights reserved.
2//
3// Use of this source code is governed by a BSD-style
4// license that can be found in the LICENSE file or at
5// https://developers.google.com/open-source/licenses/bsd
6//
7// Defines Mpd flags.
8
9#include <packager/app/mpd_flags.h>
10
11ABSL_FLAG(bool,
12 generate_static_live_mpd,
13 false,
14 "Set to true to generate static mpd. If segment_template is "
15 "specified in stream descriptors, shaka-packager generates dynamic "
16 "mpd by default; if this flag is enabled, shaka-packager generates "
17 "static mpd instead. Note that if segment_template is not "
18 "specified, shaka-packager always generates static mpd regardless "
19 "of the value of this flag.");
20ABSL_FLAG(bool,
21 output_media_info,
22 false,
23 "Create a human readable format of MediaInfo. The output file name "
24 "will be the name specified by output flag, suffixed with "
25 "'.media_info'.");
26ABSL_FLAG(std::string, mpd_output, "", "MPD output file name.");
27ABSL_FLAG(std::string,
28 base_urls,
29 "",
30 "Comma separated BaseURLs for the MPD. The values will be added "
31 "as <BaseURL> element(s) immediately under the <MPD> element.");
32ABSL_FLAG(double,
33 min_buffer_time,
34 2.0,
35 "Specifies, in seconds, a common duration used in the definition "
36 "of the MPD Representation data rate.");
37ABSL_FLAG(double,
38 minimum_update_period,
39 5.0,
40 "Indicates to the player how often to refresh the media "
41 "presentation description in seconds. This value is used for "
42 "dynamic MPD only.");
43ABSL_FLAG(double,
44 suggested_presentation_delay,
45 0.0,
46 "Specifies a delay, in seconds, to be added to the media "
47 "presentation time. This value is used for dynamic MPD only.");
48ABSL_FLAG(std::string,
49 utc_timings,
50 "",
51 "Comma separated UTCTiming schemeIdUri and value pairs for the "
52 "MPD. This value is used for dynamic MPD only.");
53ABSL_FLAG(bool,
54 generate_dash_if_iop_compliant_mpd,
55 true,
56 "Try to generate DASH-IF IOP compliant MPD. This is best effort "
57 "and does not guarantee compliance.");
58ABSL_FLAG(
59 bool,
60 allow_approximate_segment_timeline,
61 false,
62 "For live profile only. "
63 "If enabled, segments with close duration (i.e. with difference less than "
64 "one sample) are considered to have the same duration. This enables MPD "
65 "generator to generate less SegmentTimeline entries. If all segments are "
66 "of the same duration except the last one, we will do further optimization "
67 "to use SegmentTemplate@duration instead and omit SegmentTimeline "
68 "completely."
69 "Ignored if $Time$ is used in segment template, since $Time$ requires "
70 "accurate Segment Timeline.");
71ABSL_FLAG(bool,
72 allow_codec_switching,
73 false,
74 "If enabled, allow adaptive switching between different codecs, "
75 "if they have the same language, media type (audio, video etc) and "
76 "container type.");
77ABSL_FLAG(bool,
78 include_mspr_pro_for_playready,
79 true,
80 "If enabled, PlayReady Object <mspr:pro> will be inserted into "
81 "<ContentProtection ...> element alongside with <cenc:pssh> "
82 "when using PlayReady protection system.");
83ABSL_FLAG(bool,
84 dash_force_segment_list,
85 false,
86 "Uses SegmentList instead of SegmentBase. Use this if the "
87 "content is huge and the total number of (sub)segment references "
88 "is greater than what the sidx atom allows (65535). Currently "
89 "this flag is only supported in DASH ondemand profile.");
90ABSL_FLAG(
91 bool,
92 low_latency_dash_mode,
93 false,
94 "If enabled, LL-DASH streaming will be used, "
95 "reducing overall latency by decoupling latency from segment duration. "
96 "Please see "
97 // clang-format off
98 "https://shaka-project.github.io/shaka-packager/html/tutorials/low_latency.html "
99 // clang-format on
100 "for more information.");