amazon-kinesis-video-streams-webrtc-sdk-c | Amazon Kinesis Video Streams | Video Utils library

 by   awslabs C Version: v1.7.3 License: Apache-2.0

kandi X-RAY | amazon-kinesis-video-streams-webrtc-sdk-c Summary

kandi X-RAY | amazon-kinesis-video-streams-webrtc-sdk-c Summary

amazon-kinesis-video-streams-webrtc-sdk-c is a C library typically used in Video, Video Utils applications. amazon-kinesis-video-streams-webrtc-sdk-c has no bugs, it has no vulnerabilities, it has a Permissive License and it has medium support. You can download it from GitHub.

Amazon Kinesis Video Streams Webrtc SDK is for developers to install and customize realtime communication between devices and enable secure streaming of video, audio to Kinesis Video Streams.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              amazon-kinesis-video-streams-webrtc-sdk-c has a medium active ecosystem.
              It has 765 star(s) with 257 fork(s). There are 53 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 19 open issues and 971 have been closed. On average issues are closed in 36 days. There are 12 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of amazon-kinesis-video-streams-webrtc-sdk-c is v1.7.3

            kandi-Quality Quality

              amazon-kinesis-video-streams-webrtc-sdk-c has no bugs reported.

            kandi-Security Security

              amazon-kinesis-video-streams-webrtc-sdk-c has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              amazon-kinesis-video-streams-webrtc-sdk-c is licensed under the Apache-2.0 License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              amazon-kinesis-video-streams-webrtc-sdk-c releases are available to install and integrate.
              Installation instructions, examples and code snippets are available.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of amazon-kinesis-video-streams-webrtc-sdk-c
            Get all kandi verified functions for this library.

            amazon-kinesis-video-streams-webrtc-sdk-c Key Features

            No Key Features are available at this moment for amazon-kinesis-video-streams-webrtc-sdk-c.

            amazon-kinesis-video-streams-webrtc-sdk-c Examples and Code Snippets

            No Code Snippets are available at this moment for amazon-kinesis-video-streams-webrtc-sdk-c.

            Community Discussions

            QUESTION

            cmake find_library() not finding library specified by PATHS
            Asked 2021-Apr-22 at 23:12

            I have a find_library() statement that matches below (this is based on the amazon kinesis project):

            find_library(SRTP_LIBRARIES NAMES srtp2 REQUIRED PATHS ${OPEN_SRC_INSTALL_LIB_PREFIX})

            The OPEN_SRC_INSTALL_LIB_PREFIX correctly points to the location where this library is located. I can observe this directly. However, this find_library() call fails and I am confused as to why it would do so.

            I thought that maybe cmake is searching through other paths first and ignoring my specified path, so I also tried it with the NO_DEFAULT_PATH flag, as that should limit the search to only be in the paths specified:

            find_library(SRTP_LIBRARIES NAMES srtp2 REQUIRED PATHS ${OPEN_SRC_INSTALL_LIB_PREFIX} NO_DEFAULT_PATH)

            ... still no luck.

            Any ideas why this would not work? I've verified the OPEN_SRC_INSTALL_LIB_PREFIX is the valid directory of the library via message() prints.

            Note that this is cross compiling, although I don't see why that would change the behavior of find_library() unless I'm missing something from the documentation

            ...

            ANSWER

            Answered 2021-Apr-22 at 23:12

            First want to note I'm on cmake 17.5.

            Ok, so the documentation is a bit confusing, but it seems that the NO_DEFAULT_PATH would only use the paths specified by the PATHS argument and none of the other cache variables, but that doesn't seem to be the case if CMAKE_SYSROOT is set.

            Using the NO_CMAKE_FIND_ROOT_PATH is what actually causes find_library() to ignore the cached paths.

            Source https://stackoverflow.com/questions/67130750

            QUESTION

            library link error when cross-compiling aws webrtc library
            Asked 2021-Jan-20 at 08:42

            I'm trying to cross compile aws webrtc library for arm but I encountered an error while linking C excutable test_srtp. I mixed the instruction of Readme.md and some stackoverflow post for the command. But I am still stuck here for 1 week and I can not find the case on google. How can I fix it?

            What command I input

            ...

            ANSWER

            Answered 2021-Jan-20 at 08:42

            I just solved it by using mbedtls instead of OpenSSL. Try it with mbedtls if there is someone who have the same issue.

            Source https://stackoverflow.com/questions/65729924

            QUESTION

            failed cross compiling aws webrtc library
            Asked 2021-Jan-11 at 07:53

            I'm trying to cross compile aws webrtc library(https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c) for arm. So I followed the instruction on Readme.md but I failed.

            What I did

            ...

            ANSWER

            Answered 2021-Jan-07 at 10:25

            Something is wrong with your ARM toolchain or how the build system uses it. Where did you get it from and how did you install it?

            The header sys/capability.h is included with the ARM toolchain. For example, when I install the Debian package gcc-arm-linux-gnueabihf then this header file gets copied to /usr/arm-linux-gnueabihf/include/linux/capability.h. The toolchain is supposed to find it there on its own.

            The command arm-linux-gnueabihf-gcc -v will show you where the toolchain is configured to look for its own header files. E.g. in output below it's --includedir=/usr/arm-linux-gnueabihf/include that matters, the header should be found relative to this directory. I apologize for the super long line.

            Source https://stackoverflow.com/questions/65608339

            QUESTION

            C Struct in Swift
            Asked 2020-Sep-28 at 16:43

            I'm attempting to use amazon-kinesis-video-streams-webrtc-sdk-c in a Swift project however I'm unsure of how to create a SignalingClientInfo struct. Specifically I'm unsure of how to properly construct the clientId:

            ...

            ANSWER

            Answered 2020-Sep-28 at 16:43

            Kind of annoying, but fixed-sized arrays in C like clientId are imported into Swift as tuples.

            There's on-going discussions on adding proper fixed-size arrays to Swift, but in the mean time, there are implementation-dependent tricks you can use to construct large tuples from arrays.

            See https://oleb.net/blog/2017/12/swift-imports-fixed-size-c-arrays-as-tuples/

            Edit: it looks like the layout of homogeneous tuples is guaranteed. So this is safe, just annoying.

            Source https://stackoverflow.com/questions/63603473

            QUESTION

            WebRTC signalling succeeds but no video is coming through
            Asked 2020-Aug-31 at 12:40

            I am trying to setup a video stream from a robot using WebRTC.

            As far as I can tell, the signaling establishes a connection successfully, however no video is being streamed.

            I use AWS Kinesis Video as the signaling server, and I use the AWS Kinesis video streams WebRTC sdk for the master node.

            For the viewer, I use the Kinesis WebRTC Test Page, with the only change that the viewer does not request any audio.

            I believe that the signaling works. At least the viewer is both sending and receiving ICE candidates and there are no errors.

            The master node also starts to send data as expected, but the video is never displayed on the viewer.

            My question is how can I debug where the problem is?

            I have looked at Chrome's webrtc internals, and it generated these graphs. This shows me that packages are being received by chrome, but no frames are being decoded. Is that correct?

            On the robot, I am running RoS as the middlelayer, and I am trying to stream the usb webcam.
            To do this, I am running the h264_video_encoder node. When the nodes starts up, it tells me that it has these settings:

            264 - core 152 r2854 e9a5903 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=2 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=3 lookahead_threads=3 sliced_threads=1 slices=3 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=1 keyint=30 keyint_min=16 scenecut=40 intra_refresh=0 rc=abr mbtree=0 bitrate=2048 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00

            I suspect the most likely problem is with the encoding, but I don't know how to proceed with debugging this issue.

            ...

            ANSWER

            Answered 2020-Aug-31 at 12:40

            The problem that I faced was that the h264 stream I generated was missing the SPS and PPS NALs, so the viewer did not know how to decode the stream.

            The underlying problem was that I was converting from KinesisVideoFrame.msg which contained my encoded stream, but I was unaware that the frame_data did not contain the SPS and PPS packets. Those packets are stored in codec_private_data, so I had to prepend codec_private_data to the frame_data to get the final frame data to be send over the stream

            Source https://stackoverflow.com/questions/63617797

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install amazon-kinesis-video-streams-webrtc-sdk-c

            To download run the following command:. You will also need to install pkg-config and CMake and a build enviroment.
            To build the library and the provided samples run make in the build directory you executed CMake.
            First set the appropriate environment variables so you can connect to KVS. If you want to use IoT certificate instead, check Setup IoT.
            Optionally, set AWS_SESSION_TOKEN if integrating with temporary token
            Region is optional, if not being set, then us-west-2 will be used as default region.
            Set up the desired log level. The log levels and corresponding values currently available are:.
            LOG_LEVEL_VERBOSE ---- 1
            LOG_LEVEL_DEBUG ---- 2
            LOG_LEVEL_INFO ---- 3
            LOG_LEVEL_WARN ---- 4
            LOG_LEVEL_ERROR ---- 5
            LOG_LEVEL_FATAL ---- 6
            LOG_LEVEL_SILENT ---- 7
            Optionally, set path to SSL CA certificate with variable (../certs/cert.pem is default one and points to file in this repository):
            Note: "kinesisvideo:CreateSignalingChannel" can be removed if you are running with existing KVS signaling channels. Viewer sample requires "kinesisvideo:ConnectAsViewer" permission. Integration test requires both "kinesisvideo:ConnectAsViewer" and "kinesisvideo:DeleteSignalingChannel" permission.
            To use IoT certificate to authenticate with KVS signaling, please refer to Controlling Access to Kinesis Video Streams Resources Using AWS IoT for provisioning details.
            A sample IAM policy for the IoT role looks like below, policy can be modified based on your permission requirement.
            With the IoT certificate, IoT credentials provider endpoint (Note: it is not the endpoint on IoT AWS Console!), public key and private key ready, you can replace the static credentials provider createStaticCredentialProvider() and freeStaticCredentialProvider() with IoT credentials provider like below, the credentials provider for samples is in createSampleConfiguration():

            Support

            All Public APIs are documented in our Include.h, we also generate a Doxygen each commit for easier navigation. Refer to related for more about WebRTC and KVS.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries

            Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link