https://bugs.winehq.org/show_bug.cgi?id=53750
Bug ID: 53750 Summary: OpenSeeFace fails to use webcam Product: Wine Version: 7.18 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: putr4.s@gmail.com Distribution: ---
Created attachment 73213 --> https://bugs.winehq.org/attachment.cgi?id=73213 Backtrace from the crash reporter when using `--use-dshowcapture 0`
When trying to use the webcam OpenSeeFace's Windows version (obtainable from here: https://github.com/emilianavt/OpenSeeFace/releases/tag/v1.20.4) ends up saying "No frame" every time, while the native Linux version runs fine. However, the Windows version is still relevant in the case of using VTube Studio and VSeeFace, especially for the former since it also adds hand tracking to its build of OpenSeeFace.
To test download and extract the 1.20.4 release, then try running facetracker.exe in the Binary folder, or use the run.bat file in that same folder.
Notably if I run it with the arguments `--dcaps-list 0` it reports that my webcam has an FPS range of 0.033-0.033, and when running it with no arguments it reports an FPS value of 0. Trying to set a specific FPS value manually with `--fps` also does not work, it still reports 0 FPS.
Also, if I try running it with `--use-dshowcapture 0` to make it fall back to using OpenCV it ends up crashing (backtrace attached).
I am using Arch Linux with Wine 7.18 from the Arch repos, and my webcam is reported by lsusb as "Bus 001 Device 005: ID 04f2:b521 Chicony Electronics Co., Ltd USB 2.0 Webcam Device".
https://bugs.winehq.org/show_bug.cgi?id=53750
--- Comment #1 from Prajna Sariputra putr4.s@gmail.com --- Created attachment 73214 --> https://bugs.winehq.org/attachment.cgi?id=73214 Terminal output when running with `--use-dshowcapture 0`
https://bugs.winehq.org/show_bug.cgi?id=53750
--- Comment #2 from Prajna Sariputra putr4.s@gmail.com --- Created attachment 73215 --> https://bugs.winehq.org/attachment.cgi?id=73215 Terminal output when running with no arguments
I excluded the bit where I force stop it, but if I don't then it runs in perpetuity.
https://bugs.winehq.org/show_bug.cgi?id=53750
--- Comment #3 from Prajna Sariputra putr4.s@gmail.com --- Also, my webcam light does turn on in both cases (--use-dshowcapture enabled and disabled), and I am using a clean 64 bit wineprefix.
https://bugs.winehq.org/show_bug.cgi?id=53750
Zeb Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |quartz Keywords| |download, source URL| |https://github.com/emiliana | |vt/OpenSeeFace/releases/tag | |/v1.20.4 Status|UNCONFIRMED |NEW Ever confirmed|0 |1
--- Comment #4 from Zeb Figura z.figura12@gmail.com --- Confirming.
https://bugs.winehq.org/show_bug.cgi?id=53750
Zeb Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com
--- Comment #5 from Zeb Figura z.figura12@gmail.com --- The frame interval calculation is due to a bit of incorrect math, but ultimately doesn't seem to be the problem. The problem is that the program expects the samples it gets from the video capture filter to be timestamped (even though it doesn't actually use the timestamps for anything).
I've submitted patches to fix the frame interval calculation. The timestamps will need more work, though, to test what's the correct behaviour wrt. pausing and flushing.
https://bugs.winehq.org/show_bug.cgi?id=53750
--- Comment #6 from Prajna Sariputra putr4.s@gmail.com --- I decided to try Wine 8.6 with this, and indeed the FPS calculation in the output with `--list-dcaps 0` is correct now. As expected the "No frame" issue still occurs as well as the crash with OpenCV (aka using `--use-dshowcapture 0`).
Although, currently I have a different webcam which supports either YUYV 4:2:2 from 176x144 to 640x480 or MJPEG from 176x144 to 1280x720, and I noticed that the supported format shown by OpenSeeFace with `list-dcaps 0` is all XRGB.