janus-gateway | Janus WebRTC Server | SDK library

 by   meetecho C Version: 1.2.3 License: GPL-3.0

kandi X-RAY | janus-gateway Summary

kandi X-RAY | janus-gateway Summary

janus-gateway is a C library typically used in Utilities, SDK applications. janus-gateway has no bugs, it has no vulnerabilities, it has a Strong Copyleft License and it has medium support. You can download it from GitHub.

[Fuzzing Status] Janus is an open source, general purpose, WebRTC server designed and developed by [Meetecho] This version of the server is tailored for Linux systems, although it can be compiled for, and installed on, MacOS machines as well. Windows is not supported, but if that’s a requirement, Janus is known to work in the "Windows Subsystem for Linux" on Windows 10: do NOT trust repos that provide .exe builds of Janus, they are not official and will not be supported.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              janus-gateway has a medium active ecosystem.
              It has 7222 star(s) with 2326 fork(s). There are 381 watchers for this library.
              There were 3 major release(s) in the last 12 months.
              There are 6 open issues and 1789 have been closed. On average issues are closed in 43 days. There are 14 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of janus-gateway is 1.2.3

            kandi-Quality Quality

              janus-gateway has no bugs reported.

            kandi-Security Security

              janus-gateway has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              janus-gateway is licensed under the GPL-3.0 License. This license is Strong Copyleft.
              Strong Copyleft licenses enforce sharing, and you can use them when creating open source projects.

            kandi-Reuse Reuse

              janus-gateway releases are not available. You will need to build from source code and install.
              Installation instructions are not available. 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 janus-gateway
            Get all kandi verified functions for this library.

            janus-gateway Key Features

            No Key Features are available at this moment for janus-gateway.

            janus-gateway Examples and Code Snippets

            No Code Snippets are available at this moment for janus-gateway.

            Community Discussions

            QUESTION

            Simple Example for JANUS WebRTC Using Javascript
            Asked 2020-Sep-19 at 09:07

            I want to create a video streaming app using Janus.

            I setup Janus gateway which is working very well

            I wan to setup one way live streaming one-to-many. Screen Sharing Test quite similar what i want but i need webcam access instead of screen Share. How can I achieve this. I have very limited knowledge in JavaScript. I want to integrate this in PHP based application. Screen share test script works fine in my application. I gone through documentation but its going over my head.

            here is screen share script

            Could anyone please guide me how can I achieve above.

            ...

            ANSWER

            Answered 2020-Sep-19 at 09:07

            There is a quick hack...

            Just change

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

            QUESTION

            How to send RTP stream to Janus from NGINX RTMP module?
            Asked 2020-Jul-16 at 05:39

            This is my first post here, even though this platform has already helped me a lot.

            So, i'm trying to create a stream and display it in a browser. I have already configured NGINX with the rtmp module and my stream works very well with HLS (between 5 and 10 seconds of latency).

            Now I would like to set up a low-latency stream and that's why I have installed the janus-gateway webRTC server that allows to take in input an RTP stream and provide in output a webRTC stream.

            Here's the schema I'd like to follow :

            OBS -> RTMP -> Nginx-rtmp-module -> ffmpeg -> RTP -> Janus -> webRTC -> Browser

            But I have a problem with this part : "nginx-rtmp-module -> ffmpeg -> janus"

            In fact, my janus's server is running and demos streaming works very well in localhost, but when i try to provide an RTP stream, Janus don't detect the stream in the demos (it shows "No remote video available").

            Anyone can help me, please ?

            Ressources :

            • My janus.plugin.streaming.jcfg configuration :
            ...

            ANSWER

            Answered 2020-Jul-07 at 09:12

            Do you solve problem? I try console " ffmpeg -i rtmp://0.0.0.0:1935/live/test03 -an -c:v copy -flags global_header -bsf dump_extra -f rtp rtp://127.0.0.1:5004 " " sudo ffmpeg -i "rtmp://0.0.0.0:1935/live/test03" -map 0:2 -c:v libx264 -profile:v main -preset ultrafast -tune zerolatency -f rtp rtp://127.0.0.1:5005 "

            I have same issue like you

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

            QUESTION

            Installing janus-gateway error on CentOS7
            Asked 2019-Oct-07 at 11:38

            I want to install janus-gateway on CentOS7. I read the following document and tried installation. https://github.com/meetecho/janus-gateway/blob/master/README.md

            ...

            ANSWER

            Answered 2019-Oct-07 at 11:38

            QUESTION

            Janus-Gateway RTP-Forward to send stream to AWS Elemental MediaLive
            Asked 2019-Jun-14 at 13:47

            I'm using rtp_forward from the videoroom plugin in Janus-Gateway to stream WebRTC. My target pipeline looks like this:

            WebRTC --> Janus-Gateway --> (RTP_Forward) MediaLive RTP_Push Input

            I've achieved this:

            WebRTC --> Janus-Gateway --> (RTP-Forward) Janus-Gateway [Streaming Plugin]

            I've tried multiple rtp_forward requests, like:

            register = {"request": "rtp_forward", "publisher_id": 8097546391494614, "room": 1234, "video_port": 5000, "video_ptype": 100, "host": "medialive_rtp_input", "secret": "adminpwd"}

            But medialive just doesn't receive any stream. Anything I'm missing?

            ...

            ANSWER

            Answered 2019-Jun-14 at 10:44

            I'm not familiar with AWS MediaLive: initially I thought that, since most media servers like this expect RTMP and not RTP, that was the cause of the issue, but it looks like it does indeed support a plain RTP input mode. At this point this is very likely a codec issue: probably MediaLive doesn't support the codecs your browser is sending (opus and vp8?). Looking at the supported codecs, this seems to be the issue: https://docs.aws.amazon.com/medialive/latest/ug/inputs-supported-containers-and-codecs.html

            You can probably get video working if you use H.264 in the browser, but audio is always Opus and definitely not AAC, so you'll need an intermediate node to do transcoding.

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

            QUESTION

            How do I use a browser specific vanilla JS library in react with dependancies
            Asked 2019-May-03 at 13:24

            js/reactjs product to interface with a janus webrtc gateway. I'm trying to use the janus.js library provided in the meetecho janus-gateway sourcecode as I know that:

            A: This library will check whether the browser is compatible with Janus. B: This library is maintained by the core team and kept up to date.

            So I know I'm already going to have to give up JSX and use either jQuery or standard JavaScript to manipulate an empty provided by react.

            I just need to know how to import scripts that are designed to be imported via a script tag in html, that in itself also has dependancies. Preferably I'd be attempting to not load it on every page of the website, by using a stub index.html file. The project is getting quite large and heavy as is.

            Worst comes to worst I'll just have to use one of the other API's (Such as meetecho's restful API) and check browser compatibility myself. But I'd rather not repeat all that work if I don't have to. And also not have to try to work out how webrtc connections work this early in the prototyping stage.

            Just trying to get the jQuery dependancy to work first:

            ...

            ANSWER

            Answered 2019-May-03 at 13:24

            Hi thought I'd answer my own post as I have gotten a bit further.

            If you want npm to recognise Janus as a module this piece of documentation has the basics:

            https://janus.conf.meetecho.com/docs/js-modules.html

            You will likely need to modify the enty point of the janus-gateway npm project to import the required dependancies before npm rollup rolls up the module.

            You will then have to modify the rollup config to either include dependancies in the module or look for them in the project where the module is imported, a good starting point on how to do this with rollup can be found here:

            https://engineering.mixmax.com/blog/rollup-externals

            my module.js from the janus-gateway/npm project

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

            QUESTION

            janus gateway: configure shows websockets not enabled
            Asked 2017-Sep-18 at 04:52

            I am trying to use janus. First step, installation. I followed the instructions here. All is well. However, when I run

            ...

            ANSWER

            Answered 2017-Sep-18 at 04:52

            Since https://github.com/meetecho/janus-gateway/pull/996

            You need libwebsockets >= 2.0.0. Trusty has an old version.

            You have to compile it. See the description of janus how to do that.

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

            QUESTION

            Second opinion on media streaming architecture
            Asked 2017-Mar-31 at 13:16

            I am currently working on a REST API written in C And i would love to hear a second opinion on my current architecture and how it could be refactored.

            So basically it's a audio streaming platform with 2 types of calls - sync and async. We are building it upon janus, more specifically audiobridge plugin.

            The problem: Our current janus_audiobridge file has grown too big and its pretty hard to navigate trough it(around 5K lines of code in a single file). So i decided its time for a refactor.

            My current solution and problems with it: My idea was to seperate sync and async calls in to 2 seperate files. This way all the stuff for mixing audio and rtp forwards would be in the main janus_audiobridge file and the actual endpoints would be seperate.

            But the problem with this approach is that sync/async calls still use the structs and static variables from the main janus_audiobridge file. So i would have to pass them into the handler methods. Which is quite ugly.

            How would you architect this kind of system?

            Thanks!

            ...

            ANSWER

            Answered 2017-Mar-31 at 13:16

            A quick-and-dirty solution would be to declare the variable in one of the two sources files as normal and declare it as extern in the other file. This way both files can refer to the same variable but you only have one declaration.

            The better way in my opinion is to look at how other libraries handle this. The first argument to function call is usually a pointer to an internal structure that holds all the information you would put in a global. This adds one argument to most functions but is just a pointer. This avoids problems with declaring globals and makes your code reusable for different contexts at once (multiple clients or multiple endpoints) in a single process.

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

            QUESTION

            C, Passing struct with a key of GhashTable to function
            Asked 2017-Feb-28 at 12:03

            So basicly i want to isolate my mute/unmute call from the callplace.

            I made a method: void janus_audiobridge_mute_toggle_participants(janus_audiobridge_participant *participants[], int size, gboolean muted)

            Which i call with:

            ...

            ANSWER

            Answered 2017-Feb-28 at 12:03

            "Changing {&participant} to {participant} fixed my issues. Thanks unwind for the tip! :)"

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

            QUESTION

            undefined reference to `PQconnectdb'
            Asked 2017-Feb-20 at 17:19

            Recently a project that i am working on requred to add postgresql support to it. Project is written in C(its open sourceJanus gateway).

            I follwed these steps to install the postgress and libps-dev.

            ...

            ANSWER

            Answered 2017-Feb-20 at 17:19

            Figured it out.

            Appended -L/.... -psql to AM_CFLAGS Makefile.am

            Heres the full line:

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

            QUESTION

            C - How can i execute a method every X seconds?
            Asked 2017-Jan-20 at 18:41

            Probably really trivial question, but:

            Recently started working an open-source system - janus-gateway and i am in a need to run a method every 1 second(checking if all users muted).

            What are the options to do this in C? Should i spawn a new thread?

            Answer with an example would much appreciated!

            ...

            ANSWER

            Answered 2017-Jan-20 at 18:41

            Ended up spawning a new thread and doing stuff that way.

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

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

            Vulnerabilities

            No vulnerabilities reported

            Install janus-gateway

            You can download it from GitHub.

            Support

            Janus is thoroughly documented. You can find the current documentation, automatically generated with Doxygen, on the [project website](https://janus.conf.meetecho.com/docs/).
            Find more information at:

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

            Find more libraries
            Install
          • npm

            npm i janus-gateway

          • CLONE
          • HTTPS

            https://github.com/meetecho/janus-gateway.git

          • CLI

            gh repo clone meetecho/janus-gateway

          • sshUrl

            git@github.com:meetecho/janus-gateway.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

            Consider Popular SDK Libraries

            WeiXinMPSDK

            by JeffreySu

            operator-sdk

            by operator-framework

            mobile

            by golang

            Try Top Libraries by meetecho

            janus-mobile-sdk

            by meetechoC++

            janode

            by meetechoJavaScript

            simple-whip-server

            by meetechoJavaScript

            simple-whip-client

            by meetechoC

            libbfcp

            by meetechoC