Giter VIP home page Giter VIP logo

Comments (4)

ajcasagrande avatar ajcasagrande commented on July 17, 2024

Hi,

Can you send a link to the exact app you are trying to use? Does it claim to be Onvif compliant?

A few clarifications on your configuration:

  1. Your camera.toml file looks exactly like a configuration.toml file. You only need to include the [[DeviceList]] section

  2. EndpointRefAddress is generally a UUID that is defined by the camera. For now, I would leave that field out.

  3. You actually want this to match the IP address and Port of the machine running docker, making sure the device service is port forwarded to be more open than just 127.0.0.1. This is only used for subscribing to camera events.

  4. This feature is not used in the current build, it is WIP. When the feature is finished you seem to have done it correctly assuming that is what the app would respond to as the MAC (though looking at the logs it appears that app does not support retrieving the MAC). If credentials001 is set as the default secret path, defining MACs in that group is optional (they will get assigned it anyways).

  5. A few things here. What you did is not needed for typical use cases. It is for discovery only and what you have done is basically created an allow list with a single device in it, blocking all others (from being provisined after being discovered). Also, the Address should be just the IP and you would add a field for Port to put the port number.

  6. Provision watcher directory is not an EdgeX supported feature yet, so you configure it via the app custom config: APPCUSTOM_PROVISIONWATCHERDIR

Overall it seemed like it worked, but didn't work. As in, it appeared like the device service could connect to it, but not really many commands were supported.

from device-onvif-camera.

sagark82 avatar sagark82 commented on July 17, 2024

@ajcasagrande , Thanks for the reply. I will make changes as suggested

  1. I am using https://play.google.com/store/apps/details?id=com.pas.webcam&hl=en_IN&gl=US app. This seems to the most popular app to convert mobile to IP cam.
  2. Also, by using MACAddress attribute in DeviceList.Protocols.Onvif in camera.toml the error of mac not found is gone. I am now able to run many commands e.g. snapshot, devicedetails which are running fine.
  3. However, not able to run StreamURI. It keeps failing with following error
    {"apiVersion":"v2","message":"request failed, status code: 500, err: {"apiVersion":"v2","message":"error reading DeviceResourece StreamUri for Camera001 -\u003e failed to execute read command -\u003e invalid request for the function 'GetStreamUri' of web service 'Media'. Onvif error: fault reason: End at NUL buffer input: message transfer interrupted, fault detail: , fault code: SOAP-ENV:Sender ","statusCode":500}","statusCode":500}
  4. I am sure the problem is with the parameter {{EDGEX_MEDIA_PROFILE_BASE64}} which is to be passed in the command. Any suggestions on how to populate this parameter. Attaching the output of GetProfiles command which runs successfully.
    GetProfiles.txt

from device-onvif-camera.

ajcasagrande avatar ajcasagrande commented on July 17, 2024

@sagark82 Thanks for the link. Based on your GetProfiles.txt it seems like many different profiles are supported.

jq '.event.readings[0].objectValue.Profiles[].Token' < GetProfiles.txt
h264_ulaw_1920x1080
jpeg_ulaw_1920x1080
novideo_ulaw_1920x1080
h264_opus_1920x1080
jpeg_opus_1920x1080
novideo_opus_1920x1080
h264_noaudio_1920x1080
jpeg_noaudio_1920x1080

Do keep in mind that whatever URI is returned from the service is currently not authenticated, so if the ip camera app requires authentication for the stream, you would add it via basic auth: rtsp://<user>:<password>@<ip-address>:<port>

from device-onvif-camera.

sagark82 avatar sagark82 commented on July 17, 2024

@ajcasagrande , thanks its working now!!!

from device-onvif-camera.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.