Unable to play transcoded (using FFmpeg, fmp4+h265) video on iOS

We have got to know, in order to serve hevc videos on iOS, we need to use HLS+fMP4 approach from the following link

https://developer.apple.com/forums/thread/132291

When serving a HLS+fMP4+HEVC video, its unable to play on iOS, and plays smoothly on Android. Tool used for transcoding, FFMPEG. Following commands were used.

Pass-1:

ffmpeg -y -i input.mp4 -pix_fmt yuv420p -vcodec libx265 -profile:v main -preset fast -vf scale=w="min(trunc(iw/2)*2\,640)":h=-2 -b:v 1500k -maxrate 1500k -bufsize 1500k -acodec aac -ab 128k -subq 6 -async 2 -tag:v hvc1 -movflags faststart -map 0 -vsync 2 -max_muxing_queue_size 9999 -hls_segment_type fmp4 -force_key_frames expr:gte(t,n_forced*3) -hls_flags single_file -hls_list_size 0 -hls_time 6 -hls_playlist_type vod -hls_segment_filename output.mp4 -x265-params min-keyint=90:keyint=90:pass=1:stats=logfile -f null /dev/null

Pass-2:

ffmpeg -y -i input.mp4 -pix_fmt yuv420p -vcodec libx265 -profile:v main -preset fast -filter_complex [0:v]scale=w="min(trunc(iw/2)*2\,640)":h=-2,unsharp=5:5:0.75,eq=saturation=1.06:contrast=1.05,colortemperature=6900 -b:v 1500k -maxrate 1500k -bufsize 1500k -acodec aac -ab 128k -subq 6 -async 2 -tag:v hvc1 -movflags faststart -map 0 -vsync 2 -max_muxing_queue_size 9999 -hls_segment_type fmp4 -force_key_frames expr:gte(t,n_forced*3) -hls_flags single_file -hls_list_size 0 -hls_time 6 -hls_playlist_type vod -hls_segment_filename output.mp4 -x265-params min-keyint=90:keyint=90:pass=2:stats=logfile output.m3u8

What is the mistake in the followed approach?

You can remove "single_file" try again.

Did you solve this problem?

Unable to play transcoded (using FFmpeg, fmp4+h265) video on iOS
 
 
Q