-
Notifications
You must be signed in to change notification settings - Fork 44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
onvif-util (v.2.1.1) can't find camera, but onvif-gui (v1.4.4) can?! #93
Comments
Thank you so much for taking the time to put this summary together, it contains a lot of useful information. There are a number of issues at play here that can influence the performance of the applications. There is some history as well that could use some explaining. As to the history, v1.4.4 version is a fundamentally different program than the 2.x versions. The 1.4.4 versions are what reside in the Ubuntu apt repository and are C++ entirely. The v2.x are based on python for the GUI program, although the current version of onvif-util is still C++ based. For starters, I would recommend removing the libonvif apt packages if you still have those on the machine. Another issue that comes into play is the difference between the discovery options of the two programs. Onvif GUI has the ability to search through all of the network interfaces on the host computer, whereas onvif-util will only use the primary network interface. If your host has more than one interface, this could be an explanation as to why the gui can find the cameras, but the util cannot. I will update the util program to include this feature, it is an omission that should be addressed. Looking at the outputs, it appears that the host computer is an ARM based architecture. This has not been tested for Ubuntu, which may or may not be an issue. The GUI has been tested on MAC OS, which is also an ARM architecture, so it should theoretically work. Additionally, it looks like the installation was done with an Anaconda version of python, which is less well tested than using a virtualenv python environment. Although this should not be a problem, it does introduce some uncertainty. My suggestion would be to create a fresh python virtual environment and try to build Onvif GUI from source. At the very least, this will produce the compiler output messages which can be further analyzed for error messages.
The output of the last command line is a summary of the installation process. If there are no errors, the program should be working properly. One potential pitfall could be the operation of PyQt6 running on ARM. I am looking for a good ARM linux machine currently, and hope to be testing one soon. Once again, thank you for your inquiry, I hope this has been useful. Please let me know if you experience further issues. Stephen |
hi Stephen, ok i've done as you suggested. and the build ran for a bit before failing:
Is there a way to tweak your build to just get onvif-util, avoiding the Qt6 issues? |
Thank you for trying, sorry for the confusion. You can install the onvif-util with the following commands. It looks like you have already tried this approach. You will probably still experience the inability to find the cameras on a second network interface as the onvif-util does not yet have the mulitple network discovery function.
If you wanted to try something else, you could edit the pyproject.toml file in the onvif-gui directory to remove the version requirement on PyQt6. The requirement for that version is not a major issue, and you will most likely be able to get the thing running with whatever version exists for your platform. It's a pretty easy edit, so it might be worth a shot. The file you are looking for is
That will let the installer choose whatever PyQt6 version it has available, which has a very good chance of working, then just run
from the libonvif directory. Anyway, thank you so much for the feedback, I hope this helps |
still trying, but no love:( modifying
and so i used conda to produce a venv with python 3.10 (because it doesn't seem virtualenv can maintain a separate python versioned environment?), started from scratch from the git clone and tried to rebuild, again updated the
|
Wow, that's a tough one. It looks like PyQt6 is not well supported for your configuration. I just wanted to double check that you are running Ubuntu on ARM architecture? I updated the onvif-util to broadcast discovery on all network interfaces, and it can now access cameras on external networks as well. If you git pull the repository, the utility should compile as before
Thank you so much for your efforts, I will be looking at solutions to the PyQt6 issue, but it may take some time. Best Regards, Stephen |
hi, a new libonvif user and already a fan, thanks for your work.
TL;DR: Ubuntu 24.04 apt only knew about onvif-gui v1.4.4, and so i
started with that. onvif-gui could use it to discover the camera, but
onvif-util -a
could not. if i give onvif-util full user/pw/IPnumberparameters it just hangs. prior to posting this issue, i tried to
install libonvif v2.1.1 and while it seems to install correctly, the
pip package cannot load: "`GLIBCXX_3.4.32' not found". Trying to use
pip to install onvif-gui fails with bad dependency: "onvif-gui 2.1.1
depends on PyQt6-Qt6==6.6.1"
[versions: Ubuntu 24.04, python 3.12.4]
even that summary is too long! Basically i'm running into issues
installing the new 2.1.1 versions. i happen to have been using an
earlier release v1.4.4 because that's what the ubuntu repo knew about,
and this onvif-gui can discover the camera, while the v1.4.4
onvif-util could not.
Here is
python3 -m pip install onvif-gui
issue:I figured maybe I'd have different luck with onvif-util which wouldn't have a Qt6 issues...? following the install instructions for linux onvif-util here
work just fine:
and running
onvif-util -a
runs just fine BUT STILL DOESN'T FIND THECAMERA!:
running
onvif-util -u USER -p PW IPNumber
still hangs.Trying to import the
libonvif
package into python also fails:It appears the
libonvif.cpython-312-aarch64-linux-gnu.so
library isnot built or where it should be?
Sorry to dump these messy issues in a pile, but that's how life deals them out some times! Thanks for any help. - Rik
The text was updated successfully, but these errors were encountered: