Giter Site home page Giter Site logo

holtwick / briefing Goto Github PK

View Code? Open in Web Editor NEW
1.3K 33.0 223.0 24.38 MB

๐Ÿ”ฎ Secure direct video group chat

Home Page: https://brie.fi/ng

License: GNU Affero General Public License v3.0

JavaScript 0.55% HTML 0.65% Vue 20.57% Shell 0.13% SCSS 20.15% Dockerfile 0.09% TypeScript 57.86%
chat video webrtc webrtc-video webrtc-signaling webrtc-call vue end-to-end-encryption webapp website

briefing's Introduction

I am an enthusiastic software developer for web, mobile and desktop applications based in Germany. Currently I create and distribute free and commercial applications. Previously I have worked for large companies like Evernote and Cellular.

My goal is to develop appealing applications for communication and knowledge storage while creating the best possible privacy solution.

To get in touch follow me on Mastodon or Twitter, read my blog or write an email.

briefing's People

Contributors

albanobattistella avatar bruce-ming avatar dependabot[bot] avatar holtwick avatar imgbotapp avatar leocolman avatar manhere avatar vorons avatar yashgovekar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

briefing's Issues

Participant names

I just discovered briefing (I was about to embark on a pretty much identical product) and really love it! One thing that would be great is the ability to set a screen name. This would be particularly helpful for group chats where people have their video turned off but still be able to identify whoโ€™s talking.

Password protection and additional E2E encryption layer

Scenario

Somebody guesses the room name and can listen or manipulate the conversation.

Solution

  1. When creating a new room it has to be flagged as either public or private
  2. If private the clients have to negotiate via WebRTC if they trust each other, usually by proving to know a common secret

Discussion

  • What happens if the signaling server is compromised?
  • Prevent brute force attacks

Killerfeatures ;)

  • - Blur background #17
  • - Emojis #11
  • - Movie like effects, like freezing frames and titles
  • - Audio transcriptions
  • - 3D masks
  • - Other filters like painting like etc.
  • - Drag and drop media like images, audio, video; playback synchronous on all devices
  • - https://giphy.com/
  • - Whiteboard (ExcaliDraw)

Camera and Audio device not showing

I tried running Ionic Capacitor on your platform and for some reason, it does not show the Camera and Audio options. The buttons are working (sort of) but the names of the hardware arent shown.

It works just fine on PWA. Could you please help me out here?
Screenshot

Zoom on face(s)

Scale and position the video in a way that the face is placed perfectly on the viewport

Custom signaling server

  • Use Peer School Signaling Server.
  • Introduce a custom domain like signal.brie.fi
  • Add properties like #1 and creation time. Creator should also provide a secret in order to be able to change settings or identify himself.
  • The server should expose some stats, like total of rooms, number of participants.

iOS client features

  • Integrate with call infrastructure like Signal does
  • Notifications
  • Open directly in app
  • Fix layout issues
  • Picture in picture

PWA / Electron

Create versions for some AppStores:

Windows

An Electron build will be required, because the PWAs for the AppStore are still hooked to the old EdgeHTML missing some features and making development hard. See:

PWAs on Windows 10 (EdgeHTML): With the move to Microsoft Edge (Chromium) from EdgeHTML, the underlying web platforms used by PWAs are not the same. Edge (Chromium) PWAs are installed from and run within the browser. Edge (EdgeHTML) PWAs run as Universal Windows Platform (UWP) applications and use the older EdgeHTML web platform. If you require Windows 10 API access for your PWA, this EdgeHTML documentation is for you. If your goal is cross platform support without Windows specific API access, please head over to the Microsoft Edge (Chromium) PWA documentation. - Microsoft

macOS

Custom app or Electron

iOS

Custom app or Cordova

Android

WebAPK and the like


Documentation for installing PWA in general:

Can't switch between video sources

Hey!

Thanks for making your work open source. Happy to contribute to turn servers in future.

So I've noticed that on mobile I can't switch between sources as shown in the screenshot below. Only the front camera works. Phone is Huawei P20 Pro

Screenshot

Option to persist settings

It would be nice to have the same settings again when coming back. It should be sufficient to have them stored globally and not per room.

It will require some changes, as smart retrieval of camera and audio and fallbacks. Basically a reload of the page should result in the same environment.

Chat

It would be really cool to see a chat feature in this platform.

The way to do it whilst maintaining anonymity is by allowing a user to set a nickname thereby allowing everyone to know who texted what.

Safari video

Video on Safari cannot be resized like in other browsers i.e. aspect ratio is always kept and only the height can be modified. Therefore it is required to either keep the aspect ratio or clip the rest of the video.

Install how to

Very nice work. Clean and simple.

Im trying to build the client and get it working but experiencing problems. Built and run as
serve dist, but cannot get to the web folder neither a room with direct /roomname. If i run from web folder then only the home page comes up.

Is there any simple how to install guide. If i have succeeded would hv done one.

thanks again for the very nice project.

Switching between video and screenshare

Hello buddy. first of all congrats about yout project.
im testing it in https://brie.fi/ng in computer (windows + chrome) and its ok with video and audio. but when i switch from camera to screenshare my audio deaseper and then when i return to camera then the audio goes back..

by the way when we in computer, and the screen is sharing then the screen is cropped..

blue screen in firefox

just opened brie.fi/ng with firefox and ended up in a blue screen. but this has nothing to do with brie.fi/ng but witt my damn firefox installation. maybe someone knows why...

Debugging infos

Give users the possibility to send in error logs when something is not working correctly.

Custom made or Sentry? To be decided...

PWA - Camera still in use after disconnecting from the room

In PWA (/ngs) after disconnecting from the room, camera shown as still active and been used until the page is manually reloaded.

On /ng this doesnt happen since http re-writes reload it to a new page.

Attached screenshot shows the camera is still active after disconnected.

PWA IOS compatibility

PWA looks perfectly fine on android, and also perfectly fine in IOS safari. But when added to home screen in IOS, media access seems unavailable.

Can this be IOS restriction at this moment ?

Loosing connections

  • When switching between apps on iOS audio gets lost
  • After a while seeing destroyed peers

Moderated Conference

In certain scenarios like virtual classes, it is useful to have a moderator that manages when participants should talk or not.

First of all it would be useful to give a hand sign, when somebody wants to speak but not disturb others that are still speaking like raising the hand in the class. See Jitsi or #11

Then the moderator should be able to mute everybody but the speaker and himself. See Jitsi "Mute everybody else". But the moderator should also be able to unmute people. Every participant that has been muted by somebody else should receive a message like "Person A moved on stage by Person B" and should be able to unmute himself any time.

For common questions it should be possible to do a quick poll as well, the simplest would be "thumb up" or "down". Or undecided. Or starring between 1 to 5 stars. Or multiple choice. Lend some inspirations by BigBlueButton

Configure video and audio

  • Allow changing media streams
  • Select or switch video and audio sources
  • When setting camera or microphone to mute do note stream any more
  • Adjust the streaming and bandwidth quality on the fly

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.