I have followed the steps in the tutorials given by the depthkit team for sending and receiving data via WebRTC.
Sending seems normal. As for the receiver, the data appears inconstantly, in randoms executions, both on Unity and on a build. It’s seems that it looses it’s connection with the sender. I am not sure what to do, but I do have some errors, warnings and logs to provide
Since I can only add one embeded media, I am uploading a link to google drive containing all the logs!
Thanks for your time!
@TalisReks Hi, and sorry to hear you’re having this issue.
First, I have just now updated the Livestreaming with WebRTC: Unity Render Streaming documentation to reflect recent changes added to Unity’s Render Streaming package version 3.1.0-exp.7, including including the renaming of the “Render Streaming” component to “Signaling Manager” and updated signaling server settings - Can you confirm this is the version of the Unity Render Streaming package you are using?
Next, it sounds like you are testing over a local network with the following arrangement - Can you confirm?:
- Sender PC - Running Depthkit, the Unity Sender application, and the local signaling server (in websocket mode)
- Receiver Computer - Running the Unity Receiver application
- Local Connection - Are these computers both connected to the same local network using hardwired Ethernet or Wi-Fi?
Finally, it looks from the logs like perhaps the Unity Sender is attempting to open the microphone on one of the Azure Kinects being used by Depthkit. The Azure Kinect are listed in the logs as audio devices 0 & 2 - Is the Sender’s Audio Stream Sender component > Microphone Device Index value set to either of these? If so, change it to one of the other devices (1 or 3) and see if that fixes that issue.
@TalisReks Also, in addition to the above, can you also confirm the resolution of the Depthkit clip and/or livestream that you are sending through the WebRTC connection?
At first, we were using the exp.7 version, but we downgraded to exp.6 and the problem persisted!
We are not testing over a local network. We are testing over the internet: with the sender project in Brazil and the receiver project in the US. I managed to get it to work over the internet with two computers in different networks, but both of them were in Brazil. And again, the “random” problem appeared: the data receiving is kinda random, sometimes the receiver gets it, sometimes it gets only like a frame of information, sometimes it does not get anything.
As for the microphone problem: I don’t think it is happening anymore. The only errors shown on the console are the above:
The resolution of the clip is 1200 by 1200!
@TalisReks Thanks for the update.
We recommend using the exp.7 version of the Render Streaming Packages as that’s what we’ve tested with using the most recent versions of our code snippets.
Can you confirm that only one instance of the receiver is connected at a time? In the simple example in our documentation, if multiple receivers are trying to connect to the sender, the stream will fail. (This is only the case for our example, but can be modified to support multiple concurrent connections.)
One of your errors says that
WS [Websocket server] is not connected. Unable to send message. This could also be caused by connectivity issue between the sender/receiver and the server. We have run into similar issues when trying to connect via a remote server from a network which wasn’t configured properly (NAT, firewall settings, etc.). Have you tried connecting to the same server from the sender and receiver locations using the Bi-directional Example that comes with the Unity Render Streaming Packages? Do you get the same errors?
Sorry about the WS connected error! I sent the wrong print to you! The right one is above! The signaling server is in fact opened, but the other errors happen aswell!
The real print is the one bellow:
@TalisReks We haven’t seen this error before - Can you post the full error message that appears when you select one of the errors in your screenshot?
Sure. Here is it. I am uploading it to the google drive again, in a folder called 28-06
Just for you guys to know: on the google drive link that I firstly sent, there is a log which is showing a NullReferenceError. Along with this “Sequence contains no elements”, these were the two main errors that were happening when someone tried to connect as a receiver. And the NullReference one refered to a method called SetTransceiver
@TalisReks I understand that after speaking with our team, you are testing connectivity using just the Bidirectional example provided with the Unity Render Streaming Packages, and confirming that that works before re-introducing the Depthkit packages back into the project. Please keep us updated with your progress - Thanks!
Tested the Render Streaming package without the Depthkit, and it works just fine, without showing any errors. I was unable to use a hosted environment thought, just used the signaling server provided with the package.
I am using Unity 2020.3.48f1