Skip to content
This repository has been archived by the owner on Aug 21, 2024. It is now read-only.

AppleTV type: A1625 not able to play H265 with Fairplay DRM stream(DRM is Verimatrix) #249

Open
tongwu460 opened this issue Jun 25, 2024 · 8 comments

Comments

@tongwu460
Copy link

tongwu460 commented Jun 25, 2024

Basic Information
Please provide a descriptive title for your feedback:
AppleTV type: A1625 not able to play H265 with Fairplay DRM stream(DRM is Verimatrix)
Which area are you seeing an issue with?
TV app/Apple TV+
What type of feedback are you reporting?
Incorrect/Unexpected Behavior
Details
Is this feedback specific to Apple TV+ content?
Yes
Description
Please describe the issue and what steps we can take to reproduce it:
When A1625 play H265 DRM stream, directly show error:Error PLB320 An error has occurred while trying to play this content (Manifest or stream is corrupted or invalid)
Same stream can play in A1842 and IOS version is the same.

Manifest:
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-SESSION-KEY:METHOD=SAMPLE-AES,URI="skd://4aa4aaf0fdf8b234a456b8c663572a23",KEYFORMAT="com.apple.streamingkeydelivery",KEYFORMATVERSIONS="1"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="mp4a.40.2",LANGUAGE="ara",NAME="ara",AUTOSELECT=YES,DEFAULT=NO,CHANNELS="2",URI="audio_ara_mp4a.40_2000-PolicyMode_2_hls6_6_fp_vmxmultidrm_ott_ooredoo_saes_iso.m3u8?jitxpolicy=PolicyMode_Content_fmp4_CA_6s&pbf=1_2_4_3056475013"
#EXT-X-STREAM-INF:BANDWIDTH=4213577,CODECS="hev1.1.6.L120.B0,mp4a.40.2",RESOLUTION=1920x1080,AUDIO="mp4a.40.2"
1-PolicyMode_2_hls6_6_fp_vmxmultidrm_ott_ooredoo_saes_iso.m3u8?jitxpolicy=PolicyMode_Content_fmp4_CA_6s&pbf=1_2_4_3056475013
#EXT-X-STREAM-INF:BANDWIDTH=1646588,CODECS="hev1.1.6.L93.B0,mp4a.40.2",RESOLUTION=1280x720,AUDIO="mp4a.40.2"
2-PolicyMode_2_hls6_6_fp_vmxmultidrm_ott_ooredoo_saes_iso.m3u8?jitxpolicy=PolicyMode_Content_fmp4_CA_6s&pbf=1_2_4_3056475013
#EXT-X-STREAM-INF:BANDWIDTH=883304,CODECS="hev1.1.6.L90.B0,mp4a.40.2",RESOLUTION=854x480,AUDIO="mp4a.40.2"
3-PolicyMode_2_hls6_6_fp_vmxmultidrm_ott_ooredoo_saes_iso.m3u8?jitxpolicy=PolicyMode_Content_fmp4_CA_6s&pbf=1_2_4_3056475013
#EXT-X-STREAM-INF:BANDWIDTH=529542,CODECS="hev1.1.6.L63.B0,mp4a.40.2",RESOLUTION=640x360,AUDIO="mp4a.40.2"
4-PolicyMode_2_hls6_6_fp_vmxmultidrm_ott_ooredoo_saes_iso.m3u8?jitxpolicy=PolicyMode_Content_fmp4_CA_6s&pbf=1_2_4_3056475013

Attach the A1625 debug logs:
https://docs.google.com/document/d/1wuCr9JsL9RFm7f3INpraWsInqdXaEVMq/edit?usp=sharing&ouid=115694401825562093408&rtpof=true&sd=true

Attach the Manifest:
https://drive.google.com/file/d/1l4ofnrDUD1p1vCFTVRLnbso4Bpad2ML9/view?usp=sharing

When did the issue last occur?
It's happening right now
Please enter the time the issue started.
2024-06-24T13:12:09+03:00

@tongwu460
Copy link
Author

below is Appletv Debug logs & Manifest

Debug logs and Manifest.zip

@tongwu460
Copy link
Author

tongwu460 commented Jun 25, 2024

Error page & Device info page
A16250Error-page
Deviceinfo-picture

@tongwu460
Copy link
Author

@BucherTomas
Do you know any expert in AVPlayer or Fairplay? Thanks.

@BucherTomas
Copy link

@tongwu460 No, I don't.

However, in your case I'd say that this older Apple TV model simply does not support HEVC + FairPlay combination. The attached log contains the error "CoreMediaErrorDomain error -12885 - unsupported crypt format.". Some time ago I was trying to solve a similar issue in Safari which shares a lot of the media processing pipeline with native AVPlayer. And I did not receive any usable feedback whether there is an actual line of devices that might fail while others would work, see https://bugs.webkit.org/show_bug.cgi?id=195460. I still believe that is the case.

Also make sure that your stream follows Apple's HLS authoring specification and avoid using "hev1" codec setup to be safe. See
"1.10. You SHOULD use video formats in which the parameter sets are stored in the sample descriptions, rather than the samples. (That is, use 'avc1', 'hvc1', or 'dvh1' rather than 'avc3', 'hev1', or 'dvhe'.)" at https://developer.apple.com/documentation/http-live-streaming/hls-authoring-specification-for-apple-devices

@tongwu460
Copy link
Author

@BucherTomas Thanks, I will test and feedback.

@tongwu460
Copy link
Author

@BucherTomas I have change the codecs to hvc1, still the same story...

#EXTM3U
#EXT-X-VERSION:7
#EXT-X-SESSION-KEY:METHOD=SAMPLE-AES,URI="skd://ccafda14d3f889d1a49dcb81c77bd3ca",KEYFORMAT="com.apple.streamingkeydelivery",KEYFORMATVERSIONS="1"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="mp4a.40.2",LANGUAGE="ara",NAME="ara",AUTOSELECT=YES,DEFAULT=NO,CHANNELS="2",URI="audio_ara_mp4a.40_2-PolicyMode_2_hls7_2_fp_vmxmultidrm_ott_ooredoo_saes_cmaf_500.m3u8?jitxpolicy=PolicyMode_JITX_OutputHLS_Enc_Policy03&pbf=1_2_4_709781929"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="ac-3",LANGUAGE="DLB",NAME="DLB",AUTOSELECT=YES,DEFAULT=NO,CHANNELS="2",URI="audio_DLB_ac-3_2-PolicyMode_2_hls7_2_fp_vmxmultidrm_ott_ooredoo_saes_cmaf_500.m3u8?jitxpolicy=PolicyMode_JITX_OutputHLS_Enc_Policy03&pbf=1_2_4_709781929"
#EXT-X-STREAM-INF:BANDWIDTH=5207818,FRAME-RATE=25.000,CODECS="hvc1.1.6.L120.B0,mp4a.40.2",RESOLUTION=1920x1080,AUDIO="mp4a.40.2"
video_0-PolicyMode_2_hls7_2_fp_vmxmultidrm_ott_ooredoo_saes_cmaf_500.m3u8?jitxpolicy=PolicyMode_JITX_OutputHLS_Enc_Policy03&pbf=1_2_4_709781929
#EXT-X-STREAM-INF:BANDWIDTH=5265777,FRAME-RATE=25.000,CODECS="hvc1.1.6.L120.B0,ac-3",RESOLUTION=1920x1080,AUDIO="ac-3"
video_0-PolicyMode_2_hls7_2_fp_vmxmultidrm_ott_ooredoo_saes_cmaf_500.m3u8?jitxpolicy=PolicyMode_JITX_OutputHLS_Enc_Policy03&pbf=1_2_4_709781929

@BucherTomas
Copy link

@tongwu460 As mentioned previously, that particular device does not support the HEVC + FairPlay combination at all in my opinion, it will likely require just H.264 when using FairPlay.

The suggestion to change the codec to hevc1 configuration is just in line with Apple specification to make sure you avoid running into other issues on other, more capable Apple devices. It was not expected to make a difference on A1625.

@tongwu460
Copy link
Author

@BucherTomas OK,thanks.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants