iOS 11 Screen Recording - Copyright Risks

Hi Apple support,


The screen recording feature in iOS11 make it convinient to record the whole content being playbacked on the device, it could be a studio movie content that requires DRM protection or a live sports event whcih is on PPV. Once the content is recorded it can be easily re-distributed which is often not allowed by the content owner.


We are a DRM solution provider, and we received quite a few questions/concerns from our customers (video operators) about the impact of this screen recording feature, as potentially it can be used to easily record/redistribute the content whcih is not allowed to. Mostly the requests are with the intention to stop people from using this feature to perform above activities.


Could you please help to comment Apple's position on this? Has Apple also received relevant copyright concerns from content owners and operators?

Is it poissible to remove/disable this feature from the iOS 11?


Many thanks,


Zhu Mu

Replies

I join the cause

I had a quick look at this today, I thought Apple would have taken steps to do something about this. The docs say ReplayKit is not comapitble with AVPlayer and won't record output from that, but little else, the WWDC vid doesn't make any mention of it.


I had a look around some apps, while the Netflix app doesn't entirely block screen recordings, trying to record a movie results in a black screen with just audio in the resulting movie file, so it is *possible* to block recording. Intrigued I tried to record a movie from their website, but found out Netflix website prompts you to download the free app and won't let me watch a movie online through the browser on my iPad (Is that part of their DRM strategy? I don't know).


But some other widely used and very popular apps let me record full screen playback with full audio for perfect rips, so it might not be so easy or they are not aware of the issue yet.

In iOS 11, UIScreen introduces the property isCaptured (https://developer.apple.com/documentation/uikit/uiscreen/2921651-iscaptured) that determines whether the screen is being recorded. If you did some KVO of that property from the AppDelegate (assuming you are not referring to an app extension) you should be able to present covering interfaces over your app when isCaptured changes to true.


Hopefully this helps!

I thought my app should check the property "UIScreen.isCaptured" before play contents,

but I found some problem.. sometimes it doesn't work well.

first click "the record button" on main screen before run my app,

then run app while counting 3,2,..1 "record start count"

if the screen recording turn on immediately after my app run.

isCaptured proprety isn't changed. and it can't receive UIScreenCapturedDidChange notification.

I still havn't found good solution.

As per the docs isCaptured is not specific to screen recording. It could be true for mirroring or airplay.

You can use the UIScreen screen count to determine if an external display is being used - a count greater than 1 signals an external source. Monitoring changes to the isCaptured handles realtime events you can mange. Iterating the UIScreen screens array to check for isCaptured on each screen whenever the app becomes active handles start-up and background changes to the isCaptured state.


This is very easy to protect against once you cover each vector where the state may change.

UIScreen recording on the main screen is always set to true when you are mirroring. So if you want to block screen capture (screen recording) but allow mirroring it cant be done in apple current implementation. Surely this is an oversight by the Apple engineers?

How to make a solution like Netflix?

I have same problem with isCaptured property and UIScreenCapturedDidChange notification.

When first time I Launch the App and On iOS11 built-in screen recording feature then it notifies the selector method with value True, but when I kill (terminate) my running App and Launch app again (3-6times) do the same procedure again then my selector method is not getting called.


Plz report apple to fix that bug or tell me if you have solution.


p/s: This bug only on ipad. Iphone work well

Implementing the isCaptured KVO along with proper detection of multiple screens present, can safeguard against your concern. This can be done internal to a library responsible for DRM and prevent playback from occuring or stopping playback midstream if a user starts recording.


Apple has provided sufficient tools to let DRM providers do the work of preventing a screen capture. This toolset has been present in the iOS 11 SDK since the early beta, and as a developer you should have looked at this long before release of the OS to the general public, the solution is relatively straight forward and easily implemented.

Can I still record my screen with an external camera? Will an agent show up at my door if i accidentally snap a picture of my child next to a box of Lucky Charms cereal? Can I even view cable TV without the special brain descrambling device? 🍀