microsoft / WebRTC-universal-samples

WebRTC samples for the Universal Windows Platform.
177 stars 70 forks source link

About PeerCC #53

Open YUEJINYUAN opened 5 years ago

YUEJINYUAN commented 5 years ago

Your readme tells me a lot of mistakes, but what I care most about is how to make the Peer Connection Client. WebRtc. UnityD3D solution work successfully. I downloaded 17134 and told me that I couldn't find 16299, and that my VS couldn't find many parts of my SDK on Assembly-CSharp, which made me feel very sad.

jamescadd commented 5 years ago

Apologies for the incorrect documentation and appreciate you calling this out. Did you install the debugger tools with the SDK? If you can post the VS Output I can take a look and see what's missing.

YUEJINYUAN commented 5 years ago

In fact, after reading your article on WebRTC, I admire you. I'm not angry about the errors in the documentation, because it's good for you to maintain the project while working. On the contrary, I think it's because I'm not competent enough to understand your project very hard. I've seen Webrtc-uwp-sdk and ortclib-sdk before, and I also made serious mistakes in trying to follow the steps they gave me, so I chose Sample to learn about the application of this in Hololens.

YUEJINYUAN commented 5 years ago

According to the general meaning in your document, I tried to start with PeerConnection Client. WebRtc. UnityD3D in PeerCC-Sample. I tried to compile the PeerConnection Client Unity section and failed. In advance, I just changed the path of Unity in it. The SDK I had on my PC was 10.0.17763 and 10.0.17134. I think they are enough. I tried to redirect the project to point them to the correct version. This is not 16299. The default startup item for the whole project is MediaEngine UWP. Then I try to generate the ClientUnity section directly. The configuration is release and x86, but the error after running is that the SDK "Windows Slot Version = 10.0.16299" can not be found, as well as Desktop, Team and Mobile, which are all errors. Then there's a bunch of warnings: Assembly-CSharp didn't find the component referenced above, PeerConnection Client Unity didn't find other components like UnityPlayer.

jamescadd commented 5 years ago

Well, I appreciate the consideration but I do need to fix the documentation. You will need to install 16299 for the Unity sample and make sure to include the "Debugging Tools for Windows" during install. The projects have not been tested with retargeting to newer SDKs.

As a heads up it's holiday in the US and I'll be out for the next 2 weeks. @morosev can you assist? When I return I'll update the same with the latest Unity tooling. You can build the latest code manually if you like but it would likely be more difficult. Here are the steps in case you're interested:

1) git clone --recursive -b Mosa/m62-peercc-unity https://github.com/ortclib/ortclib-sdk.git ortclib-sdk-m62-unity 2) Open ortclib-sdk-m62-unity\webrtc\windows\solutions\WebRtcUnity.sln 3) Select x86 platform and build PeerConnectionClientUnityCore 4) Open Unity 2018.2.13f1 and export the project 5) Edit manifest file

morosev commented 5 years ago

Sure. The instructions are up to date. You can find more details in README of ortclib-sdk repository. Keep in mind that the latest version uses IL2CPP scripting backend which must be installed with Unity Editor.

YUEJINYUAN commented 5 years ago

After re-installing the system and software, I built these things with reference to # 40 and had to say that # 40 helped me a lot, but I still had some difficulties here.

In advance, I adjusted serveraddress in ControlScript to ensure that it used my hosted signaling server. Then I used PeerConnectionClient. WebRtc to build my PC client and PeerConnectionClient. WebRtc. UnityD3D to build my Hololens client.

With the help of # 40, I succeeded in building them.

After opening the signaling servers, I tried to enable them to make calls, and both sides could normally connect to the signaling servers. But when I called, Hololens quickly called an external camera (I noticed a red camera sign on my glasses) and a few seconds later, something went wrong. Emmmmm... at this point it's probably like this:

External cameras are still in use, but the program is interrupted (if I click on app through hololens after deployment, it will jump out and show the PeerCC program sleeping (like the white box shown when we normally close the program in hololens), and if I re-enter, it will re-enter the program...) It looks like Hololens client crash restart.

The above includes my call with hololens/PC. And I encode with H264

Additionally, all of the above is done by my PC, which means signaling service, PC client on the same computer.

@jamescadd Hope to get your thoughts about hololens client program crash.

Thank you

YUEJINYUAN commented 5 years ago

@morosev
Do you have any good suggestions about your ortc library?

I browsed your repository, and jamescadd didn't give me any steps about bin / prepare. bat. What should I do? In addition, do I need to download VS2015, or I can choose to try the example directly?

jamescadd commented 5 years ago

Hi @YUEJINYUAN - the latest Unity repository is available on this branch. I would recommend starting here: https://github.com/webrtc-uwp/webrtc-uwp-sdk/tree/Mosa/m71-unity-fixes

The steps for prepare.bat are no longer required, and it's possible to just load the .sln file and begin a build in Visual Studio. See the readme.md file for additional instructions.