janus_client

Creator: coderz1093

Last updated:

Add to Cart

Description:

janus client

janus_client #
It is a feature rich flutter package, which offers all webrtc operations supported by Janus: the general purpose WebRTC server,
it easily integrates into your flutter application and allows you to build webrtc features and functionality with clean and maintainable code.

Note
What it will do? #

It will help you in establishing communication with Janus server using either REST or Websocket depending on what you prefer
It will provide you meaningful APIs for individual plugins so you can express your app logic without worrying about internals

What it will not do? #
It will not manage every aspect of WebRTC for you by that we mean we only provide core functionalities and features when it comes to WebRTC, since this library uses flutter_webrtc for managing all of webrtc stack so you will need to refer its documentation when there's some use cases which we do not cover or does not exist in examples. This is done intentionally by design to give developers complete flexibility while also making sure library is lightweight and does not become a bloatware.
A classic example of that would be changing output device on a native device for example you want to switch from speaker to headsets or bluetooth audio device you will need to use flutter_webrtc's Helper utility class:-
Helper.selectAudioOutput(deviceIdOfBluetoothDevice)
copied to clipboard

Demo of JanusClient #
APIReference #
Wiki #
Take away apple specific pain for building flutter app #
screen share example #
News & Updates #

Introduced support for simulcast
videoroom and screenshare improvements (screenshare tested on android and chrome)
sip plugin wrapper added with sip calling example
Added errorHandler for typedMessage Stream for better development flow
Just like new flutter version comes With desktop support out of the box
All major plugins fully support unified plan
Typed examples updated with null safety and latest dart constraints
Introduced plugin specific wrapper classes with respective operation methods for rich development experience
Introduced typed events (Class Based Events) for brilliant auto completion support for IDE
Supports null-safety

Feature Status #



Feature
Support
Well Tested
Unified Plan
Example




WebSocket
Yes
Yes
-
Yes


Rest/Http API
Yes
Yes
-
Yes


Video Room Plugin
Yes
No
Yes
Yes


Video Call Plugin
Yes
No
Yes
Yes


Streaming Plugin
Yes
No
Yes
Yes


Audio Room Plugin
Yes
No
Yes
Yes


Sip Plugin
Yes
No
Yes
Yes


Text Room Plugin
Yes
No
-
Yes


ScreenSharing using VideoRoom plugin
Yes
No
Yes
Yes



Platform Support Table #



Platform
Support
Well Tested




Browser(Web)
Yes
Yes


MacOs
Yes
No


Android
Yes
Yes


Ios
Yes
No


Linux
Yes
No


Windows
Yes
No



Todo #

Documentation of some remaining plugins
Polishing of examples
Unit Test cases for all plugins

Deprecated Api v1(0.0.x) #
If by any chance you are looking for (although you shouldn't) old api then you can switch to v1 branch,
as it is very unstable and hard to maintain it was deprecated and will not recieve any fixes or feature updates.
It is highly recommended you migrate your code to latest version that is 2.X.X (stable)
Contributors ✨ #
Thanks goes to these wonderful people (emoji key):






Shivansh Talwar💻 📖
Kelvin Zawadi💻
Eugene💻
Igal Avraham💻
Vigikaran💻
UserSense💻
baihua666🐛


ngoluuduythai💻
Saksham Gupta💻
chu06💻
Musagil Musabayli💻
Mazen Amr💻






This project follows the all-contributors specification. Contributions of any kind welcome!
Wait there's more... The Javascript Client! #
If you loved the api style and architecture of flutter_janus_client and you wishing to have something similar for your next javascript project involving webrtc features.
then worry not because we have got you covered. we have written wrapper on top of our good old janus.js, you might ask why? well the answer to that question is it does not support
type bindings hence no rich ide support, so we proudly presents typed_janus_js(feature rich promisified and reactive wrapper on top of janus.js)
or you can straight away use it by installing from npm npm i typed_janus_js.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.