Giter Club home page Giter Club logo

webrtc-mrvc-sample's Introduction

WebRTC Mixed Remote View Compositor

Similar to Mixed Remote View Compositor from MixedRealityCompanionKit, WebRTC Mixed Remote View Compositor (WebRTC MRVC) provides the ability for developers to incorporate near real-time viewing of HoloLens experiences from within a viewing application. This is achieved through low level Media Foundation components that use WebRTC to transmit the data from the device to a remote pc viewing application. Through the Media Foundation capture pipeline, WebRTC captures and encodes the live camera data with its associated data. The data is then transmitted to the remote viewing application that will be decoded and displayed with respect to the device transformations. This sample uses Urho as the rendering engine on both desktop and HoloLens.

webrtc-mrvc

Prerequisites

How to build

  • From your terminal, recursively clone this repo to obtain all the source code needed to build the sample: git clone --recursive https://github.com/phongcao/webrtc-mrvc-sample.git
  • Run .\setup.cmd from the Windows command line to download and build WebRTC components.
  • Open the WebRTCMRVCSample solution in Visual Studio, build and deploy UrhoUWPHoloLens project for HoloLens and UrhoUWPDesktop project for the desktop (the remote pc viewing application).

How to run

  • Connect both HoloLens and desktop apps to the same signaling server.
  • Issue voice command Call on HoloLens to initialize the capturing process.

webrtc-mrvc-sample's People

Contributors

kevinhartman avatar phongcao avatar

Stargazers

 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

webrtc-mrvc-sample's Issues

Setup.cmd fails to build WebRTC

When I run Setup.cmd from the command prompt, the development environment sets up successfully and the initial WebRTC build setup proceeds successfully as well. However, it fails when compiling webrtc native libs at 60/2330.

[59/2330] CXX obj/third_party/libyuv/libyuv_internal/convert_argb.obj FAILED: obj/third_party/libyuv/libyuv_internal/convert_argb.obj ninja -t msvc -e environment.winuwp_x86 -- "c:\program files (x86)\microsoft visual studio\2017\professional\vc\tools \msvc\14.15.26726\bin\hostx64\x86\cl.exe" /nologo /showIncludes @obj/third_party/libyuv/libyuv_internal/convert_argb .obj.rsp /c ../../third_party/libyuv/source/convert_argb.cc /Foobj/third_party/libyuv/libyuv_internal/convert_argb.ob j /Fd"obj/third_party/libyuv/libyuv_internal_cc.pdb" c:\program files (x86)\windows kits\10\include\10.0.17134.0\ucrt\corecrt_wstdlib.h(440): error C2375: '_wputenv': redef inition; different linkage [C:\webrtc-mrvc-sample\webrtc\webrtc\windows\projects\msvc\WebRtc.UWP.Native.Builder\ WebRtc.UWP.Native.Builder.vcxproj] C:\webrtc-mrvc-sample\webrtc\webrtc\xplatform\webrtc\third_party\winuwp_compat\winuwp_compat_std.h(91): note: see declaration of '_wputenv' c:\program files (x86)\windows kits\10\include\10.0.17134.0\ucrt\stdlib.h(1191): error C2375: 'getenv': redefinition; d ifferent linkage [C:\webrtc-mrvc-sample\webrtc\webrtc\windows\projects\msvc\WebRtc.UWP.Native.Builder\WebRtc.UWP .Native.Builder.vcxproj] C:\webrtc-mrvc-sample\webrtc\webrtc\xplatform\webrtc\third_party\winuwp_compat\winuwp_compat_std.h(54): note: see declaration of 'getenv' c:\program files (x86)\windows kits\10\include\10.0.17134.0\ucrt\stdlib.h(1208): error C2375: '_dupenv_s': redefinition ; different linkage [C:\webrtc-mrvc-sample\webrtc\webrtc\windows\projects\msvc\WebRtc.UWP.Native.Builder\WebRtc. UWP.Native.Builder.vcxproj]

Afterwards, it fails at most of the other items before printing a large amount of red failure text that's all about the same linkage redefinition issue, reporting around 20 errors in total.

I'm wondering if something is wrong with my environment, but I'm not sure. I should have the latest version of the W10 SDK and Visual Studio.

"mono-urho" warnings building UrhoUWPDesktop and UrhoUWPHololens

I'm able to build the solution, but I got lots of warning like the below example, for many methods which should belong to the module "mono-urho":
MCG0004: The method 'SDL_SendAppEvent' was not found in module 'mono-urho' specified by DllImport method 'System.Int32 Urho.Sdl.SDL_SendAppEvent(System.Byte)'. Calling this method would throw exception at runtime.
I'm using VS Enterprise 2017 15.8.7

UrhoSharp Texture2D does not contain the function GetGPUObject

Hi,

I tried to build the UrhoUWPDesktop project, but got the following error. The UrhoSharp NuGet Package originally specified in the project is 1.8.0, but it is not available in the NuGet server now. I use the latest version 1.8.93 but apparently its Texture2D class does not expose the GetGPUObject function. Any idea how to fix it?

Severity Code Description Project File Line Suppression State
Error CS1061 'Texture2D' does not contain a definition for 'GetGPUObject' and no accessible extension method 'GetGPUObject' accepting a first argument of type 'Texture2D' could be found (are you missing a using directive or an assembly reference?) UrhoUWPDesktop D:\projects\webrtc-mrvc-sample\UrhoUWPDesktop\UrhoApplication.cs 141 Active

H264 is not supported

Currently, only VP8 is supported. To make it work for H264:

  • Update camera transform RTP header extensions
  • Add video decoder for H264 and synchronize frames.

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.