PSVita Home
What's New
Homebrew
Plugins

UVC (USB Video Class) v1.6 by xerpi
Last Release: Jun 18, 2020
Downloads: 10879

PSVita as a UVC (USB Video Class) device
Name Version Released Hits DL Link QR
UVC (USB Video Class) v1.6 06/18/20 322 Download QR
UVC (USB Video Class) LCD v1.6 06/18/20 304 Download QR
UVC (USB Video Class) OLED v1.6 06/18/20 346 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 611 Download QR
UVC (USB Video Class) vPOC 5 08/03/18 562 Download QR
UVC (USB Video Class) vPOC 4 08/02/18 600 Download QR
UVC (USB Video Class) vPOC 3 07/31/18 661 Download QR
udcd(Game/app video stream) vPOC 2 11/10/17 882 Download QR
udcd(SceShell (LiveArea) vPOC 2 11/10/17 835 Download QR
UVC (USB Video Class) vPOC 10/30/17 507 Download QR
UVC (USB Video Class)Plugin vPOC 10/30/17 754 Download QR
UVC (USB Video Class) v1.5 05/02/20 413 Download QR
UVC (USB Video Class) LCD v1.5 05/02/20 382 Download QR
UVC (USB Video Class) OLED v1.5 05/02/20 386 Download QR
UVC (USB Video Class) v1.4 07/31/19 470 Download QR
UVC (USB Video Class) LCD v1.4 07/30/19 406 Download QR
UVC (USB Video Class) OLED v1.4 07/30/19 385 Download QR
UVC (USB Video Class) v1.3 07/14/19 339 Download QR
UVC (USB Video Class) v1.2 01/06/19 461 Download QR
UVC (USB Video Class) v1.1 08/28/18 689 Download QR
UVC (USB Video Class) v1.0 08/26/18 534 Download QR