Project Home
Project Home
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - Onvif support for QNX 6.5?: (8 Items)
   
Onvif support for QNX 6.5?  
I see there's some support for the Onvif protocol in the Sensor Framework of QNX 7 (https://www.qnx.com/developers/docs/
7.1/#com.qnx.doc.adas.system_services/topic/sensor_example_onvif.html)

A client of ours needs to get a screenshot from a Profile S camera from a computer running QNX 6.5.0SP1. Anyone knows if
 this is achievable, in one way or another?

Thank you
Re: Onvif support for QNX 6.5?  
Hi,  sometime ago I've have a similar request and  I've found some doc on 
github https://github.com/onvif/specs/
Initially I started to write from scatch an applicazion just to controls only PTZ 
and I've find a C/C++ library for Windows/Linux that may help in some way here
https://sourceforge.net/projects/libonvif/.
Unfortunatly project has been aborted, so I've not completed the work :-)
I'm sorry I can't be of much more help
M.


Re: Onvif support for QNX 6.5?  
Thank you Mario, that's valuable. I'll definitely have a look.
Re: Onvif support for QNX 6.5?  
Oddly enough I was just poking an ONVIF recorder earlier this week ...

ONVIF cameras use RTSP for sending the actual image data.   If you can pin down the camera model, you may not need to 
bother with making the ONVIF service calls; all you need is the RTSP URL to pass to your RTSP client (eg. ffmpeg).

Stack overflow has a good breakdown of how to use command-line ffmpeg to capture still frames from an RTSP stream to an 
image file:  https://stackoverflow.com/questions/25360470/ffmpeg-capture-current-frame-and-overwrite-the-image-output-
file

 If you need to support *any* ONVIF camera, you will have to implement the RTSP stream URL lookup.   If you have to *
detect* the ONVIF camera, it gets a bit tougher -- ONVIF cameras use the WS-Discovery protocol, for which the open 
source implementations all seem to be built on fairly deep dependency stacks that would have to be ported.  I had 
success with python-ws-discovery as we've already built a Python 3 port for our QNX 6 platform.

Hope this is of some help,
-Will
Re: Onvif support for QNX 6.5?  
Thank you Will, I'll have a look.

Do you know of an ffmpeg implementation for QNX 6.5?

Thank you,
Martin
Re: Onvif support for QNX 6.5?  
Hi Martin,

ffmpeg is an open source project; you'll probably need to compile it for your target platform.   For our QNX 6.6-based 
system we found there were no additional patches required to cross compile for QNX and get it working for our 
application - it built "out of the box" so to speak with the right configure options.

That said: if you need https support, you may also need to port gnutls, which did require a little more porting effort.

Here is a quick copy-and-paste of the configure and make lines from our Linux-based cross build system:

CC=qcc
CXX=QCC
CFLAGS="$CFLAGS -D__EXT"
CARCH="ntox86"
export AR="${CARCH}-ar"
export AS="${CARCH}-as"
export ELFEDIT="${CARCH}-elfedit"
export LD="${CARCH}-ld"
export NM="${CARCH}-nm"
export OBJDUMP="${CARCH}-objdump"
export OBJCOPY="${CARCH}-objcopy"
export RANLIB="${CARCH}-ranlib"
export SIZE="${CARCH}-size"
export STRINGS="${CARCH}-strings"
export STRIP="${CARCH}-strip"

  ./configure \
    --prefix='/usr' \
    --disable-debug \
    --disable-static \
    --disable-stripping \
    --enable-gmp \
    --enable-gnutls \
    --enable-gpl \
    --enable-shared \
    --enable-version3 \
    --enable-cross-compile \
    --cc=${CC} \
    --cxx=${CXX} \
    --ld=qcc \
    --ranlib=${RANLIB} \
    --strip=${STRIP} \
    --nm=${NM} \
    --ar=${AR} \
    --as=${AS} \
    --target-os=qnx \

make -j10


----

Hope this helps some,

-Will
Re: Onvif support for QNX 6.5?  
Er, to clarify -- that's the configure and make for ffmpeg.

-Will
Re: Onvif support for QNX 6.5?  
Many thanks, I'll see how far we can get on 6.5.
Martin