Jitsi-meet: Can't see others' participants video

Created on 10 Apr 2015  路  35Comments  路  Source: jitsi/jitsi-meet

I made jitsi-meet installation on fresh Ubuntu 12.04 system (also tried 14.04 with same result) according to these instructions https://github.com/jitsi/jitsi-meet/blob/master/doc/quick-install.md

At the installation, I entered IP of the server as domain name and choose self-signed certificate.

Also I modified config.js, by changing to useStunTurn: true and useIPv6: true (without these modifications result is the same).

Then I tried to open a conference url https://ip-of-server/test. I used two clients from two different machines. Important thing that both of these clients are behind of NAT, while jitsi-meet server is located in internet zone with direct connection to internet.

When the clients entered the conference they are able to see the list of participants also client can see its own video, but can't see the video from other participant. In the browser I see following errors and warnings:

32app.bundle.js?v=56:13129 modifySources not yet stable checking
app.bundle.js?v=56:13448 Jingle error Object {source: "answer"}
app.bundle.js?v=56:13448 Jingle error Object {source: "transportinfo"}
app.bundle.js?v=56:13448 Jingle error Object {source: "transportinfo"}
210app.bundle.js?v=56:13129 modifySources not yet stable checking

In jvb.log errors:

2015-03-10 12:15:38.660 SEVERE: [83] util.UtilActivator.uncaughtException().108 An uncaught exception occurred in thread=Thread[IceUdpTransportManager connect thread,5,main] and message was: null
java.lang.NullPointerException
at net.sf.fmj.media.rtp.RTPSessionMgr.getAllParticipants(RTPSessionMgr.java:1107)
at net.sf.fmj.media.rtp.RTPSessionMgr.getReceiveStreams(RTPSessionMgr.java:1286)
at org.jitsi.impl.neomedia.rtp.translator.RTPTranslatorImpl.getReceiveStreams(RTPTranslatorImpl.java:842)
at org.jitsi.impl.neomedia.rtp.StreamRTPManager.getReceiveStreams(StreamRTPManager.java:199)
at org.jitsi.impl.neomedia.MediaStreamImpl.getReceiveStreams(MediaStreamImpl.java:1508)
at org.jitsi.impl.neomedia.MediaStreamImpl.startReceiveStreams(MediaStreamImpl.java:2753)
at org.jitsi.impl.neomedia.MediaStreamImpl.start(MediaStreamImpl.java:2715)
at org.jitsi.impl.neomedia.MediaStreamImpl.start(MediaStreamImpl.java:2642)
at org.jitsi.videobridge.RtpChannel.maybeStartStream(RtpChannel.java:976)
at org.jitsi.videobridge.Channel.transportConnected(Channel.java:766)
at org.jitsi.videobridge.IceUdpTransportManager.onIceConnected(IceUdpTransportManager.java:1831)
at org.jitsi.videobridge.IceUdpTransportManager.access$800(IceUdpTransportManager.java:42)
at org.jitsi.videobridge.IceUdpTransportManager$3.run(IceUdpTransportManager.java:1874)
2015-03-10 12:15:40.594 INFO: [84] org.ice4j.ice.Agent.setState() ICE state changed from Completed to Terminated
2015-03-10 12:15:40.595 INFO: [84] org.jitsi.videobridge.IceUdpTransportManager.info() ICE processing state of IceUdpTransportManager #1354377d (for channels 7136314d87329eb3 85889bb358954674 cdc152a5f786e509) of conference f4f31915bb874bf7 changed from Completed to Terminated.
2015-03-10 12:15:41.661 INFO: [85] org.ice4j.ice.Agent.setState() ICE state changed from Completed to Terminated
2015-03-10 12:15:41.661 INFO: [85] org.jitsi.videobridge.IceUdpTransportManager.info() ICE processing state of IceUdpTransportManager #5b765f56 (for channels f23f5962c4b82c8 ef96ca9388dcf5e4 5329766f48e44b8f) of conference f4f31915bb874bf7 changed from Completed to Terminated.
2015-03-10 12:15:43.472 INFO: [86] org.ice4j.ice.ConnectivityCheckClient.processTimeout() timeout for pair: xx.xx.xx.xx:10005/udp/host -> 192.168.0.100:33374/udp/host (stream.RTP), failing.
2015-03-10 12:15:44.538 INFO: [87] org.ice4j.ice.ConnectivityCheckClient.processTimeout() timeout for pair: [2001:19f0:300:6102:5400:ff:fe07:ae4a]:10006/udp/host -> [2001:0:9d38:6ab8:2cd8:3536:a6e0:8c92]:50355/udp/host (stream.RTP), failing.
2015-03-10 12:15:44.548 INFO: [88] org.ice4j.ice.ConnectivityCheckClient.processTimeout() timeout for pair: [2001:19f0:300:6102:452d:e7fc:e5b8:879f]:10006/udp/host -> [2001:0:9d38:6ab8:2cd8:3536:a6e0:8c92]:50355/udp/host (stream.RTP), failing.
2015-03-10 12:15:44.558 INFO: [89] org.ice4j.ice.ConnectivityCheckClient.processTimeout() timeout for pair: xx.xx.xx.xx:10006/udp/host -> 192.168.136.1:50356/udp/host (stream.RTP), failing.
2015-03-10 12:15:44.570 INFO: [90] org.ice4j.ice.ConnectivityCheckClient.processTimeout() timeout for pair: xx.xx.xx.xx:10006/udp/host -> 192.168.76.1:50357/udp/host (stream.RTP), failing.
2015-03-10 12:15:44.579 INFO: [91] org.ice4j.ice.ConnectivityCheckClient.processTimeout() timeout for pair: xx.xx.xx.xx:10006/udp/host -> 192.168.0.130:50358/udp/host (stream.RTP), failing.
2015-03-10 12:17:10.911 INFO: [92] org.jitsi.videobridge.Content.info() Expired content audio of conference 3f6aea096463f322. The total number of conferences is now 2, channels 6, video streams 4.
2015-03-10 12:17:10.912 INFO: [92] org.jitsi.videobridge.Content.info() Expired content video of conference 3f6aea096463f322. The total number of conferences is now 2, channels 6, video streams 4.
2015-03-10 12:17:10.912 INFO: [92] org.jitsi.videobridge.Content.info() Expired content data of conference 3f6aea096463f322. The total number of conferences is now 2, channels 6, video streams 4.
2015-03-10 12:18:10.912 INFO: [92] org.jitsi.videobridge.Conference.info() Expired conference 3f6aea096463f322. The total number of conferences is now 1, channels 6, video streams 4.

Most helpful comment

I have this same problem on Azure servers.
All you need is

modify sip-communicator.properties file located at /etc/jitsi/videobridge

and add 2 lines

org.jitsi.videobridge.NAT_HARVESTER_LOCAL_ADDRESS=Here you private adress (it is displayed in azure portal)
org.jitsi.videobridge.NAT_HARVESTER_PUBLIC_ADDRESS=Here you public adress (it is displayed in azure portal)

and

open ports incoming ports
https and 10000-20000

All 35 comments

Are the clients behind simple NAT or a firewall?

They are behind the router (which makes NAT) and without any port forwarding from internet to local network.

Can the clients connect to https://meet.jit.si?

Yes, they can connect and see each other.

Are outgoing/incoming connections from/to the server being filtered in any way?

No, there are no any filters to the server or on the server.

Do you notice anything else interesting happening before ICE fails? Could you please share the logs before the exception happens? Enabling debug/fine/finest log output can be helpful too.

OK, I'll do it right now, could you tell which option in jitsti/videobridge/config enables finest log?

You can change this through the logging.properties file. Its location depends on how you've installed the JVB. If you're on Debian/Ubuntu then you're looking for /usr/share/jitsi-videobridge/lib/logging.properties if I recall correctly. If you're running it from source through the jvb.sh script, then it's under lib/logging.properties.

This is the log file https://45.63.15.11/libs/jvb.log

I'm not sure what's going on. I see some very suspicious failures to obtain EC2 instance addresses and some socket failures. You might want to ask in the list. Maybe somebody there has more info about this.

What is interested that I don't use Amazon EC2 at all.

Then that's probably the reason why they fail. They're automatically activated and because you're not running on the Amazon EC2 infrastructure they fail. Not that much suspicious after all.

From the ICE code I see, that it detects amazon by fetching content from this URL http://169.254.169.254/latest/meta-data/
If the content can be downloaded, then it thinks that the instance is running on Amazon EC2.

I tried to get the content from the server by this URL and have got it. Very interesting.

That address is not a public address, it is in the same scope as 10.x.x.x, 192.168.x.x etc, many people around the world could have this address, it is private. 169.254.169.254 is used in Amazon EC2 and other cloud computing platforms to distribute metadata to cloud instances.

I have blocked this address by iptables -A OUTPUT -p tcp -d 169.254.169.254 -j DROP, but there is still no video from others

I think I resolved the issue. After adding "vultr.guest" to /etc/hosts I've got the video from other participants. Thank you very much for help in detecting the cause of the issue!

"I tried to get the content from the server by this URL and have got it. Very interesting."

Maybe we need to improve the detection or at least fail more gracefully if we get garbage from the URL. Until then you can set this property for the bridge to avoid blocking the address:
org.jitsi.videobridge.DISABLE_AWS_HARVESTER=true

I would be very pleased to get this issue resolved

I am not able to see other participants audio and video , but chat is working fine between participants . participant's self video is visible.
I have referred several issues (ex.267,277,234 etc.)but i believe my issue is different,hence pls help me
I installed this on Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-66-generic x86_64).
This is a Virtual server in cloud and I am connected to that network over VPN(and the other participant as well) .iptables is disabled.I Tested in meet.jit.si and is working fine.
java version "1.7.0_79";OpenJDK Runtime Environment (IcedTea 2.5.6) (7u79-2.5.6-0ubuntu1.14.04.1);OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)
I have enable to capture ALL logs , and willing to share the jvb.log file.I am sharing few of the observations from the logs as below:
INFO: [10] org.jitsi.impl.configuration.ConfigurationServiceImpl.info() failed to find jitsi-defaults.properties with class loader, will continue without it
WARNING: [23] org.ice4j.socket.MuxServerSocketChannelFactory.() ICE4J does not support sharing of listening endpoints (probably because it is not running on JDK 8).
2015-10-22 15:57:18.994 WARNING: [23] org.jitsi.videobridge.IceUdpTransportManager.warn() Failed to initialize TCP harvester on port 443: java.net.SocketException: Permission denied. Retrying on port 4443.
2015-10-22 15:57:18.995 INFO: [23] org.ice4j.ice.harvest.MultiplexingTcpHostHarvester.addLocalAddresses() Not using link-local address /fe80:0:0:0:250:56ff:fea7:5116%2 for TCP candidates.
2015-10-22 15:57:19.001 FINEST: [23] sun.net.www.protocol.http.HttpURLConnection.plainConnect() ProxySelector Request for http://169.254.169.254/latest/meta-data/
2015-10-22 15:57:19.514 INFO: [23] org.jitsi.videobridge.IceUdpTransportManager.info() Initialized TCP harvester on port 4443, using SSLTCP:true
I tried to update few configs as per issue 267 but still the above error. kindly help .Appreciate your support!

Regards,Asik.S

@xplicit Hello, if you see this reply I would like to ask you a question is how to solve the above problem, I also encountered the same problem, I hope to get your help can contact me through the mail [email protected]. "Vultr.guest" is what?

@xplicit I am also facing the same issue.
I have installed the jitsi-meet on this server but it is not sharing the videos with other. Same issue as you described in your description. Can you please give me some idea to about "Vultr.guest" .
My Jitsi-meet is installed on following server aws instance of Ubuntu.
https://52.21.44.9

Can you please reply me on [email protected] or here

@youjunyi @singhdarshan It's just the host name of the machine, where jitsi is running.

@xplicit
Thank you, I have solved this problem, I have a problem with the hosting service name.

I am having the same issue after an update over 2 weeks ago.
The system was running perfectly and no i cannot see other participants, only the avatar.
I have tried to add the *.guest option in the /etc/hosts file and have also tried the AWS harvester settings that are recommended to add to the .properties files.

Has anyone had any luck without having to do a clean install of the OS as that is a pretty sloppy solution for something that has obviously been cause by updates and not servers. I have removed and purged all jitsi files and re-installed again with no luck.

I solved my issue

Hello scrolls-mckenzie could you please tell me how you solved your issue?
Thanks and have a nice day,

Hi @beankylla
Have you checked your UDP ports?

what are the TCP/UDP ports you have opened ?

I have used hostname to access the v/conference and have same problem. None of the 2 participants see/hear each other, but see only themselves. No problem when using meet.jit.si. Any help appreciated!

I have this same problem on Azure servers.
All you need is

modify sip-communicator.properties file located at /etc/jitsi/videobridge

and add 2 lines

org.jitsi.videobridge.NAT_HARVESTER_LOCAL_ADDRESS=Here you private adress (it is displayed in azure portal)
org.jitsi.videobridge.NAT_HARVESTER_PUBLIC_ADDRESS=Here you public adress (it is displayed in azure portal)

and

open ports incoming ports
https and 10000-20000

This is still an issue. :/

I'm wondering if it has to do with CloudFlare.

@herbat73 Your method works for me. Thanks!

Hey @herbat73! Your solution works like a charm in Azure. Thank you very much!!
I only needed to restart the server after the configuration file change and everything worked correctly.

I didn't have my udp port 10000 open on my EC2. If you read this, be sure to check.

Can confirm the previous commenter's point that opening ports (even all of them at first, to test this hypothesis) should be your first, ahem, port of call.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ranjithrajv picture ranjithrajv  路  3Comments

mfts picture mfts  路  3Comments

ralgozino picture ralgozino  路  3Comments

532910 picture 532910  路  3Comments

VogtAI picture VogtAI  路  3Comments