---
libavformat/dashenc.c | 68 +++++++++++++++++++++----------------------
1 file changed, 34 insertions(+), 34 deletions(-)
diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c
index 2f5394c308..4a92863f22 100644
--- a/libavformat/dashenc.c
+++ b/libavformat/dashenc.c
@@ -2362,50 +2362,50 @@ static int dash_check_bitstream(AVFormatContext *s,
AVStream *st,
#define E AV_OPT_FLAG_ENCODING_PARAM
static const AVOption options[] = {
{ "adaptation_sets", "Adaptation sets. Syntax: id=0,streams=0,1,2
id=1,streams=3,4 and so on", OFFSET(adaptation_sets), AV_OPT_TYPE_STRING, { 0
}, 0, 0, AV_OPT_FLAG_ENCODING_PARAM },
- { "window_size", "number of segments kept in the manifest",
OFFSET(window_size), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, E },
+ { "dash_segment_type", "set dash segment files type",
OFFSET(segment_type_option), AV_OPT_TYPE_INT, {.i64 = SEGMENT_TYPE_AUTO }, 0,
SEGMENT_TYPE_NB - 1, E, "segment_type"},
+ { "auto", "select segment file format based on codec", 0,
AV_OPT_TYPE_CONST, {.i64 = SEGMENT_TYPE_AUTO }, 0, UINT_MAX, E,
"segment_type"},
+ { "mp4", "make segment file in ISOBMFF format", 0, AV_OPT_TYPE_CONST,
{.i64 = SEGMENT_TYPE_MP4 }, 0, UINT_MAX, E, "segment_type"},
+ { "webm", "make segment file in WebM format", 0, AV_OPT_TYPE_CONST,
{.i64 = SEGMENT_TYPE_WEBM }, 0, UINT_MAX, E, "segment_type"},
{ "extra_window_size", "number of segments kept outside of the manifest
before removing from disk", OFFSET(extra_window_size), AV_OPT_TYPE_INT, { .i64
= 5 }, 0, INT_MAX, E },
- { "seg_duration", "segment duration (in seconds, fractional value can be
set)", OFFSET(seg_duration), AV_OPT_TYPE_DURATION, { .i64 = 5000000 }, 0,
INT_MAX, E },
+ { "format_options","set list of options for the container format
(mp4/webm) used for dash", OFFSET(format_options), AV_OPT_TYPE_DICT, {.str =
NULL}, 0, 0, E},
{ "frag_duration", "fragment duration (in seconds, fractional value can be
set)", OFFSET(frag_duration), AV_OPT_TYPE_DURATION, { .i64 = 0 }, 0, INT_MAX, E
},
{ "frag_type", "set type of interval for fragments", OFFSET(frag_type),
AV_OPT_TYPE_INT, {.i64 = FRAG_TYPE_NONE }, 0, FRAG_TYPE_NB - 1, E, "frag_type"},
- { "none", "one fragment per segment", 0, AV_OPT_TYPE_CONST, {.i64 =
FRAG_TYPE_NONE }, 0, UINT_MAX, E, "frag_type"},
- { "every_frame", "fragment at every frame", 0, AV_OPT_TYPE_CONST, {.i64 =
FRAG_TYPE_EVERY_FRAME }, 0, UINT_MAX, E, "frag_type"},
- { "duration", "fragment at specific time intervals", 0, AV_OPT_TYPE_CONST,
{.i64 = FRAG_TYPE_DURATION }, 0, UINT_MAX, E, "frag_type"},
- { "pframes", "fragment at keyframes and following P-Frame reordering
(Video only, experimental)", 0, AV_OPT_TYPE_CONST, {.i64 = FRAG_TYPE_PFRAMES },
0, UINT_MAX, E, "frag_type"},
- { "remove_at_exit", "remove all segments when finished",
OFFSET(remove_at_exit), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, E },
- { "use_template", "Use SegmentTemplate instead of SegmentList",
OFFSET(use_template), AV_OPT_TYPE_BOOL, { .i64 = 1 }, 0, 1, E },
- { "use_timeline", "Use SegmentTimeline in SegmentTemplate",
OFFSET(use_timeline), AV_OPT_TYPE_BOOL, { .i64 = 1 }, 0, 1, E },
- { "single_file", "Store all segments in one file, accessed using byte
ranges", OFFSET(single_file), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, E },
- { "single_file_name", "DASH-templated name to be used for baseURL. Implies
storing all segments in one file, accessed using byte ranges",
OFFSET(single_file_name), AV_OPT_TYPE_STRING, { .str = NULL }, 0, 0, E },
- { "init_seg_name", "DASH-templated name to used for the initialization
segment", OFFSET(init_seg_name), AV_OPT_TYPE_STRING, {.str =
"init-stream$RepresentationID$.$ext$"}, 0, 0, E },
- { "media_seg_name", "DASH-templated name to used for the media segments",
OFFSET(media_seg_name), AV_OPT_TYPE_STRING, {.str =
"chunk-stream$RepresentationID$-$Number%05d$.$ext$"}, 0, 0, E },
- { "utc_timing_url", "URL of the page that will return the UTC timestamp in
ISO format", OFFSET(utc_timing_url), AV_OPT_TYPE_STRING, { 0 }, 0, 0, E },
- { "method", "set the HTTP method", OFFSET(method), AV_OPT_TYPE_STRING,
{.str = NULL}, 0, 0, E },
- { "http_user_agent", "override User-Agent field in HTTP header",
OFFSET(user_agent), AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, E},
- { "http_persistent", "Use persistent HTTP connections",
OFFSET(http_persistent), AV_OPT_TYPE_BOOL, {.i64 = 0 }, 0, 1, E },
- { "hls_playlist", "Generate HLS playlist files(master.m3u8,
media_%d.m3u8)", OFFSET(hls_playlist), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, E
},
- { "hls_master_name", "HLS master playlist name", OFFSET(hls_master_name),
AV_OPT_TYPE_STRING, {.str = "master.m3u8"}, 0, 0, E },
- { "streaming", "Enable/Disable streaming mode of output. Each frame will
be moof fragment", OFFSET(streaming), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, E },
- { "timeout", "set timeout for socket I/O operations", OFFSET(timeout),
AV_OPT_TYPE_DURATION, { .i64 = -1 }, -1, INT_MAX, .flags = E },
- { "index_correction", "Enable/Disable segment index correction logic",
OFFSET(index_correction), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, E },
- { "format_options","set list of options for the container format
(mp4/webm) used for dash", OFFSET(format_options), AV_OPT_TYPE_DICT, {.str =
NULL}, 0, 0, E},
+ { "none", "one fragment per segment", 0, AV_OPT_TYPE_CONST, {.i64 =
FRAG_TYPE_NONE }, 0, UINT_MAX, E, "frag_type"},
+ { "every_frame", "fragment at every frame", 0, AV_OPT_TYPE_CONST,
{.i64 = FRAG_TYPE_EVERY_FRAME }, 0, UINT_MAX, E, "frag_type"},
+ { "duration", "fragment at specific time intervals", 0,
AV_OPT_TYPE_CONST, {.i64 = FRAG_TYPE_DURATION }, 0, UINT_MAX, E, "frag_type"},
+ { "pframes", "fragment at keyframes and following P-Frame reordering
(Video only, experimental)", 0, AV_OPT_TYPE_CONST, {.i64 = FRAG_TYPE_PFRAMES },
0, UINT_MAX, E, "frag_type"},
{ "global_sidx", "Write global SIDX atom. Applicable only for single file,
mp4 output, non-streaming mode", OFFSET(global_sidx), AV_OPT_TYPE_BOOL, { .i64
= 0 }, 0, 1, E },
- { "dash_segment_type", "set dash segment files type",
OFFSET(segment_type_option), AV_OPT_TYPE_INT, {.i64 = SEGMENT_TYPE_AUTO }, 0,
SEGMENT_TYPE_NB - 1, E, "segment_type"},
- { "auto", "select segment file format based on codec", 0,
AV_OPT_TYPE_CONST, {.i64 = SEGMENT_TYPE_AUTO }, 0, UINT_MAX, E,
"segment_type"},
- { "mp4", "make segment file in ISOBMFF format", 0, AV_OPT_TYPE_CONST,
{.i64 = SEGMENT_TYPE_MP4 }, 0, UINT_MAX, E, "segment_type"},
- { "webm", "make segment file in WebM format", 0, AV_OPT_TYPE_CONST, {.i64
= SEGMENT_TYPE_WEBM }, 0, UINT_MAX, E, "segment_type"},
+ { "hls_master_name", "HLS master playlist name", OFFSET(hls_master_name),
AV_OPT_TYPE_STRING, {.str = "master.m3u8"}, 0, 0, E },
+ { "hls_playlist", "Generate HLS playlist files(master.m3u8,
media_%d.m3u8)", OFFSET(hls_playlist), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, E
},
+ { "http_opts", "HTTP protocol options", OFFSET(http_opts),
AV_OPT_TYPE_DICT, { .str = NULL }, 0, 0, E },
+ { "http_persistent", "Use persistent HTTP connections",
OFFSET(http_persistent), AV_OPT_TYPE_BOOL, {.i64 = 0 }, 0, 1, E },
+ { "http_user_agent", "override User-Agent field in HTTP header",
OFFSET(user_agent), AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, E},
{ "ignore_io_errors", "Ignore IO errors during open and write. Useful for
long-duration runs with network output", OFFSET(ignore_io_errors),
AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, E },
- { "lhls", "Enable Low-latency HLS(Experimental). Adds #EXT-X-PREFETCH tag
with current segment's URI", OFFSET(lhls), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0,
1, E },
+ { "index_correction", "Enable/Disable segment index correction logic",
OFFSET(index_correction), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, E },
+ { "init_seg_name", "DASH-templated name to used for the initialization
segment", OFFSET(init_seg_name), AV_OPT_TYPE_STRING, {.str =
"init-stream$RepresentationID$.$ext$"}, 0, 0, E },
{ "ldash", "Enable Low-latency dash. Constrains the value of a few
elements", OFFSET(ldash), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, E },
+ { "lhls", "Enable Low-latency HLS(Experimental). Adds #EXT-X-PREFETCH tag
with current segment's URI", OFFSET(lhls), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0,
1, E },
{ "master_m3u8_publish_rate", "Publish master playlist every after this
many segment intervals", OFFSET(master_publish_rate), AV_OPT_TYPE_INT, {.i64 =
0}, 0, UINT_MAX, E},
- { "write_prft", "Write producer reference time element",
OFFSET(write_prft), AV_OPT_TYPE_BOOL, {.i64 = -1}, -1, 1, E},
+ { "max_playback_rate", "Set desired maximum playback rate",
OFFSET(max_playback_rate), AV_OPT_TYPE_RATIONAL, { .dbl = 1.0 }, 0.5, 1.5, E },
+ { "media_seg_name", "DASH-templated name to used for the media segments",
OFFSET(media_seg_name), AV_OPT_TYPE_STRING, {.str =
"chunk-stream$RepresentationID$-$Number%05d$.$ext$"}, 0, 0, E },
+ { "method", "set the HTTP method", OFFSET(method), AV_OPT_TYPE_STRING,
{.str = NULL}, 0, 0, E },
+ { "min_playback_rate", "Set desired minimum playback rate",
OFFSET(min_playback_rate), AV_OPT_TYPE_RATIONAL, { .dbl = 1.0 }, 0.5, 1.5, E },
{ "mpd_profile", "Set profiles. Elements and values used in the manifest
may be constrained by them", OFFSET(profile), AV_OPT_TYPE_FLAGS, {.i64 =
MPD_PROFILE_DASH }, 0, UINT_MAX, E, "mpd_profile"},
- { "dash", "MPEG-DASH ISO Base media file format live profile", 0,
AV_OPT_TYPE_CONST, {.i64 = MPD_PROFILE_DASH }, 0, UINT_MAX, E, "mpd_profile"},
- { "dvb_dash", "DVB-DASH profile", 0, AV_OPT_TYPE_CONST, {.i64 =
MPD_PROFILE_DVB }, 0, UINT_MAX, E, "mpd_profile"},
- { "http_opts", "HTTP protocol options", OFFSET(http_opts),
AV_OPT_TYPE_DICT, { .str = NULL }, 0, 0, E },
+ { "dash", "MPEG-DASH ISO Base media file format live profile", 0,
AV_OPT_TYPE_CONST, {.i64 = MPD_PROFILE_DASH }, 0, UINT_MAX, E, "mpd_profile"},
+ { "dvb_dash", "DVB-DASH profile", 0, AV_OPT_TYPE_CONST, {.i64 =
MPD_PROFILE_DVB }, 0, UINT_MAX, E, "mpd_profile"},
+ { "remove_at_exit", "remove all segments when finished",
OFFSET(remove_at_exit), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, E },
+ { "seg_duration", "segment duration (in seconds, fractional value can be
set)", OFFSET(seg_duration), AV_OPT_TYPE_DURATION, { .i64 = 5000000 }, 0,
INT_MAX, E },
+ { "single_file", "Store all segments in one file, accessed using byte
ranges", OFFSET(single_file), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, E },
+ { "single_file_name", "DASH-templated name to be used for baseURL. Implies
storing all segments in one file, accessed using byte ranges",
OFFSET(single_file_name), AV_OPT_TYPE_STRING, { .str = NULL }, 0, 0, E },
+ { "streaming", "Enable/Disable streaming mode of output. Each frame will
be moof fragment", OFFSET(streaming), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, E },
{ "target_latency", "Set desired target latency for Low-latency dash",
OFFSET(target_latency), AV_OPT_TYPE_DURATION, { .i64 = 0 }, 0, INT_MAX, E },
- { "min_playback_rate", "Set desired minimum playback rate",
OFFSET(min_playback_rate), AV_OPT_TYPE_RATIONAL, { .dbl = 1.0 }, 0.5, 1.5, E },
- { "max_playback_rate", "Set desired maximum playback rate",
OFFSET(max_playback_rate), AV_OPT_TYPE_RATIONAL, { .dbl = 1.0 }, 0.5, 1.5, E },
+ { "timeout", "set timeout for socket I/O operations", OFFSET(timeout),
AV_OPT_TYPE_DURATION, { .i64 = -1 }, -1, INT_MAX, .flags = E },
{ "update_period", "Set the mpd update interval", OFFSET(update_period),
AV_OPT_TYPE_INT64, {.i64 = 0}, 0, INT64_MAX, E},
+ { "use_template", "Use SegmentTemplate instead of SegmentList",
OFFSET(use_template), AV_OPT_TYPE_BOOL, { .i64 = 1 }, 0, 1, E },
+ { "use_timeline", "Use SegmentTimeline in SegmentTemplate",
OFFSET(use_timeline), AV_OPT_TYPE_BOOL, { .i64 = 1 }, 0, 1, E },
+ { "utc_timing_url", "URL of the page that will return the UTC timestamp in
ISO format", OFFSET(utc_timing_url), AV_OPT_TYPE_STRING, { 0 }, 0, 0, E },
+ { "window_size", "number of segments kept in the manifest",
OFFSET(window_size), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, E },
+ { "write_prft", "Write producer reference time element",
OFFSET(write_prft), AV_OPT_TYPE_BOOL, {.i64 = -1}, -1, 1, E},
{ NULL },
};
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".