[FFmpeg-devel] [PATCH] avformat/hlsenc: creation of hls variant streams with master playlist in a single hlsenc instance

Liu Steven lq at chinaffmpeg.org
Sun Oct 22 10:58:01 EEST 2017

> 在 2017年10月21日,下午4:13,Dixit, Vishwanath <vdixit at akamai.com> 写道:
> Hi,
> Please find the attached patches which add support to create multiple HLS variant streams and master playlist.
> Key advantages:
> 1.  A single HLS encoder instance can handle multiple variant streams now. Otherwise, a separate HLS encoder instance was needed for each variant stream. So, now a single set of HLS parameters can be provided in the command line for creating multiple variant streams.
> 2.  Variant streams can be created as muxed AV media segments or separate AV media segments. Having separate AV media segments helps to re-use a single audio for multiple video only variant streams.
> 3.  Creating variant streams in a single hlsenc instance simplifies the master playlist creation, as one hlsenc plugin handle will have details of all the variant streams.
> Logic:
> Same logic of creating variant streams in DASH encoder plugin has been implemented here. It appears that there are lot of changes in the first patch. However, most of the changes are due to movement of HLS context structure parameters to new variant stream structure. Because of this, in many places the variable names ‘s’ and ‘hls’ have been replace by ‘vs’. Just an additional loop in write_header and write_trailer function handles creation of multiple variant streams.
> Future updates:
> Currently master playlist creation patch creates a basic master playlist. I will be submitting one more patch over this which will handle mapping of different rendition streams using #EXT-X-MEDIA and audio group id tags.
> Regards,
> Vishwanath
> <0001-libavformat-hlsenc-creation-of-hls-variant-streams-i.patch><0002-libavformat-hlsenc-creation-of-hls-master-playlist-f.patch>_______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Two patches should be ok, add FATE cases please :)

More information about the ffmpeg-devel mailing list