PSP USB Video Class (UVC) plugin

PSP PSP USB Video Class (UVC) plugin v0.2

[TABLE="class: cms_table_grid, width: 98%"][TBODY][TR][TD="bgcolor: black"]-
psplogoblack.png
[/TD][/TR]
[TR][TD="bgcolor: darkgrey"]
PSP USB Video Class (UVC) plugin
by xerpi
pspuvc.png

  • [TABLE="class: cms_table_grid, width: 98%"][TBODY][TR][TD="bgcolor: lightgrey"]This is a plugin that lets you stream your PSP screen to your computer via USB.

    It follows the USB Video Class (UVC) standard, therefore it should work on any OS.[/TD][/TR][/TBODY][/TABLE]

  • [TABLE="class: cms_table_grid, width: 98%"][TBODY][TR][TD="bgcolor: lightgrey"]
    • 480x272 YUY2 @ 30 FPS and 60 FPS (WIP)
    [/TD][/TR][/TBODY][/TABLE]

  • [TABLE="class: cms_table_grid, width: 98%"][TBODY][TR][TD="bgcolor: lightgrey"]Download:


    Installation
    :

    1. Copy uvc.prx to ms0:/seplugins/
    2. Add uvc.prx to ms0:/seplugins/VSH.TXT and/or ms0:/seplugins/GAME.TXT
    3. Reboot your PSP

    Viewing


    On Windows I recommend PotPlayer for viewing, and on Linux I recommend mpv or mplayer.
    • mpv av://v4l2:/dev/videoN --profile=low-latency --untimed
    • mplayer tv:// -tv driver=v4l2:device=/dev/videoN

    You can use OBS to capture/live-stream the incoming video from the PSP.

    Compilation

    • If you want to compile the source code, pspsdk is needed.
    [/TD][/TR][/TBODY][/TABLE]

  • [TABLE="class: cms_table_grid, width: 98%"][TBODY][TR][TD="bgcolor: lightgrey"]
    • If you use Windows 10 you might have to change the Camera access permissions on the Privacy Settings.
    • Remember that if anything goes wrong (like the PSP not booting) you can always press R at boot to enter recovery mode.
    Note: No, it doesn't stream audio. For that use a 3.5mm jack to jack adapter.[/TD][/TR][/TBODY][/TABLE]

  • [TABLE="class: cms_table_grid, width: 98%"][TBODY][TR][TD="bgcolor: lightgrey"]0.1 [Proof of concept]

    This is the first release, can be considered Proof of concept/alpha quality:
    • Uses the CPU to perform format conversion to YUY2

    After doing some measurements, I've found that it takes:
    • 32.9ms to perform CSC (RGB -> YUY2)
    • 16.1ms to send the frame through USB

    ⇒ This means 1 / (32.9 + 16.1 ms) = ~20FPS.
    To improve this, we should take advantage of the VFPU, ME or VME to perform fast RGB->YUV conversion. Probably sceMpegBaseCscVme, sceDmacplus_driver_0x9C492B9B and similar functions look the most promising.
    If we could reduce CSC time to < 16.667ms we could achieve 60FPS by double buffering to hide latencies, in a ping-pong fashion (with one frame of latency from capture to sending):
    Code:
    |CSC0|CSC1|CSC2|....|....|CSCn|
         |USB0|USB1|USB2|....|....|USBn|
    [/TD][/TR][/TBODY][/TABLE]


SOURCE:
https://github.com/xerpi/psp-uvc-usb-video-class[/TD][/TR][/TBODY][/TABLE]
  • Like
Reactions: nekoramuza
Uploaded by
tthousand
Downloads
4,407
Views
4,407
First release
Last update

Ratings

0.00 star(s) 0 ratings

More resources from tthousand

Latest updates

  1. PSP USB Video Class (UVC) plugin v0.2

    Changelog 0.2 Add dummy USB interface descriptor to include Interface Association Descriptor...
Back
Top