0

I'm investigating building a "Game Capture" App that works within UWP on Xbox One, as for capturing the actual content of the screen during game-play, it appears there are two ways to go within the wider eco-system of Microsoft libraries:

  1. DirectX (Now part of Windows API)
  2. Microsoft Media Foundation

With that in mind, my assumption is that DirectX is natively accessible by UWP apps via the Windows Runtime API, and aside from limitations on the DirectX feature-sets and hardware, basic APIs exist for capturing the content of the Xbox's screen.

MMF I'm not so sure about, though it does encapsulate some interesting access to using an accelerated video encoding but does not appear to be part of the UWP subset of APIs available on the Xbox.

Beyond the correct library to use, are there any other known limitations on developing apps that "capture" the Xbox's screen that run natively on the device.

Thanks

jordan.baucke
  • 4,308
  • 10
  • 54
  • 77
  • It's not possible for a UWP app to capture footage of other apps, games,etc in the background. – Neil Turner Apr 08 '16 at 17:11
  • Thanks @Neil Turner any technical reason for this, how will apps like Twitch remain available on UWP? – jordan.baucke Apr 08 '16 at 17:40
  • UWP apps can't 'hook' other applications as they are isolated for security reasons. Twitch and other 'recorders' on Xbox One use the GameDVR functionality built into the platform. – Chuck Walbourn Apr 09 '16 at 04:39
  • What @ChuckWalbourn says is correct. On Xbox, the Twitch app is only for viewing. Any recording/broadcasting is handled by the system, not a 3rd party app. – Neil Turner Apr 09 '16 at 14:03
  • @Neil Turner, ok I understand, can anyone give me references to those API endpoints I could look at to invoke system recording/broadcasting? – jordan.baucke Apr 09 '16 at 16:38
  • There are none at the moment, the recording, etc is controlled by the user using built-in options, voice commands, etc - I'll put together an answer with this info. – Neil Turner Apr 10 '16 at 20:41
  • @Neil Turner makes sense, except the "built in options" I understand that some of these API calls maybe privileged, but having the names at this stage is what is important – jordan.baucke Apr 11 '16 at 08:25

1 Answers1

2

It's not possible at this time.

The Xbox One is a closed platform and not as open as Windows 10 running on a desktop PC, for example.

On a PC it's possible to use existing APIs to capture the output from a game, app, etc. On Xbox One, this is handled by the system only. The console is recording all the time, but the user decides when to save that footage or broadcast it via Twitch, YouTube, etc.

UWP apps running on Xbox One cannot record footage themselves or access the built-in APIs for this functionality.

Neil Turner
  • 2,712
  • 2
  • 18
  • 37
  • @Niel Turner thank you. I am still interested in learning which APIs, Twitch for example runs to broadcast this recorded content. Are they available to developers ? – jordan.baucke Apr 25 '16 at 18:01
  • 1
    No, they're not available - and Microsoft would have implemented the features using the API spec. from Twitch and YouTube - there is no streaming app, as such. – Neil Turner Apr 26 '16 at 16:22
  • @NeilTurner I don't understand something. Twitch and YouTube have a specific permission from Microsoft for broadcasting recorded content? How do they do this? – Rougher Aug 14 '20 at 09:07
  • @Rougher closed platforms are not a level playing field for developers - so in this case, only special (and large) partners get access to private APIs. – Neil Turner Aug 14 '20 at 15:24