UDCD Video Streaming Plugin

From ConsoleMods Wiki
Jump to navigation Jump to search
(Further cleanup)
No edit summary
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
[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 VLC and OBS on a PC or on any other device that supports the USB Video class (such as Androids).
[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).


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.
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.
Line 14: 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 GitHub 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:
#:<pre>
#*udcd_uvc_oled_off - For PCH-10XX/11XX models with the OLED Screen - Turns the screen off while streaming.
#:: *KERNEL
#* udcd_uvc_lcd_off - For PCH-20XX models with LCD screens - Turns the screen off while streaming.
#:: ur0:tai/udcd_uvc.skprx</pre>
#Copy <code>udcd_uvc.skprx</code> to <code>ur0:tai/udcd_uvc.skprx</code> on your PS Vita.
# Reboot your PSVita.
#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, and try connecting it to your computer to stream it.


== Troubleshooting ==
== 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).
{{Note|Remember that if anything goes wrong (like the Vita not booting), you can always press L at boot to skip plugin loading.}}
 
If you use Windows 10 you might have to change the Camera access permissions on the Privacy Settings.
 
On Linux, try 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)
*'''Not working on Windows 10'''
**You might have to change the Camera access permissions on the Privacy Settings.


{{Note|Remember that if anything goes wrong (like the Vita not booting), you can always press L at boot to skip plugin loading.}}
*'''Not working on Linux'''
**Try using ''mplayer''.
***<code>mplayer tv:// -tv driver=v4l2:device=/dev/videoX:width=960:height=544</code>.


== Turning the screen off during streaming ==
*'''Video looks glitched'''
These 2 modified projects are not on GitHub and are quite hard to find. They are included in [[Vita:Autoplugin 2|Autoplugin 2]]
**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 OLED - For OLED screens model 1000 - Turns the screen black, turning it off
*'''Audio is noisy'''
* udcd_uvc LCD - For LCD screens model 2000+ - Turns the screen off while streaming
** 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)