binauralmeet / binaural-meet Goto Github PK
View Code? Open in Web Editor NEWReal-time video web application with 3D sound.
License: GNU General Public License v3.0
Real-time video web application with 3D sound.
License: GNU General Public License v3.0
Text chat or timeline is preferable to review the history of the venue and notifications.
Text chat and history of events such as join, leave... will be useful. Also, need a function to call people back to Binaural Meet, ie notification is needed. Notifications also need to be recorded to refer them later.
Use XMPP chat will be ideal.
A object that would allow you to go to a different meeting room would be useful for very large gatherings to split off into smaller meetings. This could be just an image that has a URL. It could point to another binaural meeting, a zoom meeting, a document, etc.
The sound output has problem in Firefox (in monaural mode) and Safari(in both mode). Others seems OK.
I noticed that recently we no longer save content I uploaded to a room from a previous session. I remember that before if I use the same room name it will reload the content from the previous session. Is this the new intended behavior? How long do we keep files on the content server?
Participants has a button with vertical three dots for more settings. However footer has small (v) button for the same purpose.
Maybe use the vertical three dots for both will be good solution.
UI for basic functions
Use npm link is a bit complex. If move all dependencies into package.json, one command yarn install
is enough to init the whole development enviroment.
After almost one hour test, some of the participants could not get updates of remote tracks. When this problem occur, remote tracks are not added. So, some the participant can not hear the voice of see the video of the updated remote participant.
Remote tracks added when RTCPeerConnection.onaddstream or onaddtrack called, but they were not called.
After reload by browser (F5), this was fixed.
I am getting this error in the latest source
"TypeScript error in D:/Work/binaural-meet/src/components/leftBar/StatusDialog.tsx(96,56):
Property 'connectionQuality' does not exist on type 'JitsiConference'. TS2339"
Can you help me what could be the reason and how to resolve this.
Currently gesture like clapping or emote like happy is hard to show via the avatar. Some users ask to use them.
Before the implementation, a detailed analysis of the demand and the UI is needed.
When a remote use mute it's video, the avatar for user does not back to image avatar.
This bug included when replace MediaTrack to JitsiTrack.
When a remote track muted. An event is emitted from track. Also track.track.muted property is changed.
However they are not handled by components or middleware.
I can't get a good idea to solve. I'll be able to solve it by adding an event handler, adding flags on store and observing them. However it will be very ugly.
@zlguo1996 Can you help ?
Share images/videos by URL.
Upload and hosting should be not in our host but use other services.
The implementation contains following parts:
Add an store (SharedContents
) for storing all urls and properties (SharedContent
).
SharedContents
: a map about SharedContent
, the key is unique id.SharedContent
: stores url, position, size / scale, author...shared
.shared
: a set of unique id of SharedContent
authored by this participant.Make use of multiple screen would help a lot in demonstrating the information of our web app.
Enabling multiple tabs for showing different aspect of contents for single user in a specific conference. What's more, those tabs could be used cross devices, which enables users to make use of their pads and smart phone for online conference.
In Jitsi-party, we could use another screen to show the videos pinged by user. Then user could use master tab to controll the map, and slave screen to show the video contents (like screen share and speaker's video).
For the upper example, we could use WebRTC protocal to realize it. Given a conference name and user id, slave tab would tries to establish WebRTC connection with master tab. To verify the identitiy of slave tab, user would have to enter the verity code shown on master tab.
After establishment of connection, user could choose to ping several videos in master tab. Those video stream would be forwarded to slave tab from master tab using worker. Note that audio would not be forwarded, but volume could be controlled by slave tab through WebRTC connection.
Currently, all shared contents are sent from the participant and no arbitration exist.
Better protocol to update contents is needed.
I've write a document first:
https://github.com/JitsiPartyTeam/jitsi-party/blob/master/docs/sharedContents.md
and will implement this next.
Scroll bar can not treat negative values. When zoom the map, negative value comes to needed.
Maybe, scroll bars can not used for map.
I'd like to share web content in an iFrame so that we can embed web content. That will allow others to extend the features, e.g. an event calendar.
It would also be nice to have this object interact in some way with the avatars, for example to track when an avatar has visited an object like in a cookie.
In the dev environment, the local participant could not be rendered correctly, even though the store has been set.
Default props were passed into the rendering process and will be hung up.
I often have difficulty to find myself from 10 participants.
It will be better to use different color for local participant.
In Jitsi, the last name in the path URL is taken as the room name. Also any room name you enter into the dialog box is added to the URL to make it easy to copy the URL of the room.
e.g.
http://acme.com/foo/bar
"bar" is taken as the name of the room
In Binaural, it will take "foo/bar" and convert it to "foo_bar". Is there a reason room names are handled differently in Binaural?
I am getting issue in reading the Observer object values.
As per the current script I have defined an object that contains the image and its description to RoomInfo class and update the value using connection class with "setRoomProp()". It update the value of the assign object. But when try to read the value of "roomProps" with "get("paramObjname") it given the previous default value but in the exact props it has the updated value. Can you let me know how to get the exact value or let me know if I am doing it wrong here.
I have attached the image of the correct output not not able to read the values which are in "data_" param. ("roomDetails" and its "value_"
Pls suggest.
Google Docs are OK. Google calendar, Scrapbox need a header modification.
Hi, @hasevr,
I saw your Post in the Jitsi Community a few months ago and am impressed by the progress you made!
I had almost the same idea, but because I just started being a developer, I did not start realizing that. However, I created a short promotion video, that explains that idea. Maybe, you want to use it for your project. You can watch it here.
I used the following sources / tools:
P.S. If you need the source files (voice over, graphics, animation data), you can get them too.
Describe the bug
The echo cancellation not works with speaker.
To Reproduce
Steps to reproduce the behavior:
Video created by jitsi-meet is not rendered in dev server.
Note: the following screenshots are all on tab2
tab1
.tab2
(Note: the order of 1 and 2 could not be reversed, or the video would correctly be shown). The result would like the following (remote video is not displayed):tab3
, the video should be shown:Both the map translate event and the shared content resize event are triggered. The stopPropogation call inside resize event would not stop the execution of map translate event. It turns out that translate event is executed before resize event.
Currently, the only way of knowing who is speaking is judge from video and audio content. But that is not easy enough for users to identify who are speaking to them. Thus, other hints would be needed.
Currently perticipant proporties are used for positions and contents. But frequent update is not efficient.
It seems better to use sendMessage() api of JitsiConference.
In Chrome and Safari, zooming in and out is fast. But on Firefox it is slow.
Currently , the hearing area is too small. Attenuation by distance will be needed to be changed by users.
Before control, setting must be changed. GET value option will be enough for the moment.
For actual use, setting of participant name and may be image is needed.
We're extending the image object in BM to have properties that effect the auditory effect of an avatar that is inside the bounds of the image. For example, the image is a conference table, and everyone at the table (i.e. inside the bounds of the image) can hear each other with equal volume, but not others that are not at the table (i.e. outside the bounds of the image).
To this end, we would like a method at the MapObject level that can return the MapObject that is immediately beneath an avatar.
e.g. avatar.getObjBeneath()
This method needs to be aware of resized and layered images.
Currently, our demo site doesn't have a tutorial for users.
It's necessary to add a simple tutorial to introduce gestures of dragging and rotating.
Currently, the orientation of shared content will be shared globally.
When a user is trying to change his/her orientation, the local orientation of shared content will be also changed relatively.
This behavior might cause some communication difficulties with the orientation of shared content.
Considered a "poster presentation" situation, a presenter is always expected to face his/her audiences.
Keeping the orientation of shared content globally will cause whether presenter or audiences have a reversed view of shared content.
It is necessary to use a better UI presentation design of shared content to reduce those communication difficulties.
Here is a draft of the new UI design that might be useful.
Using an abstract icon to represent shared content in the map view.
The actual content will be shown in a floating frame, which could be pinned and dragged by the user.
Those actual contents will always keep the same orientation that is easy to read for users.
This idea is just a draft concept that needs to be discussed.
Looking forward to a further discussion.
The area for mouse drag start for the avatars of the participants are too large. It seems around 3 times larger.
Is there a way to distinguish between the host (the person who started the meeting) and the rest of the people in the meeting? We are implementing simple roles (host, collaborators, visitors) in our system, but want to know if it already exists.
A Meeting Space that can stream audio would be great to create background music for social gatherings. A use case it to create a cocktail bar where there is music playing from one side of the room (e.g. from the stage), but you can move away from the music so that you can talk.
I want to show background image under the MainScreen (desktop sharing).
Because video will not always full screen and showing background helps to understand where the user is in the map.
Describe the bug
Sometimes, participant not quit when tab is closed.
To Reproduce
Steps to reproduce the behavior:
https://zlguo1996.github.io/jitsi-party/
with Chrome of desktop.https://zlguo1996.github.io/jitsi-party/
with Chrome of iphone.Expected behavior
In desktop, we should see another participant leave immediately when the tab of iphone is closed.
Describe the bug
When you rotate your icon, the icon of the configuration icon is also rotated.
Expected behavior
The orientation of the configuration icon should be kept as constant.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
I am trying to handle the video stream of users based on some activity. This is the issue I am getting while doing so
Why this is happening? Is there any restriction on the server side?
Or
Suggest a way out so that I can track whether the user is in streaming mode so that If the user stream return undefined in the middle of streaming process then I am show some message based in it. Like if user closed its video and no streaming then "Stream off" or if user is streaming and getting mediastream data as undefined then "Reconnecting" something like that.
I am trying to auto toggle the video stream based on the user clicks on video Icon. Currently when a user clicks on the video icon from the main menu then that user's video start streaming on its Icon. But what I am trying to achieve is,
OR
I tried to do so but it throws error of "video stream can not swapped".
Pls suggest a way out how to implement this using your framework.
In storybook, there are two pages: 1. Audio - Stereo, 2. Store -Participants.
First, go to 2 and add a remote participant. Then go to 1, and bind audio.
Sometimes in chrome the audio is not played.
Need add MediaTrackSettings for remote video track:
Both dummy connection
and camera & screen capture video should contain those data.
The following error message would shown if width & height is not provided.
The data is used to set parent div border to make the video avatar round.
Is your feature request related to a problem? Please describe.
The current avatar's orientation will keep a same value during rotation.
Describe the solution you'd like
It's better to render the avatar as the desired orientation.
Describe alternatives you've considered
Showing a rotated name instead of video rendering might be an alternative solution.
I have 2 audio meeting spaces A and B. Currently, avatars in A can hear those in B, and vice versa. This is not what I expect.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.