All Projects → holtwick → Briefing

holtwick / Briefing

Licence: eupl-1.2
Secure direct video group chat

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Briefing

Libcrtc
WebRTC C++ library built on top of chromium webrtc.
Stars: ✭ 89 (-87.46%)
Mutual labels:  audio, communication, webrtc, peer
Channelstream
Channelstream is a websocket communication server for web applications
Stars: ✭ 52 (-92.68%)
Mutual labels:  chat, websocket, webapp
Quickblox Ios Sdk
QuickBlox iOS SDK for messaging and video calling
Stars: ✭ 373 (-47.46%)
Mutual labels:  chat, communication, webrtc
Megachat
MEGA C++ SDK for chat-enabled apps
Stars: ✭ 61 (-91.41%)
Mutual labels:  chat, webrtc, end-to-end-encryption
Quickblox Javascript Sdk
JavaScript SDK of QuickBlox cloud backend platform
Stars: ✭ 98 (-86.2%)
Mutual labels:  chat, communication, webrtc
Metastream
Watch streaming media with friends.
Stars: ✭ 1,926 (+171.27%)
Mutual labels:  websocket, webrtc, webapp
Q Municate Ios
Q-municate iOS repository
Stars: ✭ 164 (-76.9%)
Mutual labels:  audio, chat, webrtc
Opentok Ios Sdk Samples
Example applications that use the OpenTok iOS SDK
Stars: ✭ 186 (-73.8%)
Mutual labels:  audio, communication, webrtc
Ytmdl Web V2
Web version of ytmdl. Allows downloading songs with metadata embedded from various sources like itunes, gaana, LastFM etc.
Stars: ✭ 398 (-43.94%)
Mutual labels:  audio, webapp
Bitmidi.com
🎹 Listen to free MIDI songs, download the best MIDI files, and share the best MIDIs on the web
Stars: ✭ 422 (-40.56%)
Mutual labels:  audio, website
Responsiveframework
Easily make Flutter apps responsive. Automatically adapt UI to different screen sizes. Responsiveness made simple. Demo: https://gallery.codelessly.com/flutterwebsites/minimal/
Stars: ✭ 476 (-32.96%)
Mutual labels:  website, webapp
Wormhole
Wormhole — it's better EventEmitter for communication between tabs with supporting Master/Slave.
Stars: ✭ 393 (-44.65%)
Mutual labels:  communication, websocket
Echoplexus
Socket.io powered chat, JavaScript REPL, whiteboard, and WebRTC calls
Stars: ✭ 392 (-44.79%)
Mutual labels:  chat, webrtc
Linphone Iphone
Linphone is a free VoIP and video softphone based on the SIP protocol. Mirror of linphone-iphone (git://git.linphone.org/linphone-iphone.git)
Stars: ✭ 462 (-34.93%)
Mutual labels:  chat, call
Semana Javascript Expert02
Exemplos de código da segunda semana Javascript Expert - Zoom Clone
Stars: ✭ 534 (-24.79%)
Mutual labels:  websocket, webrtc
Constable
Better company announcements
Stars: ✭ 505 (-28.87%)
Mutual labels:  communication, webapp
Qtox
qTox is a chat, voice, video, and file transfer IM client using the encrypted peer-to-peer Tox protocol.
Stars: ✭ 3,843 (+441.27%)
Mutual labels:  audio, communication
Aws Lex Web Ui
Sample Amazon Lex chat bot web interface
Stars: ✭ 500 (-29.58%)
Mutual labels:  chat, webrtc
Websocket Chat
Websocket based group chat app built with socket.io and react.
Stars: ✭ 689 (-2.96%)
Mutual labels:  chat, websocket
Mixedreality Webrtc
MixedReality-WebRTC is a collection of components to help mixed reality app developers integrate audio and video real-time communication into their application and improve their collaborative experience
Stars: ✭ 568 (-20%)
Mutual labels:  audio, webrtc

Brie.fi/ng

Secure video chat via pure WebRTC

Privacy is the driving force behind this project. It uses secure technologies like WebRTC to directly connect between participants. The website that provides the web app and mediates the communication stores as few data as possible and does not know anything about the contents of established conversations. No accounts are required. No cookies are used.

The difference between Briefing and most similar projects is, that it does not use a central server that distributes the video streams (SFU). The advantage of an SFU is that it saves bandwidth due to the fact that the own video does not being uploaded to each participant but only once. The SFU can also do more optimizations the clients might not support. But then the video signal is not end-to-end encrypted anymore i.e. you have to trust the SFU provider. Briefing instead sends data from peer to peer directly ("Mesh") and therefore the data does not travel over the server under normal operation. The WebRTC peers however still trust the signaling server for the authenticity of the peer-to-peer communications encryption in place.

FAQ

Why starting another video conference tool?

During the Corona pandemic 2020, I tried to create a peer-to-peer solution for homeschooling called peer.school. Although the project has been retired for various reasons, I learned so much about WebRTC and video/audio communication, that I did want to reuse this knowledge in this project.

Why is it free and Open Source?

Only a free project does not require the user to create an account and unveil payment information, that could be used to identify that person. This is why the project is free and will remain free, as long as no additional costs like maintaining TURN servers etc. will require some funding. If you want to support me and the project directly you can [email protected].

Which servers are actually involved in a call?

  • Briefing web site (provides the web app)
  • Briefing signaling server (coordinates peers in rooms)
  • Briefing STUN/TURN server (helps to traverse fire walls)

Apps

Briefing is a PWA i.e. it is a web app, that can be installed from inside the browser on some platforms. To put Briefing on your home screen in iOS Safari tap on the "Share" icon and choose "Add to Home Screen". You can do the same in browsers like Google Chrome.

Native iOS App

Briefing is available in the Apple AppStore. You can find sample code in the ios folder.

Native Electron App

Briefing is available in the Microsoft Store. The source is available in the electron folder.

Native Android App

The android folder contains a sample. Build your own distribution following this guide.

Installation

You can just use the installation on https://brie.fi/ng for free.

But in case you want to run it on your own hardware, it is important to understand what parts are required:

  1. Frontend: The web app the user interacts with. You find it in the app folder. Build it via npm run build and put the contents of dist on your server. Briefing uses some tricks to have the neat /ng path working, and you can learn in the Wiki how to configure Apache to handle the routes correctly.

  2. Signaling Server: You can use mine for the start, which is located at wss://sig03.brie.fi. If you want to use your own you find the source in signal. It is a simple node.js app that just connects peers in one room by helping to establish the WebRTC connection. You can learn from the Wiki how to do port forwarding in Apache.

  3. STUN/TURN Server: You can use mine or any other for the start. STUN is required to get peer to peer connections through firewalls. TURN is used if that does not succeed. The later one can cause some server load. Learn from the Wiki how to set up such a server.

The wiki has some more resources.

Briefing needs quite some adoptions and modifications if you want to use it in your project. Please remember, that if you don't plan to publish your changes under EUPL, you'll need a commercial license:

License

Briefing is free and can be modified and forked. But the conditions of the EUPL (European Union Public License 1.2) need to be respected, which are similar to ones of the GPL. In particular modifications need to be free as well and made available to the public.

For commercial use please contact [email protected] for licensing alternatives.

Get a quick overview of the license at Choose an open source license. This license is available in the languages of the European Community.

Author

My name is Dirk Holtwick. I'm an independent software developer located in Germany. Learn more at holtwick.de.

Contribute

Contributions are always welcome. Best way is to start adding or responding to issues.

For adding or fixing translations get started here: https://github.com/holtwick/briefing/tree/master/app/src/locales

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].