Skip to content

Commit ef6b365

Browse files
committed
rtsp demo app
1 parent d711fec commit ef6b365

File tree

4 files changed

+515
-10
lines changed

4 files changed

+515
-10
lines changed

README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,9 @@ $ sudo reboot
252252

253253

254254
## Release Notes
255+
### Release 1.1.3 (February 2018)
256+
* Added RTSP Demo Sample
257+
** AWS_ACCESS_KEY_ID=AKIASAMPLEKEYID AWS_SECRET_ACCESS_KEY=MYSECRETACCESSKEY ./kinesis_video_gstreamer_sample_rtsp_app rtspurl stream-name
255258
### Release 1.1.2 (January 2018)
256259
* Allowed devices to output h.264 streams directly
257260
* The user can also supply a streaming resolution through command line arguments.
@@ -275,3 +278,7 @@ $ sudo reboot
275278
* Missing build scripts for Windows-based systems.
276279
* Missing cross-compile option.
277280
* Sample application/unit tests can't handle buffer pressures properly - simple print in debug log.
281+
282+
Documentation:
283+
https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/producer-sdk-cpp.html
284+

kinesis-video-native-build/CMakeLists.txt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,10 @@ set(PRODUCER_SOURCE_FILES_JNI
225225
set(GST_DEMO_APP
226226
${KINESIS_VIDEO_GST_DEMO_SRC}/kinesis_video_gstreamer_sample_app.cpp)
227227

228+
229+
set(RTSP_DEMO_APP
230+
${KINESIS_VIDEO_GST_DEMO_SRC}/kinesis_video_gstreamer_sample_rtsp_app.cpp)
231+
228232
include_directories(${KINESIS_VIDEO_PIC_SRC})
229233
include_directories(${KINESIS_VIDEO_PIC_SRC}/src/client/include)
230234
include_directories(${KINESIS_VIDEO_PIC_SRC}/src/client/include/com/amazonaws/kinesis/video/client)
@@ -264,8 +268,10 @@ add_library(producer SHARED ${PRODUCER_SOURCE_FILES})
264268
add_library(KinesisVideoProducerJNI SHARED ${PRODUCER_SOURCE_FILES_JNI})
265269
add_executable(start ${TST_PRODUCER_SOURCE_FILES})
266270
add_executable(kinesis_video_gstreamer_sample_app ${GST_DEMO_APP})
271+
add_executable(kinesis_video_gstreamer_sample_rtsp_app ${RTSP_DEMO_APP})
267272

268273
target_include_directories(kinesis_video_gstreamer_sample_app PRIVATE ${GST_INCLUDE_DIRS})
274+
target_include_directories(kinesis_video_gstreamer_sample_rtsp_app PRIVATE ${GST_INCLUDE_DIRS})
269275

270276
target_link_libraries(KinesisVideoProducerJNI producer)
271277

@@ -289,3 +295,13 @@ target_link_libraries(kinesis_video_gstreamer_sample_app
289295
gstapp-1.0
290296
gobject-2.0
291297
glib-2.0)
298+
299+
target_link_libraries(kinesis_video_gstreamer_sample_rtsp_app
300+
producer
301+
pthread
302+
dl
303+
gstreamer-1.0
304+
gstapp-1.0
305+
gobject-2.0
306+
glib-2.0)
307+

kinesis-video-native-build/install-script

100755100644
Lines changed: 57 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
#!/bin/bash
22
#
3-
# Installs the open source dependencies
3+
# Installs the open source dependencies
44
# for Kinesis Video Sdk demo application
5-
# and builds the demo application
5+
# and builds the demo application
66
#
77

88
set -e
99

1010
# Confirm the tools
11-
echo " Starting to build the Kinesis Video Stream Demo Application
11+
echo " Starting to build the Kinesis Video Stream Demo Application
1212
- will be using the following open source libraries and tools
1313
openssl
1414
curl
@@ -25,7 +25,7 @@ echo " Starting to build the Kinesis Video Stream Demo Application
2525
autoconf
2626
automake
2727
m4
28-
also the gstreamer , gstreamer plugins and x264.
28+
also the gstreamer, gstreamer plugins, yasm, gst-libav and x264.
2929
"
3030

3131
echo "
@@ -122,7 +122,7 @@ if [ ! -f $DOWNLOADS/local/lib/liblog4cplus.dylib ]; then
122122
cd $DOWNLOADS
123123
tar -xvf log4cplus-1.2.0.tar.xz
124124
cd $DOWNLOADS/log4cplus-1.2.0
125-
./configure --prefix=$DOWNLOADS/local/
125+
./configure --prefix=$DOWNLOADS/local/
126126
make
127127
make install
128128
fi
@@ -144,7 +144,7 @@ if [ ! -f $DOWNLOADS/local/lib/libgettextlib.dylib ]; then
144144
make install
145145
fi
146146
fi
147-
147+
148148

149149
echo "Checking libffi at $DOWNLOADS/local/lib/libffi.a"
150150
if [ ! -f $DOWNLOADS/local/lib/libffi.dylib ]; then
@@ -244,7 +244,7 @@ fi
244244
fi
245245
cd $DOWNLOADS
246246
tar -xvf flex-2.6.4.tar.xz
247-
cd $DOWNLOADS/flex-2.6.4
247+
cd $DOWNLOADS/flex-2.6.4
248248
./configure --prefix=$DOWNLOADS/local CFLAGS="-I$DOWNLOADS/local/include" LDFLAGS="-L$DOWNLOADS/local/lib"
249249
make
250250
make install
@@ -281,7 +281,7 @@ fi
281281
make
282282
make install
283283
fi
284-
fi
284+
fi
285285
fi
286286

287287
# --------- glib ------------------------------------------
@@ -336,7 +336,7 @@ fi
336336
fi
337337
cd $DOWNLOADS
338338
tar -xvf m4-1.4.10.tar.xz
339-
cd $DOWNLOADS/m4-1.4.10
339+
cd $DOWNLOADS/m4-1.4.10
340340
./configure --prefix=$DOWNLOADS/local CFLAGS="-I$DOWNLOADS/local/include" LDFLAGS="-L$DOWNLOADS/local/lib"
341341
make
342342
make install
@@ -516,7 +516,54 @@ if [ ! -f $DOWNLOADS/local/lib/gstreamer-1.0/libgstx264.dylib ]; then
516516
make install
517517
fi
518518
fi
519+
520+
echo "Checking for yasm"
521+
if [ ! -f $DOWNLOADS/local/bin/yasm ]; then
522+
echo "yasm-1.3.0.tar.gz not found. Installing"
523+
if [ ! -f $DOWNLOADS/yasm-1.3.0.tar.gz ]; then
524+
cd $DOWNLOADS
525+
curl -L "https://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz" -o "yasm-1.3.0.tar.gz"
526+
cd $DOWNLOADS
527+
fi
528+
cd $DOWNLOADS
529+
tar -xvf yasm-1.3.0.tar.gz
530+
cd $DOWNLOADS/yasm-1.3.0
531+
532+
for d in ./*/ ; do
533+
if [ -f "$d/configure.ac" ]; then
534+
(cd "$d" && ./"${DOWNLOADS}"/local/bin/autoreconf -f -i);
535+
fi
536+
done
537+
./configure --prefix=$DOWNLOADS/local CFLAGS="-I$DOWNLOADS/local/include" LDFLAGS="-L$DOWNLOADS/local/lib"
538+
make
539+
make install
540+
fi
519541

542+
echo "Checking gst-libav in $DOWNLOADS/local/lib/"
543+
if [ ! -f $DOWNLOADS/local/lib/gstreamer-1.0/libgstlibav.so]; then
544+
if [ ! -f $DOWNLOADS/local/lib/gstreamer-1.0/libgstlibav.dylib]; then
545+
546+
echo "gst-libav not found. Installing"
547+
if [ ! -f $DOWNLOADS/gst-libav-1.12.4.tar.xz]; then
548+
cd $DOWNLOADS
549+
curl -L "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.12.4.tar.xz" -o "gst-libav-1.12.4.tar.xz"
550+
fi
551+
cd $DOWNLOADS
552+
tar -xvf gst-libav-1.12.4.tar.xz
553+
cd $DOWNLOADS/gst-libav-1.12.4
554+
555+
for d in ./*/ ; do
556+
if [ -f "$d/configure.ac" ]; then
557+
(cd "$d" && ./"${DOWNLOADS}"/local/bin/autoreconf -f -i);
558+
fi
559+
done
560+
./configure --prefix=$DOWNLOADS/local CFLAGS="-I$DOWNLOADS/local/include" LDFLAGS="-L$DOWNLOADS/local/lib"
561+
make
562+
make install
563+
fi
564+
fi
565+
566+
520567
sys_info=`uname -m`
521568
shopt -s nocasematch
522569
if [[ $sys_info =~ ^arm ]]; then
@@ -546,6 +593,7 @@ if [[ $sys_info =~ ^arm ]]; then
546593
fi
547594
fi
548595

596+
549597
export PKG_CONFIG_LIBDIR="$DOWNLOADS/local/lib/pkgconfig"
550598
export CMAKE_PREFIX_PATH="$DOWNLOADS/local"
551599

@@ -558,4 +606,3 @@ echo "**********************************************************"
558606
echo Success!!!
559607
echo "**********************************************************"
560608

561-

0 commit comments

Comments
 (0)