[FFmpeg-devel] [PATCH] avformat/dashenc: only write video streams into HLS master playlist

Jian Yang yangjian0911 at gmail.com
Fri Sep 14 15:50:07 EEST 2018


Agree! Audio-only stream should be supported.

Just tested adding the missed audio group for audio stream. Tool
mediastreamvalidator doesn't report error message any more, and the
playlist can be played in Safari.

Could you please help to add audio group for audio streams? I can update
the patch if you prefer me to do it.

Thank you very much!


Jeyapal, Karthick <kjeyapal at akamai.com> 于2018年9月14日周五 下午4:47写道:

>
> On 9/14/18 12:38 PM, Jian Yang wrote:
> > Tool mediastreamvalidator reports error "Variant media_[N].m3u8 is
> > missing audio group" for audio streams in HLS master playlist. As audio
> > streams are already listed in audio group, skip them as variant media
> > streams in master playlist.
> Skipping the audio stream altogether is not a good idea.
> Because somebody might want to play an audio-only stream.
> One possible fix could be to add the missing audio group, for audio
> streams as well.
> Or maybe the mediastreamvalidator tool is wrong as the spec doesn't
> mandate the presence of AUDIO group in all variants.
> > ---
> >  libavformat/dashenc.c | 4 +++-
> >  1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c
> > index 87e31e25fc..45763301db 100644
> > --- a/libavformat/dashenc.c
> > +++ b/libavformat/dashenc.c
> > @@ -911,8 +911,10 @@ static int write_manifest(AVFormatContext *s, int
> final)
> >              OutputStream *os = &c->streams[i];
> >              char *agroup = NULL;
> >              int stream_bitrate = st->codecpar->bit_rate +
> os->muxer_overhead;
> > +            if (st->codecpar->codec_type != AVMEDIA_TYPE_VIDEO)
> > +                continue;
> >              av_strlcpy(codec_str, os->codec_str, sizeof(codec_str));
> > -            if ((st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) &&
> max_audio_bitrate) {
> > +            if (max_audio_bitrate) {
> >                  agroup = (char *)audio_group;
> >                  stream_bitrate += max_audio_bitrate;
> >                  av_strlcat(codec_str, ",", sizeof(codec_str));
>
>

-- 
Best Regards
杨剑 (Jian Yang)


More information about the ffmpeg-devel mailing list