UDCD Video Streaming Plugin

From ConsoleMods Wiki
Jump to navigation Jump to search
(Mostly copied text from udcd GitHub page, with extras added like the alternative versions and linking to the github release page)
 
No edit summary
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Stream Vita screen over USB cable, Vita appears as a USB class camera and is accessible from VLC and OBS, additionally any device that supports the USB Video class (There are apps on Android, but at this time nothing on IOS)
[https://github.com/xerpi/vita-udcd-uvc The UDCD Video streaming plugin] is a kernel plugin that allows you to stream the Vita screen over a USB cable. The Vita appears as a USB class camera and is accessible from applications that can access cameras & video capture devices (such as VLC, MPV, and OBS) on a PC or on any other device that supports the USB Video class (such as Android devices).


[https://github.com/xerpi/vita-udcd-uvc GitHub Project]
The plugin uses the SceUdcd module of the PSVita OS to setup the necessary USB descriptors to simulate and behave as an USB Video class device, similar to a webcam or a USB video capture card. The hardware color space converter of the PSVita's SoC is used to perform the conversion to the destination pixel format; then the USB controller directly performs a DMA transfer from the physical address of the resulting converted framebuffer, saving CPU usage and and reducing power consumption.


This is a kernel plugin that lets you stream your PSVita screen to your computer via USB.
{{Note|The plugin ''doesn't'' stream audio. For that, use a 3.5mm jack to jack adapter (a ferrite bead might help reduce the electromagnetic noise).}}


== How does it work? ==
== Supported Formats and Resolutions ==
The plugin uses the SceUdcd module of the PSVita OS to setup the necessary USB descriptors to simulate and behave as an USB Video Class device (like a webcam or an USB video capture card).
 
The hardware color space converter of the PSVita's SoC is used to perform the conversion to the destination pixel format; then the USB controller directly performs a DMA transfer from the physical address of the resulting converted framebuffer, and therefore, saving CPU usage and power consumption.
 
== Supported formats and resolutions ==


* 960x544 @ 30 FPS and (less than) 60 FPS
* 960x544 @ 30 FPS and (less than) 60 FPS
Line 19: Line 14:


== Download and installation ==
== Download and installation ==
'''Download''':
Installation of udcd_uvc is essentially [[Vita:Installing Plugins|the standard plugin installation process]].  
 
* udcd_uvc.skprx - [https://github.com/xerpi/vita-udcd-uvc/releases From the GitHub projects releases page]
 
'''Compilation'''
 
* vitasdk is needed.


'''Installation''':
'''Installation''':


# Copy <code>udcd_uvc.skprx</code> to your PSVita
#Download the latest version of udcd_uvc.skprx from the [https://github.com/xerpi/vita-udcd-uvc/releases GitHub releases page].
# Add <code>udcd_uvc.skprx</code> to taiHEN's config (<code>ur0:/tai/config.txt</code> or <code>ux0:/tai/config.txt</code>):
#*There are also two variants of the plugin you can install that will turn off the screen while the console is being streamed over USB:
 
#*udcd_uvc_oled_off - For PCH-10XX/11XX models with the OLED Screen - Turns the screen off while streaming.
<code>*KERNEL
#* udcd_uvc_lcd_off - For PCH-20XX models with LCD screens - Turns the screen off while streaming.
ur0:tai/udcd_uvc.skprx</code>
#Copy <code>udcd_uvc.skprx</code> to <code>ur0:tai/udcd_uvc.skprx</code> on your PS Vita.
 
#Add the path of the plugin (<code>ur0:tai/udcd_uvc.skprx</code>) to taiHEN's config at <code>ur0:/tai/config.txt</code> under the <code>KERNEL</code> section.
# Reboot your PSVita.
#Reboot your PSVita, and try connecting it to your computer to stream it.
 
== Troubleshooting ==
If the video looks glitched, try to change the video player configuration to use the ''NV12'' format or switch to another player (like PotPlayer or OBS). If the colors look wrong, set color range to full and color space to BT.601 (Rec. 601).
 
If you use Windows 10 you might have to change the Camera access permissions on the Privacy Settings.
 
On Linux I recommend using ''mplayer'' (<code>mplayer tv:// -tv driver=v4l2:device=/dev/videoX:width=960:height=544</code>).
 
'''Audio noise fix:'''
 
* Disable USB power supply (Settings > System)


Note: Remember that if anything goes wrong (like PSVita not booting) you can always press L at boot to skip plugin loading.
== Troubleshooting==
{{Note|Remember that if anything goes wrong (like the Vita not booting), you can always press L at boot to skip plugin loading.}}


Note 2: No, it ''doesn't'' stream audio. For that use a 3.5mm jack to jack adapter (a ferrite bead might help reduce the electromagnetic noise).
*'''Not working on Windows 10'''
**You might have to change the Camera access permissions on the Privacy Settings.


== Turning the screen off during streaming ==
*'''Not working on Linux'''
These 2 projects are not on GitHub and are actually quite hard to find. They are included in AutoPlugin 2
**Try using ''mplayer''.
***<code>mplayer tv:// -tv driver=v4l2:device=/dev/videoX:width=960:height=544</code>.


udcd_uvc OLED - Turns the screen black, turning it off
*'''Video looks glitched'''
**Try to change the video player configuration to use the NV12 format or switch to another player (like PotPlayer or OBS). If the colors look wrong, set color range to full and color space to BT.601 (Rec. 601).


udcd_uvc LCD - Turns the screen off while streaming
*'''Audio is noisy'''
** Disable USB power supply (Settings > System)
[[Category:Vita]]

Latest revision as of 09:07, 30 December 2024

The UDCD Video streaming plugin is a kernel plugin that allows you to stream the Vita screen over a USB cable. The Vita appears as a USB class camera and is accessible from applications that can access cameras & video capture devices (such as VLC, MPV, and OBS) on a PC or on any other device that supports the USB Video class (such as Android devices).

The plugin uses the SceUdcd module of the PSVita OS to setup the necessary USB descriptors to simulate and behave as an USB Video class device, similar to a webcam or a USB video capture card. The hardware color space converter of the PSVita's SoC is used to perform the conversion to the destination pixel format; then the USB controller directly performs a DMA transfer from the physical address of the resulting converted framebuffer, saving CPU usage and and reducing power consumption.

Exclamation-circle-fill.svgThe plugin doesn't stream audio. For that, use a 3.5mm jack to jack adapter (a ferrite bead might help reduce the electromagnetic noise).

Supported Formats and Resolutions

  • 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
  • 1280x720 @ 30 FPS

Download and installation

Installation of udcd_uvc is essentially the standard plugin installation process.

Installation:

  1. Download the latest version of udcd_uvc.skprx from the GitHub releases page.
    • There are also two variants of the plugin you can install that will turn off the screen while the console is being streamed over USB:
    • udcd_uvc_oled_off - For PCH-10XX/11XX models with the OLED Screen - Turns the screen off while streaming.
    • udcd_uvc_lcd_off - For PCH-20XX models with LCD screens - Turns the screen off while streaming.
  2. Copy udcd_uvc.skprx to ur0:tai/udcd_uvc.skprx on your PS Vita.
  3. Add the path of the plugin (ur0:tai/udcd_uvc.skprx) to taiHEN's config at ur0:/tai/config.txt under the KERNEL section.
  4. Reboot your PSVita, and try connecting it to your computer to stream it.

Troubleshooting

Exclamation-circle-fill.svgRemember that if anything goes wrong (like the Vita not booting), you can always press L at boot to skip plugin loading.
  • Not working on Windows 10
    • You might have to change the Camera access permissions on the Privacy Settings.
  • Not working on Linux
    • Try using mplayer.
      • mplayer tv:// -tv driver=v4l2:device=/dev/videoX:width=960:height=544.
  • Video looks glitched
    • Try to change the video player configuration to use the NV12 format or switch to another player (like PotPlayer or OBS). If the colors look wrong, set color range to full and color space to BT.601 (Rec. 601).
  • Audio is noisy
    • Disable USB power supply (Settings > System)