Table of Contents
- Requirements
- Steps to enable
- FAQ
- Camera is not detected in game or test menu
- My DLL is not supported?
- My camera is cut off / squished / wrong aspect ratio
- I want to flip / rotate / mirror my camera image
- Image is low resolution / low FPS
- I'm trying to display only my controller but the top camera view is cut off
- What I see in Test Menu and in-game are completely different
- Camera options in test menu (green sliders) do not work
- I have two cameras and they are in the wrong order (front and top cameras)
- I have three or more cameras and spice is picking up the wrong ones
- Can I combine camera hook with TDJ play record feature?
- Turning on camera hook causes the game to lag / unstable monitor check / high CPU usage / occasional stutters
- Getting OBS Virtual Camera to work
- Camera stuttering for no apparent reason
- Camera fails to initialize
This page is about IIDX Cam Hook (-iidxcamhook) option for IIDX 27+.
For IIDX25/26, information on this page does not apply. Instead, just plug in your webcam, enable IIDX Use Official AC Cams (-iidxcabcams), and see if the game will detect your cameras. Very few off-the-shelf webcams will work, YMMV.
Requirements
Version requirements
IIDX Cam Hook (-iidxcamhook) option only works for IIDX27 and up. Both LDJ and TDJ modes will work.
DLL requirements
Camera hook works differently from other I/O emulation - spice has to hijack DirectX9 textures and inject the webcam video feed into it, which requires patching the game. spice2x will attempt to automatically patch the game, so most DLLs should work, although with notable exceptions:
- IIDX 30 003 does not support camera at all as camera functionality is completely disabled in this version of the game. To fix this, get a different DLL variant of IIDX 30.
- For IIDX 27, only the final datecode is supported out of the box, you'll need to find offsets on your own for older versions.
Camera (webcam) requirements
- Most modern USB webcams made in the last 10 years should work, as long as it supports
YUY2orNV12format. - Some software camera emulators will work, while others will not. Devices must show up in Windows Media Foundation in order for Spice to access them.
- If you want to use your smartphone, try something like Camo Studio.
- OBS Virtual Camera can be hit or miss. See OBS Virtual Camera section below for details.
If your real / fake camera is not supported, look into 2dxcamhook instead which uses another protocol (Spout).
Steps to enable
- Plug in your webcam.
- In spicecfg, in
Advancedtab, enableIIDX Cam Hook. - In
Overlaytab, bind a key toToggle Camera Control. - Launch game, and let the game load.
- Press the key you previous bound to bring up Camera Control window.
- Adjust camera settings as needed.
FAQ
Camera is not detected in game or test menu
Check the log for messages from camhook or tdjcam. Most likely, your DLL is not supported.
My DLL is not supported?
If you know the offsets for your DLL, you can override them using IIDX Cam Hook Offset Override (-iidxcamhookoffset) option. Take a look at this repo for examples.
My camera is cut off / squished / wrong aspect ratio
Bring up the camera control overlay and change the draw settings.
I want to flip / rotate / mirror my camera image
As of version 24-09-14 this is possible to do in the Camera Control overlay.
Note: IIDX Camera Order Flip (-iidxflipcams) does not "flip" your camera image, it's for changing which of your cameras is used for FRONT vs. TOP camera.
Image is low resolution / low FPS
Bring up the camera control overlay and change the resolution/framerate settings.
I'm trying to display only my controller but the top camera view is cut off
One of the camera layout option in game is to only display the control deck. This needs a manual "focus". Go to test menu, I/O Check, Camera Check and change the TRIMMING value until the red box is located where you desire.
What I see in Test Menu and in-game are completely different
It's to be expected, the game just does that - namely, the displayed aspect ratio is different. Adjust aspect ratio and cropping options during the song in the camera overlay menu.
Camera options in test menu (green sliders) do not work
This is by design. Use the camera control overlay instead.
I have two cameras and they are in the wrong order (front and top cameras)
Use IIDX Camera Order Flip (-iidxflipcams) option.
I have three or more cameras and spice is picking up the wrong ones
Update to spice2x-24-12-06 and use -iidxcamhooktop and -iidxcamhookfront options.
Can I combine camera hook with TDJ play record feature?
Yes! It'll work as you expect, but:
Make sure your webcam is bound to the top camera and not the front camera. The game will intentionally blank out the front face camera in recordings, so you must use the top camera for play record feature. Check or uncheck IIDX Camera Order Flip option to switch the ordering.
Also, be mindful of your privacy as the recorded video with your camera feed will be uploaded to your EA server. spice2x has no control over where your videos are uploaded or how it's shared.
Turning on camera hook causes the game to lag / unstable monitor check / high CPU usage / occasional stutters
Cameras are always on while the game is running. A lot of the camera logic is CPU-bound as well. As a result, you may experience performance issues on lower end hardware.
To mitigate this:
- Lower the resolution and refresh rate; you really don't need anything higher than 720p.
- Avoid using horizontal / vertical flip, as these are expensive operations.
The above options can be changed in the camera overlay menu.
Getting OBS Virtual Camera to work
If you have Windows 11 version 22000 or higher, and the latest OBS version, OBS should show up as a device in spice. Check for messages like this in the log:
I:iidx:camhook: MFEnumDeviceSources returned 1 device(s)
I:iidx:camhook: -------- Listing all cameras from MFEnumDeviceSources --------
I:iidx:camhook: Camera 0 Name: OBS Virtual Camera (Windows Virtual Camera)
I:iidx:camhook: Camera 9 ID: \\?\swd#vcamdevapi#..........#{40568484-56a9-4865-b6cc-7a39f7d02837}\{fcebba03-9d13-4c13-9940-cc84fcd132d1}
I:iidx:camhook: -------- End of cameras from MFEnumDeviceSources --------
if you don't see it, try restarting OBS as admin and click the Start Virtual Camera button. You may also need to follow their troubleshooting guide to register OBS DLLs again.
If you still don't see it, try running the following in PowerShell:
Get-CimInstance -Namespace root\cimv2 -ClassName Win32_PnPEntity | Where-Object { $_.PNPDeviceID -match 'VCAMDEVAPI' } | Select-Object Name, Manufacturer, PNPDeviceID, Present
This should result in Windows Virtual Camera Device showing up, which is the device that OBS and spice will use. If it doesn't show up (and you're on Windows 11 version 22000+) then, well, we're not quite sure, since this doesn't seem to be documented anywhere by Microsoft or OBS...
Developer details
spice2x cam hook uses Windows MF (Media Foundation) API for enumerating and capturing webcams. OBS Virtual Camera uses the legacy DirectShow APIs, which is not compatible. It seems that the new Windows 11 virtual camera stack serves as a compatibility layer, but very little documentation exists.
Camera stuttering for no apparent reason
Check for TikTok LIVE Studio (LSVCam) and uninstall it.
Camera fails to initialize
If you see Failed to create camera: -2147024891 / 0x80070005 (ERROR_ACCESS_DENIED), go to Windows Settings app, Privacy & Security, Camera, and under Let apps access your camera, and ensure desktop apps can access your camera.
If you see Failed to create camera: -2147024893 / 0x80070003 (ERROR_PATH_NOT_FOUND) try rebooting your PC, and updating webcam drivers, and ensure nothing else is using your webcam.