This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

documentation for DMVA / DM36x on video analytics

Hello developer community,

I have a DMVA2 camera from APPRO/TI with DM368 on it. My problem is not a spot problem, but it is on the overall documentation.

My goal would be to understand how the video analytics routines (motion detection, tampering, object counting, bla bla bla) work in such reference design, in order to be able to control them, connect to the video sensor, get video data, build my own web-interface for setting parameters, stream encoded video and then eventually have an end-product.
I think this is the most common usage intended for DMVA.

The problem is that the documentation provided is totally insufficient for understanding what is going on for a computer engineer that never worked with TI hardware.

I have thorougly read all these (and not just once)

DMVA1_IPNC_Product_Datasheet.pdf
DMVA2_IPNC_Product_Datasheet.pdf
DMVAL_API_and_UsersGuide_v02_00.pdf
DMVAx_Datasheet_sprs679.pdf
DMVAx_IPNC_Application_DesignGuide.pdf
DMVAx_IPNC_AVServer_DesignGuide.pdf
DMVAx_IPNC_Getting_Started_Guide.pdf
DMVAx_IPNC_Limitations_KnownIssues.pdf
DMVAx_IPNC_Release_Notes.pdf
DMVAx_IPNC_Users_Guide.pdf

and I also managed to get a copy of the DaVinci Software for Dummies and read it. The result is this

I managed installing NFS, compiling a helloworld.c (wow!), understanding how to start/stop av_sever and system_server; but then moving forward is basically doing reverse engineering on the code and looking for hints on e2e forums that end up being precious as gold. 

For example, today, by total chance, I found out here (http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/100/t/106838.aspx?PageIndex=3) that there is a web page with all parameters: http://192.168.1.201/ini.htm 

cool, but where is it documented? how did the guy that wrote it found out that?
where is the clear explanation of all those parameters? how to set them?

where is the code of the object counting (just for example)? what are the parameters? how can I programmatically start and stop each video analytic module?

I spent long time on page 12 of DMVAx_IPNC_AVServer_DesignGuide.pdf and page 11 of DMVAx_IPNC_Application_DesignGuide.pdf, and trying to understand where to put hands, but the way from those diagrams and the code is very long.

If I simply did not find the right place for documentation on these issues, I'm very sorry, please tell me where it is. Or maybe I am not using the right approach; please give me an hint.

Otherwise it means that the only way a non-TI engineer can make progress in using these reference design is writing hundreds of posts on these forums, basically bagging answers until I have (hopefully) reached a point where I will support those who beg for answers. But I am sure it cannot be like that. 

I have been very straight, hopefully nobody gets offended. I will appreciate any hint, best regards,
Giovanni 

  • Hi Giovanni,

    I wrote that post you mentioned, in the thread about : http://192.168.1.168/ini.htm
    I can not comment about documentation, and not about exact  DMVA camera model, since i don't have  it.
    But all IPNC models have pretty similar framework.
    I discovered those things  by looking  from the backward, that is from web interface code,
    and trace it through boa-web server, then system_server, and then av_server.
    This is how messages travels.
    You can find all those parameters in \ipnc_app\network\boa-0.94.13\src\web_translate.c  (read, get parameters) in a structure  HTML_ARGUMENT HttpArgument []
    and in  appro_api.c (set parameters)  in a structure  HTTP_OPTION HttpOptionTable
    e.g.

    {...
    "brightness" , set_brightness , AUTHORITY_OPERATOR, FALSE,  TRUE, NULL },
    ...
    }

    void set_brightness(request *req, COMMAND_ARGUMENT *argm)
    {...
    ControlSystemData(SFIELD_SET_BRIGHTNESS, (void *)&value, sizeof(value));
    ...} //sends message to system_server, which resends message to av_server which in fact sets brightness

    You can read one single parameter  e.g brightness : http://192.168.1.168/vb.htm?brightness , and set it with  http://192.168.1.168/vb.htm?brightness=200 in a web browser,
    or make your own web interface same way with XMLHttpRequest (Msxml2.XMLHTTP -  for IE) objects.

    Hope it helps a little.


    Regards.



     



     

     

  • Hi Marko,

    Thanks for your inputs on the http request parsing.

    Hi Giovanni,

    The DMVAx IPNC code has 2 parts:system server and AV server.

    System server handles web communication between http server(boa) and AV server,alarm events,event recording and many more system related tasks.

    AV server handles video capture,image processing algorithms,encoding and streaming.

    DMVAL algorithms are running in seperate thread in AV server process context and work on video frames resized to QVGA frames(refer sec 2.2.2 of DMVAx_IPNC_AVServer_DesignGuide.pdf).

    You can refer to /av_server/src/video/videoDmvaAppThr.c file for the actual implementation.

    Pl. note that the source code of the DMVAL algorithms is not shared along with the release.

    regards,

    Anand

  • Hi Anand,

     I need a small clarification wrt Streaming metedata.

     I want to know about the DMVA Algorithm that is applied on a video frame to generate the meta data. Please let me know from where i can get the doc for this.

      And one more thing, Can i test this with normal players (i.e VLC / MPLAYER)? 

    Thanks,

    Jayashree Panda

  • Jayashree Panda said:

    Hi Anand,

     I need a small clarification wrt Streaming metedata.

     I want to know about the DMVA Algorithm that is applied on a video frame to generate the meta data. Please let me know from where i can get the doc for this.

      And one more thing, Can i test this with normal players (i.e VLC / MPLAYER)? 

    Thanks,

    Jayashree Panda

    Hello Jayashree'

    Did you get answers from TII ? I also have the DMVA camera, and I am trying to be able to use the metadata (iin the context of a telemedecine project). The documentaiton is very weak, and there is only one pseudo-code example. The resul:, it is difficult to use this product even for basic usage.

     

    I am trying to get more support, but if you get asnwers, we could 'pool' them.

     

    Best regards,

     

    Louis Belanger