[FFmpeg-devel] [PATCH] doc/muxers: add hls_segment_size option document

Lou Logan lou at lrcd.com
Thu Sep 15 02:17:23 EEST 2016

On Wed, 14 Sep 2016 07:40:08 +0800, Steven Liu wrote:

> From 97ff17a17db5ecac295327281738f044239cf322 Mon Sep 17 00:00:00 2001
> From: Steven Liu <lingjiujianke at gmail.com>
> Date: Wed, 14 Sep 2016 07:14:18 +0800
> Subject: [PATCH] doc/muxers: add hls_segment_size option document
> and make an sample introduce how to use hls_segment_size.
> Signed-off-by: LiuQi <liuqi at gosun.com>
> ---
>  doc/muxers.texi | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> diff --git a/doc/muxers.texi b/doc/muxers.texi
> index ccf8ea1..9b1f717 100644
> --- a/doc/muxers.texi
> +++ b/doc/muxers.texi
> @@ -410,6 +410,17 @@ ffmpeg in.nut -hls_segment_filename 'file%03d.ts' out.m3u8
>  This example will produce the playlist, @file{out.m3u8}, and segment files:
>  @file{file000.ts}, @file{file001.ts}, @file{file002.ts}, etc.
> + at item hls_segment_size @var{max_seg_size}

Typically, the @var following the actual option name describes the data
type accepted by the option. @var{integer} makes more sense to me while
@var{max_seg_size} is more ambiguous.

> +Set the segments maximum size. Useful to reduce segment files numbers, packaging
> +some segment files in one file, and keep playlist segments as normal,
> +Support hls m3u8 @code{#EXT-X-BYTERANGE} in @code{#EXT-X-VERSION:4},
> + at var{max_seg_size} is used in bytes format:

I attempted to make your description easier to understand:

  Set maximum size per segment media file (in bytes). Useful to reduce
  the number of individual segment media files produced by combining
  segments into one or more larger files. The resulting playlist will
  support @code{#EXT-X-VERSION:4} and will specify segments using byte
  ranges to refer to the proper location in the associated media file.
  Note that this does not affect the number of segments in the
  playlist, but the number of resulting media files that the segments
  refer to.

Please correct me if any of this is incorrect.

> + at example
> +ffmpeg in.nut -hls_segment_size 2000000 out.m3u8
> + at end example
> +every segment files size is 2000000 bytes, and one segment file have some segments info
> +in @file{out.m3u8}.

As for the example description it can be simplified:

  In this example each segment media file size will be roughly
  2000000 bytes.

Note that this patch should not be applied unless/until "[PATCH]
avformat/hlsenc: refine EXT-X-BYTERANGE support for segments" is

More information about the ffmpeg-devel mailing list