libdatachannel | C/C++ WebRTC network library featuring Data Channels | Websocket library

 by   paullouisageneau C++ Version: v0.18.4 License: MPL-2.0

kandi X-RAY | libdatachannel Summary

kandi X-RAY | libdatachannel Summary

libdatachannel is a C++ library typically used in Networking, Websocket applications. libdatachannel has no bugs, it has no vulnerabilities, it has a Weak Copyleft License and it has medium support. You can download it from GitHub.

libdatachannel is a standalone implementation of WebRTC Data Channels, WebRTC Media Transport, and WebSockets in C++17 with C bindings for POSIX platforms (including GNU/Linux, Android, FreeBSD, Apple macOS and iOS) and Microsoft Windows. WebRTC is a W3C and IETF standard enabling real-time peer-to-peer data and media exchange between two devices. The library aims at being both straightforward and lightweight with minimal external dependencies, to enable direct connectivity between native applications and web browsers without the pain of importing Google's bloated reference library. The interface consists of somewhat simplified versions of the JavaScript WebRTC and WebSocket APIs present in browsers, in order to ease the design of cross-environment applications.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              libdatachannel has a medium active ecosystem.
              It has 1159 star(s) with 240 fork(s). There are 33 watchers for this library.
              There were 1 major release(s) in the last 12 months.
              There are 44 open issues and 334 have been closed. On average issues are closed in 50 days. There are 2 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of libdatachannel is v0.18.4

            kandi-Quality Quality

              libdatachannel has 0 bugs and 0 code smells.

            kandi-Security Security

              libdatachannel has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              libdatachannel code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              libdatachannel is licensed under the MPL-2.0 License. This license is Weak Copyleft.
              Weak Copyleft licenses have some restrictions, but you can use them in commercial projects.

            kandi-Reuse Reuse

              libdatachannel releases are available to install and integrate.
              Installation instructions are not available. Examples and code snippets are available.
              It has 1377 lines of code, 26 functions and 32 files.
              It has high code complexity. Code complexity directly impacts maintainability of the code.

            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 libdatachannel
            Get all kandi verified functions for this library.

            libdatachannel Key Features

            No Key Features are available at this moment for libdatachannel.

            libdatachannel Examples and Code Snippets

            No Code Snippets are available at this moment for libdatachannel.

            Community Discussions

            QUESTION

            How to send ffmpeg AVPacket through WebRTC (using libdatachannel)
            Asked 2022-Mar-31 at 10:48

            I'm encoding a video frame with the ffmpeg libraries, generating an AVPacket with compressed data.

            Thanks to some recent advice here on S/O, I am trying to send that frame over a network using the WebRTC library libdatachannel, specifically by adapting the example here:

            https://github.com/paullouisageneau/libdatachannel/tree/master/examples/streamer

            I am seeing problems inside h264rtppacketizer.cpp (part of the library, not the example) which are almost certainly to do with how I'm providing the sample data. (I don't think that this is anything to do with libdatachannel specifically, it will be an issue with what I'm sending)

            The example code reads each encoded frame from a file, and populates a sample by setting the content of the file to the contents of the file:

            sample = *reinterpret_cast *>(&fileContents);

            sample is just a std::vector;

            I have naively copied the contents of an AVPacket->data pointer into the sample vector:

            ...

            ANSWER

            Answered 2022-Mar-31 at 09:16

            The input files of the streamer example for libdatachannel use 32-bit length as NAL unit separator. Therefore, the H264RtpPacketizer instance is created with H264RtpPacketizer::Separator::Length.

            If I'm not mistaken the ffmpeg output will have 4-byte start sequences as NAL unit prefix instead (which is actually more common), so if you change the packetizer setting to H264RtpPacketizer::Separator::LongStartSequence it should accept your sample.

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

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

            Vulnerabilities

            No vulnerabilities reported

            Install libdatachannel

            You can download it from GitHub.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

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

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/paullouisageneau/libdatachannel.git

          • CLI

            gh repo clone paullouisageneau/libdatachannel

          • sshUrl

            git@github.com:paullouisageneau/libdatachannel.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Reuse Pre-built Kits with libdatachannel

            Consider Popular Websocket Libraries

            netty

            by netty

            ws

            by websockets

            websocket

            by gorilla

            websocketd

            by joewalnes

            koel

            by koel

            Try Top Libraries by paullouisageneau

            libjuice

            by paullouisageneauC

            violet

            by paullouisageneauC

            Teapotnet

            by paullouisageneauC

            datachannel-wasm

            by paullouisageneauC++

            libplum

            by paullouisageneauC