miroslavpejic85 / mirotalksfu

🏆 WebRTC - SFU - Simple, Secure, Scalable Real-Time Video Conferences Up to 8k, compatible with all browsers and platforms.
https://sfu.mirotalk.com
GNU Affero General Public License v3.0
2.15k stars 340 forks source link

audio and video has problem #88

Closed armanism24 closed 1 year ago

armanism24 commented 1 year ago

Describe the bug

Recently, I have tried to install the application on my own hosting. I have configured it as per the documentation but seems like the audio and video are not working properly. sometimes it got stuck.

To Reproduce

Steps to reproduce the behavior:

  1. Go to https://demo.armanism.com/
  2. Try to join the meeting and see it is not working or not

Server Specifications

CPU: 4 vCPUs Memory: 16 GB RAM OS: Debian 11 Node Version: v16.19.0 npm Version: 9.3.0 Ngnix: 1.18.0 pm2: 5.2.2 Python: 3.9.2

Expected behavior

It should be working as it works on the demo

Desktop - Mobile

miroslavpejic85 commented 1 year ago

Hello @armanism24,

The installation you made following the docs on your own hosting it's ok.

If video ON, when join room, I see in the browser logs:

Produce error: DOMException: Failed to execute 'addTransceiver' on 'RTCPeerConnection': Attempted to set RtpParameters scalabilityMode to an unsupported value for the current codecs.

Got this error with the latest updates of Chrome [109.0.5414.87 (Official Build) (x86_64)] and Safari [16.1 (18614.2.9.1.12)].

With FireFox, Opera, Edge, Brave seems ok.

Can you please try now, with the last commit I made?

Thanks for report it.

armanism24 commented 1 year ago

Thanks for your response. You guys are doing a great job 👍

However, it seems still not working. however, it is working with the demo available on your own domain - https://sfu.mirotalk.com/

I don't know what is the exact issue.

Let me know if you any further information

miroslavpejic85 commented 1 year ago

Thank you, I'm very happy you like it! :)

Now I not see the error described before.

Make sure your firewall not blocking RTC port ranges (40000-40100 UDP/TCP) in case add a inbound rules for that:

Port range Protocol Source Description
3010 TCP 0.0.0.0/0 App listen on tcp
40000-40100 TCP 0.0.0.0/0 RTC port ranges tcp
40000-40100 UDP 0.0.0.0/0 RTC port ranges udp

And make sure your Server Public IPv4 is correctly set in app/src/config.js:

{
    ip: '0.0.0.0',
    announcedIp: 'Server Public IPv4', // 'xx.xxx.xxx.xx'
}

PS: If your IPv4 changes (not static), you can set the announcedIp: '' and will be autodetected.

miroslavpejic85 commented 1 year ago

PS: If your instance is on Amazon ec2

        // WebRtcTransport settings
        webRtcTransport: {
            listenIps: [
                {
                    ip: '0.0.0.0',
                    announcedIp: 'Elastic IP', 
                },
            ],

To prevent the instance changes IP on reboot (static Public IPV4) Create also the Elastic IP to your ec2 instance:

Network & Security
    - ElasticIPs
    - Allocate ELastic IP address

Join also with us on Discord , channel help & support when you can find also answers regarding.

armanism24 commented 1 year ago

Thanks for this. Everything was setup well. It was an issue with announcedIp I forgot to put the public IPv4

Thanks for this. 😊