Can't play an HEVC stream on any Apple device

I am trying to create an HEVC HLS stream using Wowza which is push to Akamai.

I have successfully created an HLS stream which has HEVC segments for video and this plays fine in VLC player.

But the stream does not play at all on any of our Apple devices, Safari, IOS 13, etc

Running ffprobe on one of the segments, we have

Stream #0:1[0x100]: Video: hevc (Main) ([36][0][0][0] / 0x0024)

But on another stream that is playing fine we have

Stream #0:1[0x100]: Video: hevc (Main) (HVC1 / 0x0024)

The master playlist do send HVC1

CODECS="hvc1.1.2.L90.B1.0.1.1,mp4a.40.2"

Looking around, we found those details but we are not sure if this is related or not?

1.10. You SHOULD use video formats in which the parameter sets are stored in the sample descriptions, rather than the samples. (i.e., Use 'avc1', 'hvc1', or 'dvh1' rather than 'avc3', 'hev1', or 'dvhe'.)

From https://developer.apple.com/documentation/http_live_streaming/hls_authoring_specification_for_apple_devices

https://discussions.apple.com/thread/8091782
https://superuser.com/questions/1338231/generate-hls-stream-using-h265-codec

Is there a way to force the hvc1 subcodec in Wowza? Are we missing something? Because otherwise this mean we can’t really use HEVC with Wowza Streaming Engine.

The engineers are wondering if you’re using ts segments for output @Laurent Bertrand because Wowza can’t support that with H.265, only CMAF and DASH.

You will need to use the Wowza CMAF packetizer to create segments in an fmp4 container for playback on Apple devices.

https://www.wowza.com/docs/how-to-stream-using-hevc-h-265-transcoding#about-hevc-h-265

Hi Rose.

Yes I am using ts segments - I basically used our usual transcoder template for HLS with H264 and modified by hand the template to use H.265.

I will try the fMP4 option and let you know.

Thanks.

@Rose Power-Wowza Community Manager I followed the step to enable the CMAF packetiser, only keeping this one but still using cupertino streaming and dash streaming.

DASH MSL4 is working, HLS MSL4 is in error in Wowza.

I then created an MSL4 of type CMAF and but the stream target is still in error.

Wowza logs indicates pushing to

http://p-ep<streamId>.i.akamaientrypoint.net:80/<streamId>/<eventName>/<streamName>

But MSL4 stream configuration indicates

http://p-ep<streamId>.i.akamaientrypoint.net:80/cmaf/<streamId>/<eventName>/<streamName>

@Rose Power-Wowza Community Manager Is it possible to sent an

HLS/CMAF/HEVC stream to an MSL4 Akamai entry point either HLS or CMAF type?

Am I missing something in configuration?

Thanks.

I apologize to you @Laurent Bertrand, after checking with a few engineers, it was confirmed that we do not support stream targets with CMAF at this time. You are not doing anything wrong.

You can see the CMAF limitations here and stream targets is listed as one:

https://www.wowza.com/docs/about-cmaf-workflows-in-wowza-streaming-engine#cmaf-limitations-in-wowza-streaming-engine