Video streaming AWS
-
@Kasum-Hussain There are a few things you can do to debug what is happening. In your launch line you have a src and a sink that are on the Internet. You can try each one separately and see if you can spot any problems. For example, instead of using the rtspsrc you can just use videotestsrc to generate a local stream to be sent to the kvssink. If that works, try the rtspsrc with a fakesink, or a filesink. Look to see if that is working properly. When you are convinced that both sides are working properly, then try to connect them directly. You can compare the messages coming out when on the Voxl to a successful case on the RPI and see if you spot any differences. You can also enable more verbose messaging in Gstreamer (https://gstreamer.freedesktop.org/documentation/tutorials/basic/debugging-tools.html?gi-language=c)
-
@Chad-Sweet This is the Docker file were using with command sudo docker run -it <imageID>
FROM resin/rpi-raspbian:stretch
RUN apt-get update &&
apt-get install -y
cmake
curl
g++
gcc
git
gstreamer1.0-plugins-base-apps
gstreamer1.0-plugins-bad
gstreamer1.0-plugins-good
gstreamer1.0-plugins-ugly
gstreamer1.0-tools
gstreamer1.0-omx
libssl-dev
libcurl4-openssl-dev
liblog4cplus-dev
libgstreamer1.0-dev
libgstreamer-plugins-base1.0-dev
m4
make
openssh-server
pkg-config
vim#RUN curl -OL https://github.com/raspberrypi/firmware/archive/1.20180417.tar.gz
#RUN tar xvf 1.20180417.tar.gz
#RUN cp -r /opt/firmware-1.20180417/opt/vc ./
#RUN rm -rf firmware-1.20180417 1.20180417.tar.gz###################################################
create symlinks for libraries used by omxh264enc
###################################################
RUN ln -s /opt/vc/lib/libopenmaxil.so /usr/lib/libopenmaxil.so &&
ln -s /opt/vc/lib/libbcm_host.so /usr/lib/libbcm_host.so &&
ln -s /opt/vc/lib/libvcos.so /usr/lib/libvcos.so &&
ln -s /opt/vc/lib/libvchiq_arm.so /usr/lib/libvchiq_arm.so &&
ln -s /opt/vc/lib/libbrcmGLESv2.so /usr/lib/libbrcmGLESv2.so &&
ln -s /opt/vc/lib/libbrcmEGL.so /usr/lib/libbrcmEGL.so &&
ln -s /opt/vc/lib/libGLESv2.so /usr/lib/libGLESv2.so &&
ln -s /opt/vc/lib/libEGL.so /usr/lib/libEGL.soWORKDIR /opt/
RUN git clone https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp.git
WORKDIR /opt/amazon-kinesis-video-streams-producer-sdk-cpp/build/
RUN cmake .. -DBUILD_GSTREAMER_PLUGIN=ON -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DBUILD_OPENSSL_PLATFORM=linux-armv4 &&
makeENV gstLD_LIBRARY_PATH=/opt/amazon-kinesis-video-streams-producer-sdk-cpp/open-source/local/lib
ENV GST_PLUGIN_PATH=/opt/amazon-kinesis-video-streams-producer-sdk-cpp/build/:$GST_PLUGIN_PATH -
After some debugging today - it appears to be a UNALIGNED MEMORY ACCESS of STM32 error - weve seen this a few times now and are pretty sure it is something to do with this - any pointers from here would be great thanks
-
What is your
docker run
command? Want to make sure you're sharing your networking between docker and base OS -
@Chad-Sweet docker run -it <image>
This gets us to the bash of the dockerwe know its sharing the network between docker and base OS (we had this thought) we used fakesink to confirm this. Were using a stream from the internet and streaming back to the internet - tested on a raspberry pi and it worked.
-
UPDATE
We have managed to fix it - we needed to run -DALIGNED_MEMORY_MODEL=TRUE with the cmake .. command.
So now the streaming to AWS part of it is okay and fully working.
Now as we are trying to connect a boson camera to the VOXL - we are hitting an error.
we run /boson-test
voxl-streamer -c video-test is working and we can see it with the RTSP url in VLC. but when we try voxl-streamer -c uvc-video and in the /etc/modalai/voxl-streamer.conf we change uvc video "device": "/dev/video2" - we get no error when streaming but when we try to watch the stream on VLC we get the logs -
live555 error: Failed to connect with rtsp://192.168.7.155:8900/live
satip error: Failed to setup RTSP sessionIt also doesnt output an error if we use a video0 where no device is connected.
Do we need to disable live555 or are we doing it the wrong way ? or is the boson-test file were using intruding with it or is there a way of setting boson cameras up in particular ?
the camera we are using is FLIR BOSON 640 x 512 14mm
-
Can you verify that the Boson is on /dev/video2? For example, do you see /dev/video2 only after plugging in the Boson and running boson-test?
-
@Kasum-Hussain You can enable debug messages in voxl-streamer with the
-d
and-v
options. Also, please note that voxl-streamer will not work in a Docker. -
@Eric-Katzfey Hi Eric,
Yes i can confirm we do see /dev/video2
do you have any documentation or instructions on setting up a FLIR boson camera with VOXL ? the boson-test was a small script another developer just gave me, so im not 100% sure how to use it.
thanks again for the help.
-
@Kasum-Hussain actually sorry my mistake i thought i saw video2 but no if i go into dev folder there is no video2 only video0 video1 video32 video33