Playback issue with ffmpeg generated HLS stream (using fmp4 segments) on Chrome/Edge




Hi All,

We’re trying to play an ffmpeg generated HLS stream on the latest Bitmovin player. All the settings used in ffmpeg are pretty standard: single bitrate, single media manifest file, fmp4 segments (.m4s files). The stream plays fine on Safari, but doesn’t play on Chrome/Edge. If we use MPEG-TS segments (.ts files) instead, then the problem goes away.

Has someone done something similar successfully on Chrome/Edge? It’ll be really helpful to learn others’ experience in this (either successful or not). Thanks.

p.s. codec used (avc1.640032 / mp4a.40.2 for video / audio)

Hi @spaek ,

I’ve reproduced the issue you described with a standard/default ffmpeg command and it seems the problem might come from not generating a separate video and audio chunklist like our demo stream. When generating those via below ffmpeg command, I get successful playback on our player: Bitmovin's Test Player » Try our HTML 5 Video Player Demo

ffmpeg -y \
  -i 1min.mp4 \
  -force_key_frames "expr:gte(t,n_forced*2)" \
  -c:v copy \
  -c:a copy \
  -hls_time 6 \
  -hls_flags independent_segments \
  -hls_playlist_type vod \
  -hls_segment_type fmp4 \
  -hls_segment_filename "fileSequence%d_%v.m4s" \
  -var_stream_map "v:0 a:0" prog_index_%v.m3u8

My master.m3u8 file looks like this:


#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio",NAME="English stereo",LANGUAGE="en",AUTOSELECT=YES,URI="prog_index_1.m3u8"


Could you give the above a try and share your results? Regards

Hi Alberto,

Thanks very much for looking into this and reproducing the issue. We’ll test again based on your suggestion and let you know how it goes.

Best regards.

This topic was automatically closed 60 minutes after the last reply. New replies are no longer allowed.