PSVita Home
What's New
Homebrew
Plugins

UVC (USB Video Class) v1.2 by xerpi
Last Release: Jan 6, 2019
Downloads: 2609

PSVita as a UVC (USB Video Class) device
Name Version Released Hits DL Link QR
UVC (USB Video Class) v1.2 01/06/19 85 Download QR
Installation:

Add udcd_uvc.skprx to taiHEN's config (ur0:/tai/config.txt or ux0:/tai/config.txt): *KERNEL ur0:tai/udcd_uvc.skprx
Reboot your PSVita.


So this is a project I've had in mind for a few months already and finally I've decided to put some effort into it.

Let me explain: the Vita OS has a module (SceUdcd) that allows you to setup the Vita (fat and slim) bottom USB port as any USB device by setting custom USB descriptors.
In the past, I've already used SceUdcd to make the Vita act as an standard USB HID Gamepad (check this) so I asked myself: why don't I take advantage of the power of that module and write a plugin that setups the Vita as an USB Video Class device (like a webcam or USB video capture card) and sends the screen data to the PC?
And here we are, it has taken me quite a bit of reverse engineering the Vita OS (specially the SceDisplay and SceUdcd modules) to be able to have a very alpha-stage proof of concept skprx working.

As I said it's very PoC, so don't expect it to go fast at all: the code is currently very inefficient and I'm not taking advantage of the Vita's hardware colorspace converters and image encoders at all, it's all done by CPU. Also, for now, this version will only capture the LiveArea footage.

Even though it isn't very useful at its current stage, I'm releasing this so you can test it on different OSes and report back whether it's working or not (I'm developing on Linux so that's my testing platform).

To make it easier to load this plugin I've created a Plugin loader VPK that its job is to load any skprx placed in ux0:data/tai/kplugin.skprx

Changes since v1.1:

Fixed 480x272 support thanks to u/Kaizu_vita

List of supported video modes:

960x544 @ 30 FPS and (less than) 60 FPS

896x504 @ 30 FPS and (almost) 60 FPS

864x488 @ 30 FPS and 60 FPS

480x272 @ 30 FPS and 60 FPS

If the video looks glitched, try to change the video player configuration to use the NV12 format or switch to another player (like PotPlayer, KMPlayer or OBS). If you use Windows 10 you might have to change the Camera access permissions on the Privacy Settings. On Linux I recommend using mplayer (mplayer tv:// -tv driver=v4l2:device=/dev/videoX:width=960:height=544).
Name Version Released Hits DL Link QR
UVC (USB Video Class) vPOC 6 08/06/18 250 Download QR
UVC (USB Video Class) vPOC 5 08/03/18 214 Download QR
UVC (USB Video Class) vPOC 4 08/02/18 157 Download QR
UVC (USB Video Class) vPOC 3 07/31/18 133 Download QR
udcd(Game/app video stream) vPOC 2 11/10/17 415 Download QR
udcd(SceShell (LiveArea) vPOC 2 11/10/17 378 Download QR
UVC (USB Video Class) vPOC 10/30/17 177 Download QR
UVC (USB Video Class)Plugin vPOC 10/30/17 337 Download QR
UVC (USB Video Class) v1.1 08/28/18 281 Download QR
UVC (USB Video Class) v1.0 08/26/18 161 Download QR