PSVita Home
What's New
Homebrew
Plugins

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

PSVita as a UVC (USB Video Class) device
Name Version Released Hits DL Link QR
UVC (USB Video Class) v1.6 06/18/20 617 Download QR
UVC (USB Video Class) LCD v1.6 06/18/20 587 Download QR
UVC (USB Video Class) OLED v1.6 06/18/20 645 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 844 Download QR
UVC (USB Video Class) vPOC 5 08/03/18 822 Download QR
UVC (USB Video Class) vPOC 4 08/02/18 847 Download QR
UVC (USB Video Class) vPOC 3 07/31/18 866 Download QR
udcd(Game/app video stream) vPOC 2 11/10/17 1124 Download QR
udcd(SceShell (LiveArea) vPOC 2 11/10/17 1072 Download QR
UVC (USB Video Class) vPOC 10/30/17 746 Download QR
UVC (USB Video Class)Plugin vPOC 10/30/17 1002 Download QR
UVC (USB Video Class) v1.5 05/02/20 653 Download QR
UVC (USB Video Class) LCD v1.5 05/02/20 633 Download QR
UVC (USB Video Class) OLED v1.5 05/02/20 631 Download QR
UVC (USB Video Class) v1.4 07/31/19 720 Download QR
UVC (USB Video Class) LCD v1.4 07/30/19 645 Download QR
UVC (USB Video Class) OLED v1.4 07/30/19 628 Download QR
UVC (USB Video Class) v1.3 07/14/19 590 Download QR
UVC (USB Video Class) v1.2 01/06/19 712 Download QR
UVC (USB Video Class) v1.1 08/28/18 933 Download QR
UVC (USB Video Class) v1.0 08/26/18 780 Download QR