I use such ffmpeg command to translate mp4 to hls:

ffmpeg -y -i input -hls_time 3 -f hls -b:a 64k -hls_flags single_file -c:a libfdk_aac \
   -profile: aac_he_v2 -hls_list_size 0 -hls_allow_cache 1 ouput.m3u8

With the m3u8 and ts file put in cloudfront I can't drag to anywhere to play (In safari). While the aws transcoder's m3u8 file can drag anywhere.

I have seen Why can't my video play from where I drag the playback bar?. I check the two file. The keyframe interval is almost the same.

I also compare the two m3u8 file. They look similar.


Try to add -hls_playlist_type event and it doesn't work either.

Using mediainfo output.ts I found my ts file missing the menu section

ID                                       : 4096 (0x1000)
Menu ID                                  : 1 (0x1)
Duration                                 : 13 min 55 s
List                                     : 256 (0x100) (AAC)
Service name                             : 14 - THE CHRISTMAS TREE
Service provider                         : FFmpeg
Service type                             : digital television

Else my ts file have two channels (which I think will not effect my problem) So the missing menu section make difference?

When remove -hls_flags single_file the splited ts files can work.

update again

ffmepg 2.8.15 can work. The latest version ffmpeg don't give

Codec ID                                 : 15

In Audio section. And ffmepg 2.8.15 can give menu section too. At least we know it is a bug introduced in latest ffmpeg. I will keep this question living until someone give a reasonable explain. (May be the Codec ID is not important )

update again and again

3.2.9 work fine. 3.3.2 will failed. So it is a bug in 3.3 series.

  • Is there any video? – Gyan Jul 2 at 5:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.