Post not yet marked as solved
Our app is receiving more of these 2 errors recently. But there is 0 documentation or search result about these 2 errors. Anyone know what they mean?
CoreMediaErrorDomain: -16934
CoreMediaErrorDomain: 28
Hello!We are developing a propietary KSM for our company. We have already access to our FairPlay certificate and ASK but we would like to not use production credentials in development process. We have found a development certificate (Common Name: Partner2) in "FairPlay_Streaming_Server_SDK_v4.2.0" but we have not found the associated ASK for that certificate.Where can we found the ASK?Thanks!
Post not yet marked as solved
Hi,
We are trying to adopt FPS for mp4 content protection playing on safari browser of Mac OS.
I have verified that native functions of safari browser support the decryption for AES-128 encrypted TSs based on EME of HTML5 and HLS mechanism, where the CEK stores in http server described in the m3u8 manifest and is delivered to the browser in plain.
Although it is a simple and easy solution to protect the mp4 contents, the security is still matter because the key is delivered in plain.
So we decided to implment a key server to issue the CKC message after receiving SPC as safari browser's key request.
I have a question before starting it.
Q: The Encrypted AES-128 key in the Table 2-3. SPC container structure of FairPlay Streaming Programming Guide document says that "This key is itself encrypted, using RSA public key encryption with Optimal Asymmetric Encryption Padding (OAEP)".
It means we needs a private key to decrypt it. I understand it if the client is a proprietary application so that the public key would be one of the FPS development credential, which will be issued by Apple according to our request. Because the client application can use the public key during the implementation.
But what if the client is the safari browser? We cannot use any kind of new issued public key for the safari browser.
I guess Mac OS uses some fixed public key which is already issued by Apple for safari browser's FPS.
Now how can I get the counter private key?
It could not be contained in the FPS credential. Because it should be a fixed one, not new generated one.
Post not yet marked as solved
Hello
I have a HLS manifest with multiple audio and multiple subtitle tracks. I use AVPlayer on iOS to play this HLS asset.
On the iOS app I have the freedom to display selective subtitle and audio track list to the user but when the user uses AirPlay on the iOS, all the subtitle and audio tracks available in the HLS manifest is displayed to the user on the Apple TV (or any AirPlay compatible device).
Let me explain with one example.
Say, the HLS manifest has the following tracks:
English, Spanish & German audio tracks
English, Italian, Spanish & German subtitle tracks
When the user uses AirPlay, I want to hide German language and display only the following tracks on the Apple TV:
English & Spanish audio tracks
English, Italian & Spanish subtitle tracks
The primary intent here is that the user should not be able to see German language anywhere on the target AirPlay device.
How to achieve this in code?
Note: It's difficult to modify the source HLS manifest file.
Post not yet marked as solved
Trying to play some non DRM video from HLS url but AVPlayer is not playing the video, Exactly getting this error :- "Player Item Error: Optional("The operation couldn’t be completed. (CoreMediaErrorDomain error -12971.)")" . No idea what is happening here and also what does error -12971 means exactly?
Hi,Refering to the "FairPlay Streaming Certificate Generation Guide"On page 7, we have created newreq.inf file and generated certreq.csr However, we didn't apply "certreq -accept newcert.pem"Then, we continue to create FPS Certificate by uploading our certreq.csr.We received the ASk and fairplay.cerWill this be a problem?Is there anyway we can amend the private key? Or do we need to resubmit FPS Deployment package to redo the process?Thanks.
Post not yet marked as solved
I have an iOS app that can play audio books as FairPlay DRM'd audio streams. I'm using AVContentKeySession to fetch keys and AVQueuePlayer to play. It works great on iOS, but on Catalyst (Monterey 12.3.1, M1 Max MacBook Pro) it crashes. When it happens in debug, I get a message "Too few bits left in input buffer" printed to the console, and an exception is thrown in the guts of what appears to be core media. Here's the output from [NSThread callStackSymbols] when paused on an exception breakpoint at that point:
0 ??? 0x0000000156b8cc9c 0x0 + 5749918876,
1 BRFree 0x000000010445cf08 main + 0,
2 AudioCodecs 0x0000000157918c24 _ZL11GetPropertyPvjPjS_ + 52,
3 AudioToolboxCore 0x00000001862536a4 _ZN15ADTSAudioStream11ParseHeaderER27AudioFileStreamContinuation + 1060,
4 AudioToolboxCore 0x000000018624259c AudioFileStreamParseBytes + 412,
5 MediaToolbox 0x00000001915f7d98 FigManifoldCreateForICY + 2176,
6 MediaToolbox 0x00000001915f7718 FigManifoldCreateForICY + 512,
7 MediaToolbox 0x00000001916bbd78 FigPlayerStreamCreate + 315920,
8 MediaToolbox 0x0000000191a269a0 FigMetadataConverterCreateForQuickTimeToFromiTunes + 45888,
9 MediaToolbox 0x0000000191a4a290 FigMetadataConverterCreateForQuickTimeToFromiTunes + 191536,
10 MediaToolbox 0x0000000191a2a470 FigMetadataConverterCreateForQuickTimeToFromiTunes + 60944,
11 MediaToolbox 0x0000000191a28c34 FigMetadataConverterCreateForQuickTimeToFromiTunes + 54740,
12 MediaToolbox 0x0000000191a413b4 FigMetadataConverterCreateForQuickTimeToFromiTunes + 154964,
13 MediaToolbox 0x0000000191a2f144 FigMetadataConverterCreateForQuickTimeToFromiTunes + 80612,
14 MediaToolbox 0x00000001917cae64 FigAlternateFilterMonitorCreateForThermalNotification + 30428,
15 MediaToolbox 0x00000001917ccb44 FigAlternateFilterMonitorCreateForThermalNotification + 37820,
16 MediaToolbox 0x00000001917cb134 FigAlternateFilterMonitorCreateForThermalNotification + 31148,
17 CFNetwork 0x0000000189937cd4 _CFHostIsDomainTopLevelForCertificatePolicy + 27728,
18 Foundation 0x0000000185ba980c __NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK__ + 24,
19 Foundation 0x0000000185ba96b4 -[NSBlockOperation main] + 104,
20 Foundation 0x0000000185ba9644 __NSOPERATION_IS_INVOKING_MAIN__ + 24,
21 Foundation 0x0000000185ba88dc -[NSOperation start] + 788,
22 Foundation 0x0000000185ba85c0 __NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION__ + 24,
23 Foundation 0x0000000185ba8478 __NSOQSchedule_f + 184,
24 libdispatch.dylib 0x00000001099f60f4 _dispatch_block_async_invoke2 + 148,
25 libdispatch.dylib 0x00000001099e2394 _dispatch_client_callout + 20,
26 libdispatch.dylib 0x00000001099eb778 _dispatch_lane_serial_drain + 980,
27 libdispatch.dylib 0x00000001099ec814 _dispatch_lane_invoke + 492,
28 libdispatch.dylib 0x00000001099f9fc8 _dispatch_root_queue_drain + 408,
29 libdispatch.dylib 0x00000001099f9d3c _dispatch_worker_thread + 264,
30 libsystem_pthread.dylib 0x00000001094e1890 _pthread_start + 148,
31 libsystem_pthread.dylib 0x00000001094ebaa8 thread_start + 8
In the Debug Navigator, the top of the stack looks a little different:
#0 0x0000000184bdeb3c in __cxa_throw ()
#1 0x000000015791941c in ACMP4AACLowComplexityDecoder::GetProperty(unsigned int, unsigned int&, void*) ()
#2 0x0000000157918c24 in GetProperty(void*, unsigned int, unsigned int*, void*) ()
#3 0x00000001862536a4 in ADTSAudioStream::ParseHeader(AudioFileStreamContinuation&) ()
#4 0x000000018624259c in AudioFileStreamParseBytes ()
#5 0x00000001915f7d98 in ___lldb_unnamed_symbol598$$MediaToolbox ()
What's going wrong here? Can anyone give me direction on what to fix? Or is FairPlay audio not even expected to work in Catalyst at this point?
Post not yet marked as solved
When I tested it, mp4 container subtitles cannot be played (VTT can be played).
mp4 subtitles AVFoundation doesn't support mp4 subtitles?
Post not yet marked as solved
Website serving Apple FairPlay videos here...
I have three users reporting problems with playback using Safari on iPad with iOS 15.4.
It seems they can no longer use Chrome (where we serve the same videos using DASH+CENC) either.
That is all I know at this time.
Not finding anything from google except the 15.1 FairPlay debacle...
Just fishing.
Anything similar for anyone else?
Thank you kindly.
Post not yet marked as solved
Hello everyone, I have downloaded the SDK 4.4.1 from Apple and I'm trying to implement fairplay streaming with encrypted videos.
I have arrived the a section whereby it is asking to test Key Security Modules.
I cannot get hold of any pkeyPem variable with a value and also cannot find the spc_internal_values_v2.txt file.
Can anyone help me out?
Thank you very much!
Post not yet marked as solved
Hi All,I'm testing the KSM implementation in the spc_internal_values_v2.txt file provided by the sdk we have spc payload data,but the ksm needs the entire spc container message to process the request(including the version, IV, key and certificate hash).is there a way to test the implementation?Thanks in advance
Post not yet marked as solved
Hi,
I have a video streaming application and a part of code which use FairPlay + DRM. Im trying stream DRN content on appletv and It works well on iOS 13, but on iOS 15 i see nothing and catch internal player error:
Error Domain=AVFoundationErrorDomain Code=-11870 "Operation failed" UserInfo={NSLocalizedFailureReason=An unknown error has occurred (808), NSLocalizedDescription=Operation failed, NSUnderlyingError=0x283902700 {Error Domain=NSOSStatusErrorDomain Code=808 "(null)"}}
I've been maintaining adaptive HLS+FairPlay streams with audio and video for years. My implementation works great. However, I'm now also implementing captions or subtitles, and I'm having trouble with the later.
I'm actually able to generate my HLS streams with WebVTT subtitles, and they work great. But as soon as I encrypt the streams, Apple players stop working (forever stall). And my fairplay implementation works perfectly when no subtitles are involved.
I'm not encrypting the webvtt chunks: they travel as plain text, as stated in Apple guidelines. I believe this may be the issue: encrypted a/v streams with an unencrypted subtitles stream. However, encrypting plain text subtitles with SAMPLE-AES has no sense to me, so far I was unable to find a single HLS example online with subtitles that also happen to have FairPlay encryption. All documents I have about FairPlay also say nothing about this,
I've also tried applying CEA-608 closed captions in the video stream, and this actually works great with FairPlay. But CEA-608 has its own issues, and so I would like to migrate that tech to WebVTT: which also works great, except when FairPlay is involved.
I understand that Apple also establishes that I could use TTML (ISMC1) inside fMP4, which I suspect may be SAMPLE-AES encryptable. However, given my customers use cases, I need to use TS format for HLS, and so I can't use fMP4.
With all this in mind, do anybody know how to properly configure HLS+FairPlay with a plain text WebVTT subtitles stream?
Please note this is about live streaming, and not VOD nor offline playback.
Thanks.
Post not yet marked as solved
I've been searching all over to find an answer to this question. I know that FairPlay/HLS supports audio Streams since there's obviously audio in video, but I'm wondering if this is practical? Also is there any way to stream FairPlay DRM encrypted content without HLS? or if I use HLS could I create only a single audio bitrate format in order to save on hosting costs? I work on and Audio Book app that requires DRM for some content.
Also any links to documentation, videos, tutorials, blog posts... etc on the topic would be awesome too.
Very much appreciate anyone who takes the time to answer this. I wish this was more explicitly talked about on the Apple Dev site, but it seems very geared towards video streaming.
Post not yet marked as solved
Hi
I wish to know where I can find documentation / sdk to user widevine and / or Fairplay in our application.
Is there any examples of using it in AVPlayer?
Thank you very much for any help.
Post not yet marked as solved
Trying to download an encrypted HLS stream we faced the following issue:
When we start a new download, calling resume() function of AVAssetDownloadTask, the download process gets stuck (not every time) and neither of urlSession(_:assetDownloadTask:didFinishDownloadingTo:) or urlSession(_:task:didCompleteWithError:) delegate functions (AVAssetDownloadDelegate) are getting called.
There are cases where not even the urlSession(_:assetDownloadTask:didLoad:totalTimeRangesLoaded:timeRangeExpectedToLoad:) delegate function is getting called.
Any suggestions on how to troubleshoot?
Post not yet marked as solved
When recording 4K 60fps on iPhone 11 Pro, 12 and 13 it does not provide a stable frame rate of 60fps. Checking the Meta data it ranges from 52-58. Are there any settings that can force 60 frames or anything I can do to get a stable frame rate of 60fps.
it also appears when trimming the video the frame rate drops as well.
Hi, IOS 15 Safari does not support Fairplay DRM and gives an error, other browsers like Chrome also do not work. Since IOS 15 released today, we as DRM providers are having a lot of complaints from our customers. The issue does not happen on IOS app, only for IOS browser. We have seen the same issue across multiple DRM providers, so issue is at the end of Apple and only occurs for IOS 15.
Post not yet marked as solved
I recently successfully registered for the FPS certificate but I lost the ASK. How can I find it? Or I need to revoke the certificate.
Post not yet marked as solved
I am encoding CMAF contents and when I try to stream a DRM'd video on Safari, nothing happens and I don't even have an error code.
It is working without any problem on Chrome (widevine). Our partners can stream the content on their side but we can't, on Macbook or iPhone...
We have tested CMAF on the following iOS versions on various device types (phones and tablets):
.3
.1
.1
.1
• 14
• 14.3
It was working without any problem.
We had an issue on:
Macbook pro M1 - Big Sur 11.3.1
Safari Version 14.1 (16611.1.21.161.6)
iPhone 12.- iOS 14.5.1
Iphone 12. - iOS 14.4.2
Macbook Air Intel 2020 - Big Sur 11.2.3
Sometimes, it is working when I reload the page ... I don't know what happens...