Giter Site home page Giter Site logo

miroslavpejic85 / mirotalk Goto Github PK

View Code? Open in Web Editor NEW
2.5K 44.0 487.0 38.99 MB

๐Ÿš€ WebRTC - P2P - Simple, Secure, Fast Real-Time Video Conferences Up to 4k and 60fps, compatible with all browsers and platforms.

Home Page: https://p2p.mirotalk.com

License: GNU Affero General Public License v3.0

JavaScript 60.84% HTML 24.14% CSS 13.50% Dockerfile 0.04% PHP 0.46% Python 0.34% Shell 0.57% Makefile 0.11%
webrtc video-call video-chat video-conferencing webrtc-call webrtc-video screensharing meeting conferencing conference

mirotalk's People

Contributors

anshumanfs avatar berkaycoban avatar bmanojlovic avatar chengyuhui avatar dillfrescott avatar endaquigley avatar jaideep25 avatar l4rm4nd avatar malay5 avatar miroslavpejic85 avatar mmguero avatar mohan43u avatar ni5arga avatar peratik avatar rudrathedev avatar tranchitella 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mirotalk's Issues

Allow screensharing while recording

Curretnly we cannot switch between screen sharing and webcam during recordings. Once recording is started I cannot start or stop screensharing (pressing the screen sharing button has not effect). This feature is essential for recording a talk.

MCU - SFU architecture

Mirotalk not has a intermediate media server for audio - video communication, they are pure peer to peer connections between browsers, therefore it requires a good Bandwidth - CPU.

The current WebRTC Mesh architecture is not optimal for conferences with more than 6-8 users in the same room. The quality of the call is inversely proportional to the number of people on the call. The approximative users supported in a single room should be around 6-8 in an average high-speed connection.

The goal is to have a support media server and adapt the current architecture to MCU (MultiPoint Control Unit) or SFU (Selective Forwarding Unit). To have more users connected in the same room, consuming less bandwidth.

mirotalk-mesh

Socket.IO access url for client

Hello,

i install the app in a nodejs16 srv, but at the first try, i have ERR_CONNECTION_REFUSED for socket.IO url on client side : the port is not included in the url so that's why. Did i made a mistake ? i did not touch the original code.

thks

Stuck on Webpage Loading

I have tried this but it's stuck on the webpage of Loading Please allow the camera and microphone to use this app even though the permissions have already been granted.

Link view output

Hello, thanks for the amazing software

it would be interesting to have an output url for each suitable video so that you could use this project called vingester to convert to NDI, https://github.com/rse/vingester/
.
Individual video outputs will help with video integration with youtube for example, this output should not have camera and audio calls to avoid permission issues.

Testing in windows 10 , chrome and firefox

i'm testing this application in WINDOWS 10 , and i got this error Cross-Origin Request in firefox browser and Failed to load resource: net::ERR_CERT_AUTHORITY_INVALID in Chrome browser so how can we fix it ? and thanks in advance
the first screen in firefox browser , the second screen in chrome browser
Capturefirefox
Capturechrome

ps i followed this documentation :

clone this repo

git clone https://github.com/miroslavpejic85/mirotalk.git

mirotalk dir

cd mirotalk

copy .env.template to .env

cp .env.template .env

install dependencies

npm install

start the server

npm start

Mobile app

Can I connect from the mobile application (IOS, ANDROID ) to the browser room?

Error: port is undefined

Hi,

I run mirotalk behind a reverse proxy with docker-compose.
When I start a meeting, I don't have the video and the sound of the other participant.

In the console of browser, I have this error every 100 milliseconds ~ : Error: port is undefined.

What am I doing wrong ?

Deploying in heroku

hello, i have a bit trouble when deploying it in heroku, how can i deploy it? do i need to
const myPeer = new Peer(undefined, {
host: '/',
port: '443'
})

Video Is Not Showing

When I Am Connecting to The Same internet The Video Is Showing But When I Used Two Different Connections The Other Users Video Is In black Colour Only And Not Showing...

Please Help Mee

Permission Denied

Even after allowing audio and video permission, it shows Permission denied, Maybe it is a problem on my side can you please help me email [email protected]

Record entire meeting

Is this possible to record entire meeting? such as screen sharing, every attendees video cam etc.

Need Help

Hi, Please Help Me. I Am Facing A Problem That When I Downloaded The Mirotalk Zip File After Download I Have Extracted And Opening That Extracted File In Web Server 200 OK And Running It On Microsoft Edge When I Put A New Meeting URL Then It Is Showing File Does Not Exist... Please Help Me Or Give Me The Full Source Code Please...

Can't get secure SSL/TLS connection expose https

Made changes to server.js and client.js to expose https using letsencrypt certificate self hosting, instead of self signed certificate.

Can't connect with browser. Says cannot negotiate SSL/TLS.

And trying to connect to it from localhost mode from another computer on the same network doesn't ever allow access to microphone/video and doesn't continue into the room.

a doubt

On this site you could create something like Skype's NDI or have a solution that can capture participants and we were able to insert it into OBS Studio. It would be very good, because Zoom has not yet developed this feature :(

Error during docker install

I'm trying to install the docker version and I get this error. I'm trying to install it on my ubuntu VPS

Error log

ERROR: for mirotalk  Cannot start service mirotalk: OCI runtime create failed: container_linux.go:370: starting container process caused: process_linux.go:459: container init caused: rootfs_linux.go:59: mounting "/home/mirotalk/.env" to rootfs at "/var/lib/docker/overlay2/c63536f034d94903738c0cb154ea2609baa91a708baff8eb8ffa845536533142/merged/usr/src/app/.env" caused: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type

ERROR: for mirotalk  Cannot start service mirotalk: OCI runtime create failed: container_linux.go:370: starting container process caused: process_linux.go:459: container init caused: rootfs_linux.go:59: mounting "/home/mirotalk/.env" to rootfs at "/var/lib/docker/overlay2/c63536f034d94903738c0cb154ea2609baa91a708baff8eb8ffa845536533142/merged/usr/src/app/.env" caused: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type
ERROR: Encountered errors while bringing up the project.

steps

git clone https://github.com/miroslavpejic85/mirotalk
cd mirotalk

docker-compose up -d

Then image built happened successfully but when trying to deploy I get the error message above.

Improve meeting view

Mirotalk is a great platform for meeting but however the meeting room view is very simple please make it more attractive like zoom or Google meet

Privacy policy is missing

The demo server's website does not identify itself as a demo server, inviting the world to use this tool. Yet no mention is made of whether any (meta)data are retained, and if so what the sharing and retention policies are. A privacy policy would clarify for users whether the demo server can be relied upon, or whether self-hosting is preferable for privacy reasons.

Screensharing and Raise hand

Hi @miroslavpejic85 !
As you had told I have made the issue, some modifications you can do as follows!

  • Could you please do something like, when you screenshare, and turn your video off, the screen share should still work, and the video shouldn't turn on, when you stop sharing.
  • And when you raise your hand the video should get highlighted, because, if someone's video's bg is green, and when they raise their hand, it won't be seen clearly.

Hoping you can add these in your code! Waiting for your reply!
Regards.

How do recordings work?

It's nice that there's a record button. It would be nicer if recorded videos could be accessed somehow. And it would be even nicer if information was provided about where such videos are stored, and whether they can be deleted.

Upgrade to current version

I currently have MiroTalk installed an working, I am not certain of what version that I have installed. I backed up the Mirotalk directory and attempted to install the most current version and I received many errors. What is the location of the log file? Is there a simple way to upgrade to the current version without a reinstallation?

Screenshare audio

Hello! I'm not sure the requesting format or if its possible but is there a way to share the audio of the screen/tab?

Install Error when I run npm install

root@cleanubuntu:~/mirotalk# npm install
npm WARN deprecated [email protected]: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.

> [email protected] postinstall /root/mirotalk/node_modules/ngrok
> node ./postinstall.js

internal/modules/cjs/loader.js:818
  throw err;
  ^

Error: Cannot find module '/root/mirotalk/node_modules/ngrok/postinstall.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15)
    at Function.Module._load (internal/modules/cjs/loader.js:667:27)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
    at internal/main/run_main_module.js:17:47 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] postinstall: `node ./postinstall.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2021-06-11T16_16_34_709Z-debug.log
root@cleanubuntu:~/mirotalk# mc

root@cleanubuntu:~/mirotalk# 

Way of receiving message

Congratulations on the project, it is incredible...

But I think that when the message is received it shouldn't come as an input, if the person is going to reply, they need to delete the received message and then write again. I think it ruins the UX.

Sorry for the english. I used Google Translator

Few problems

Hi Miroslav. thanks for nice work!
Just want to report few issues that I en counted. First is that on your demo website "https://mirotalk.up.railway.app/newcall" I wasn't able to connect even for one to one. Each persont can see and hear only themselves. Seems like signaling server issue. Here is a console log from Firefox:

WebRTC: ICE failed, your TURN server appears to be broken, see about:webrtc for more details
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at data:text/plain;base64,Cg==. (Reason: CORS request not http).
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://googleads.g.doubleclick.net/pagead/id. (Reason: CORS request did not succeed)

Tried with Google Chrome and errors are different but some result. I'm on Fedora 34 if it is matter.

And second thing is that I tried to install mirotalk on Oracle VM with Ubuntu 18.04 and got this:

root@shrisha:~/mirotalk# npm install
npm ERR! Linux 5.4.0-1052-oracle
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install"
npm ERR! node v8.10.0
npm ERR! npm  v3.5.2
npm ERR! code EMISSINGARG

npm ERR! typeerror Error: Missing required argument #1
npm ERR! typeerror     at andLogAndFinish (/usr/share/npm/lib/fetch-package-metadata.js:31:3)
npm ERR! typeerror     at fetchPackageMetadata (/usr/share/npm/lib/fetch-package-metadata.js:51:22)
npm ERR! typeerror     at resolveWithNewModule (/usr/share/npm/lib/install/deps.js:456:12)
npm ERR! typeerror     at /usr/share/npm/lib/install/deps.js:457:7
npm ERR! typeerror     at /usr/share/npm/node_modules/iferr/index.js:13:50
npm ERR! typeerror     at /usr/share/npm/lib/fetch-package-metadata.js:37:12
npm ERR! typeerror     at addRequestedAndFinish (/usr/share/npm/lib/fetch-package-metadata.js:82:5)
npm ERR! typeerror     at returnAndAddMetadata (/usr/share/npm/lib/fetch-package-metadata.js:117:7)
npm ERR! typeerror     at pickVersionFromRegistryDocument (/usr/share/npm/lib/fetch-package-metadata.js:134:20)
npm ERR! typeerror     at /usr/share/npm/node_modules/iferr/index.js:13:50
npm ERR! typeerror This is an error with npm itself. Please report this error at:
npm ERR! typeerror     <http://github.com/npm/npm/issues>
WARN engine [email protected]: wanted: {"node":">=10"} (current: {"node":"8.10.0","npm":"3.5.2"})
WARN engine [email protected]: wanted: {"node":">=10.19.0"} (current: {"node":"8.10.0","npm":"3.5.2"})

npm ERR! Please include the following file with any support request:
npm ERR!     /home/ubuntu/mirotalk/npm-debug.log

Is npm is too old?

Thank you.

request

[#ask, #request]
Hi, how to make accept or reject incoming calls while joining.

i love this mirotalk but there is some bugs

by luck i found this project and am very happy to find it
Now my plan is integrate to new stream php script with mysql but i found some bugs..idont no if you know about it
1-switch camera in mobile
not working with error and after searching i found this test link and i guess have same problem too
https://webrtc.github.io/samples/src/content/devices/input-output/
2- clear chat is deleted locally only not for all users (im not sure if bug or not )
3- anyone can kick anyone even the visitors allowed to kick out the owner of room (im not sure if bug or not )
4- max 6 to 8 per room ( i know is peer to peer connection ) but if you just make any guide about integrate SFU to make it more wider for many users ..i will glad to help in this

and finally ...your project is saved my time and i am very very happy to find it after long search.. i meet mediasoup and others projects but its takes long time to study and modifications....

in the end you help me and thank you very much Mr @miroslavpejic85
And everyone working on this amazing project.. โค๏ธโค๏ธโค๏ธ

Convert

Hello dear friends,
I know this community is very responsive. This is very good things.

I want to convert this app into integrate my Cordova android application

Cordova client side running on node server
But
My Server is PHP MySQL

I want to manage that url meeting link or whatever but control by php server

Please anyone guide me roadmap
I don't have lots of time. 3 days full time.

My major problem is managing links and connected user

Cordova app already have WWW folder
Please help me.

MCU - SFU architecture

Mirotalk has no a intermediate media server for audio - video communication, they are pure peer to peer connections between browsers, therefore it requires a good Bandwidth - CPU.

The current WebRTC Mesh architecture is not optimal for conferences with more than 6-8 users in the same room. The quality of the call is inversely proportional to the number of people on the call. The approximative users supported in a single room should be around 6-8 in an average high-speed connection.

The goal is to have a support media server and adapt the current architecture to MCU (MultiPoint Control Unit) or SFU (Selective Forwarding Unit). To have more users connected in the same room, consuming less bandwidth!

mirotalk-mesh

Any idea, best solution, contributions to reach this goal is very appreciated! โค๏ธ

Thank you so much to all those who believe in this project and who support me!

Unstablity if I connect with 6 users at the same time

can you please tell how to make a stable connection for more than 6 users. its disconnecting after sometime and remove peer reconnect with the stun or turn server. Is there any server requirement and other configuration that you can suggest me ?
Thanks in advance

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.