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 |