virtual-puppet-project / vpuppr

VTuber application made with Godot 4
Mozilla Public License 2.0
735 stars 61 forks source link

Kubuntu 20.04 w v0.8.1 - Camera works sporadically #108

Closed EMCP closed 2 years ago

EMCP commented 2 years ago

I just purchased a webcam (Logitech Brio) , and in OBS I can see things are looking quite good.. but when I come into OpenSeeFace-GD .. it seems not to quite be consistently able to trigger the camera on.. (the little light doesn't turn on for instance)

The only way I can get it to work is..

open the program immediately go to the tracker settings select the first camera in the list (there are 4 for some reason) hit start tracker

that will work.. then I turn it off.. and try to re-engage it and.. nothing

python3 --version
Python 3.8.10

./OpenSeeFaceGD.x86_64 
Godot Engine v3.4.3.rc.custom_build.6658f5c47 - https://godotengine.org
OpenGL ES 3.0 Renderer: NVIDIA GeForce GTX 1060 6GB/PCIe/SSE2
OpenGL ES Batching: ON

[INFO] 2022-2-21_17:56:29 Begin loading metadata
[INFO] 2022-2-21_17:56:29 Finished loading metadata
ERROR: Can't open dynamic library: addons/real-time-lip-sync-gd/libreal_time_lip_sync_gd.so. Error: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /home/emcp/Tools/openseeface-gd_0.8.1_linux/libreal_time_lip_sync_gd.so)
   at: open_dynamic_library (drivers/unix/os_unix.cpp:403)
ERROR: No valid library handle, can't get symbol from GDNative object
   at: get_symbol (modules/gdnative/gdnative.cpp:510)
ERROR: No nativescript_init in "res://addons/real-time-lip-sync-gd/libreal_time_lip_sync_gd.so" found
   at: init_library (modules/gdnative/nativescript/nativescript.cpp:1510)
ERROR: In Object of type 'NativeScript': Attempt to connect nonexistent signal 'lip_sync_updated' to method 'Node._on_lip_sync_updated'.
   at: connect (core/object.cpp:1462)
ERROR: In Object of type 'NativeScript': Attempt to connect nonexistent signal 'lip_sync_panicked' to method 'Node._on_lip_sync_panicked'.
   at: connect (core/object.cpp:1462)
[INFO] 2022-2-21_17:56:29 Loading metadata: metadata.xml
[INFO] 2022-2-21_17:56:29 Loading gui file: model.xml
this is a test print in Model.gd. Extend this by modifying resources/gui/Model.gd
[INFO] 2022-2-21_17:56:29 Loading gui file: tracking.xml
[INFO] 2022-2-21_17:56:29 Loading gui file: features.xml
[INFO] 2022-2-21_17:56:29 Loading gui file: presets.xml
[INFO] 2022-2-21_17:56:29 Loading gui file: app-settings.xml
[INFO] 2022-2-21_17:56:29 Begin loading config for user:///hackz0r_final_seeface.json
[INFO] 2022-2-21_17:56:29 Finished loading config
[INFO] 2022-2-21_17:56:29 Loading VRM file.
VRM: Using builtin gltf module
/home/emcp/Downloads/hackz0r_final_seeface.vrm
WARNING: Octahedral compression cannot be used to compress a zero-length vector, please use normalized normal values or disable octahedral compression
     at: norm_to_oct (servers/visual_server.cpp:341)
[INFO] 2022-2-21_17:56:29 VRM file loaded successfully.
[INFO] 2022-2-21_17:56:30 Press ESCAPE to hide the UI
ERROR: Condition "name == """ is true.
   at: set_name (scene/main/node.cpp:914)
[INFO] 2022-2-21_17:56:30 Model has ultra nested meshes: .
[INFO] 2022-2-21_17:56:30 Model has ultra nested meshes: .

EDIT: Stranger still , I reopen the app and now see no cameras at all.. and in output I can see

There was no valid input.
[INFO] 2022-2-21_17:58:19 Finished saving config
[INFO] 2022-2-21_17:58:19 Exiting. おやすみ。
ERROR: No valid library handle, can't terminate GDNative object
   at: terminate (modules/gdnative/gdnative.cpp:417)
you-win commented 2 years ago

ERROR: No valid library handle, can't terminate GDNative object at: terminate (modules/gdnative/gdnative.cpp:417)

This line is due to #106 which is actually related to #103 , except in Rust rather than Godot.

Regarding the flaky video inputs, can you run

ls /dev | grep video

I've observed that sometimes, especially on laptops with physical webcam killswitches, the webcam device will just turn off. Even though you are using a physical webcam, you might need to unplug/plug in your webcam if nothing shows up after running the above command.

EMCP commented 2 years ago

Thanks @you-win

I'm on a workstation .. one issue is perhaps I have a very very long USB cable.. maybe this is causing issues.. I tried just now to unplug and re-plug the device back into the extension USB cable.. no luck there.. when I reopen up it's a blank list

Edit: okay even in OBS there's no devices listing.. so it's not specific to OpenSeeFace-GD.. I'll close this for now and see if I can find the root cause

Thanks!

EMCP commented 2 years ago

welp, I plugged it directly into the MOBO and it popped right back to life so.. it must be this super long extension cord.. thanks again