diff --git a/README.md b/README.md index 2da1c5bb..f7038434 100644 --- a/README.md +++ b/README.md @@ -36,19 +36,19 @@ Please install the following additional build tools before proceeding with `./in After you've downloaded the code from GitHub, you can build it on Mac OS or Ubuntu using `./install-script` (which is inside the `kinesis-video-native-build` directory). **Important** Change *current working directory* to the `kinesis-video-native-build` directory first. Then run the `./install-script` from that directory. - + This will produce the core library, the JNI library, unit tests executable and the sample GStreamer application. The script will download and build the dependent open source components in the 'downloads' directory (within `kinesis-video-native-build` directory)and link against it. - + #### Build the binaries using system versions -The bulk of the install script is building the open source dependencies. The project is based on **CMake**. So the open source components building can be skipped if the system versions can be used for linking. +The bulk of the install script is building the open source dependencies. The project is based on **CMake**. So the open source components building can be skipped if the system versions can be used for linking. -Running +Running ``` -$ cmake . +$ cmake . $ make ``` -from the `kinesis-video-native-build` directory will build and link the SDK. +from the `kinesis-video-native-build` directory will build and link the SDK. The `./min-install-script` inside the `kinesis-video-native-build` captures these steps for installing the Kinesis Video Streams Producer SDK with the system versions for linking. #### Build the binaries using the dependent libraries from source @@ -98,14 +98,14 @@ Many platforms come with a cert file with a lot of the well-known public certs i ## Install Steps for Ubuntu 17.x using apt-get The following are the steps to install the build-time prerequisites for Ubuntu 17.x -Install **git**: +Install **git**: -``` +``` $ sudo apt-get install git $ git --version git version 2.14.1 ``` -Install **cmake**: +Install **cmake**: ``` $ sudo apt-get install cmake $ cmake --version @@ -125,7 +125,7 @@ Copyright (C) 2014 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ``` -Install **automake**: +Install **automake**: ``` $ sudo apt-get install automake $ automake --version @@ -138,7 +138,7 @@ There is NO WARRANTY, to the extent permitted by law. Written by Tom Tromey and Alexandre Duret-Lutz . ``` -Install **g++**: +Install **g++**: ``` $ sudo apt-get install g++ $ g++ --version @@ -147,7 +147,7 @@ Copyright (C) 2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ``` -Install **curl**: +Install **curl**: ``` $ sudo apt-get install curl $ curl --version @@ -156,13 +156,13 @@ Release-Date: 2017-08-14 Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP UnixSockets HTTPS-proxy PSL ``` -Install **pkg-config**: +Install **pkg-config**: ``` $ sudo apt-get install pkg-config $ pkg-config --version 0.29.1 ``` -Install **flex**: +Install **flex**: ``` $ sudo apt-get install flex $ flex --version @@ -179,7 +179,7 @@ Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ``` -Install **Open JDK**: +Install **Open JDK**: ``` $ sudo apt-get install openjdk-8-jdk $ java -showversion @@ -187,11 +187,11 @@ openjdk version "1.8.0_151" OpenJDK Runtime Environment (build 1.8.0_151-8u151-b12-0ubuntu0.17.10.2-b12) OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode) ``` -Set **JAVA_HOME** environment variable: +Set **JAVA_HOME** environment variable: ``` $ export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/ ``` -Run the build script: (within `kinesis-video-native-build` folder) +Run the build script: (within `kinesis-video-native-build` folder) ``` ./install-script ``` @@ -217,7 +217,7 @@ The GStreamer demo app will be built in `kinesis_video_gstreamer_sample_app` in Usage: AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= ./kinesis_video_gstreamer_sample_app -w -h -f -b ``` * **A.** If resolution is provided then the sample will try to check if the camera supports that resolution. If it does detect that the camera can supprt the resolution supplied in command line, then streaming starts; else, it will fail with an error msg `Resolution not supported` - + * **B.** If no resolution is specified, the demo will try to use these three resolutions **1920x1080, 1280x720 and 640x480** in that order (highest resolution first) and will **start streaming** once the camera supported resolution is detected. #### GStreamer RTSP demo application @@ -244,7 +244,7 @@ Define `HEAP_DEBUG` and `LOG_STREAMING` C-defines by uncommenting the appropriat #### Additional Examples -For additional examples on using Kinesis Video Streams Java SDK and Kinesis Video Streams Parsing Library refer: +For additional examples on using Kinesis Video Streams Java SDK and Kinesis Video Streams Parsing Library refer: ##### [Kinesis Video Streams Producer Java SDK](https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-java/blob/master/README.md) ##### [Kinesis Video Streams Parser Library](https://github.com/aws/amazon-kinesis-video-streams-parser-library/blob/master/README.md) @@ -257,15 +257,15 @@ For additional examples on using Kinesis Video Streams Java SDK and Kinesis Vid ### Troubleshooting ##### Ubuntu builds link issues -Ubuntu bulds link against the system versions of the open source component libraries or missing .so files (./start in the kinesis-video-native-build directory shows linkage against system versions of the open source libraries).We are working on providing fix but the immediate steps to remedy is to run +Ubuntu bulds link against the system versions of the open source component libraries or missing .so files (./start in the kinesis-video-native-build directory shows linkage against system versions of the open source libraries).We are working on providing fix but the immediate steps to remedy is to run ``` rm -rf ./kinesis-video-native-build/CMakeCache.txt ./kinesis-video-native-build/CMakeFiles -``` - and run +``` + and run ``` ./install-script -``` +``` to rebuild and re-link the project only. ##### Library not found error when running the demo application @@ -291,7 +291,7 @@ $ls /dev/video* {not found} ``` ``` -$vcgencmd get_camera +$vcgencmd get_camera ``` Example output: ``` @@ -305,7 +305,7 @@ if the driver does not detect the camera then $sudo modprobe bcm2835-v4l2 ``` ``` -$ls /dev/video* +$ls /dev/video* {lists the device} ``` @@ -320,7 +320,7 @@ $ sudo reboot * Raspberry PI GStreamer assertion on gst_value_set_fraction_range_full: assertion 'gst_util_fraction_compare (numerator_start, denominator_start, numerator_end, denominator_end) < 0' failed. The uv4l service running in the background. Kill the service and restart the sample app. -##### Raspberry PI seg fauls after some time running on `libx264.so`. +##### Raspberry PI seg fauls after some time running on `libx264.so`. Rebuilding the `libx264.so` library and **re-linking the demo application** fixes the issue. ##### Curl SSL issue - "unable to get local issuer certificate" @@ -341,13 +341,15 @@ make install ## Release Notes +#### Release 1.4.1 (8th May 2018) +* Update log4cplus download link in install-script #### Release 1.4.0 (25th April 2018) * Fix for crash caused by latest Mac tool chain issue * Fix for callbacks returning incorrect custom data in gstreamer sample app * Support for custom logger * Fix for multiple callbacks when triggering connection staleness #### Release 1.3.1 (5th April 2018) -* Fixed video source negotiation error caused by camera with fractional fps +* Fixed video source negotiation error caused by camera with fractional fps * Docker suport for RTSP streaming #### Release 1.3.0 (15th March 2018) * Fixed producer intermittent termination issue for some edge cases involving re-streaming on error. diff --git a/kinesis-video-native-build/install-script b/kinesis-video-native-build/install-script index 6863f1c5..b92fbba6 100644 --- a/kinesis-video-native-build/install-script +++ b/kinesis-video-native-build/install-script @@ -125,7 +125,7 @@ if [ ! -f $DOWNLOADS/local/lib/liblog4cplus.dylib ]; then echo "log4cplus lib not found. Installing" if [ ! -f $DOWNLOADS/log4cplus-1.2.0.tar.xz ]; then cd $DOWNLOADS - curl -L "https://versaweb.dl.sourceforge.net/project/log4cplus/log4cplus-stable/1.2.0/log4cplus-1.2.0.tar.xz" -o "log4cplus-1.2.0.tar.xz" + curl -L "https://sourceforge.net/projects/log4cplus/files/log4cplus-stable/1.2.0/log4cplus-1.2.0.tar.xz" -o "log4cplus-1.2.0.tar.xz" fi cd $DOWNLOADS tar -xvf log4cplus-1.2.0.tar.xz diff --git a/kinesis-video-native-build/min-install-script b/kinesis-video-native-build/min-install-script index 1b91bdbc..c25bb4cb 100644 --- a/kinesis-video-native-build/min-install-script +++ b/kinesis-video-native-build/min-install-script @@ -38,7 +38,7 @@ if [ ! -f $DOWNLOADS/local/lib/liblog4cplus.dylib ]; then echo "log4cplus lib not found. Installing" if [ ! -f $DOWNLOADS/log4cplus-1.2.0.tar.xz ]; then cd $DOWNLOADS - curl -L "https://versaweb.dl.sourceforge.net/project/log4cplus/log4cplus-stable/1.2.0/log4cplus-1.2.0.tar.xz" -o "log4cplus-1.2.0.tar.xz" + curl -L "https://sourceforge.net/projects/log4cplus/files/log4cplus-stable/1.2.0/log4cplus-1.2.0.tar.xz" -o "log4cplus-1.2.0.tar.xz" fi cd $DOWNLOADS tar -xvf log4cplus-1.2.0.tar.xz