• Stars
    star
    131
  • Rank 275,867 (Top 6 %)
  • Language
    Dart
  • License
    MIT License
  • Created over 4 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A plugin that allows the flutter app to communicate with a Janus server using different transport mechanisms, such as WebSocket and HTTP(rest). It features a developer-friendly api to interact with various WebRTC Janus Plugins. Hence, it can be considered as a swiss-knife for WebRTC solutions.

ko-fi

All Contributors

Buy Me A Coffee

janus_client pub packageGitter

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.

Demo of JanusClient

Wiki

Take away apple specific pain for building flutter app

screen share example

APIReference

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
Shivansh Talwar

πŸ’» πŸ“–
Kelvin Zawadi
Kelvin Zawadi

πŸ’»
Eugene
Eugene

πŸ’»
Igal Avraham
Igal Avraham

πŸ’»
Vigikaran
Vigikaran

πŸ’»
UserSense
UserSense

πŸ’»
baihua666
baihua666

πŸ›
ngoluuduythai
ngoluuduythai

πŸ’»
Saksham Gupta
Saksham Gupta

πŸ’»
chu06
chu06

πŸ’»

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.