How can I render remote videos through use remote URI like (skype://urlbinding_sink_1/) using c# or Unity instead XAML?

Guillermo Soto 21 Reputation points
2022-07-26T01:34:04.117+00:00

I am implementing Render remote videos section using Azure Communication Services on a UWP project for PC and I would like to bring it on Unity app for PC.

In the documentation example uses MediaElement and I Know that I can play remote media files using the HTTP and HTTPS URI schemes as mentioned in: Xamarin Community Toolkit MediaElement | Microsoft Learn
224661-screenshot-2022-07-25-192855.png

With that is very easy to see the remote video using the MediaElement.Play() method and using the Source property assigning the URI through XAML.

224642-screenshot-2022-07-25-192737.png

Debugging the example RemoteVideo.Source = remoteUri; contains skype://urlbinding_sink_1/

224662-e8271266-e30f-46ac-879a-f604061f6501.jpg

If I decided to use AbsoluteUri on Unity side, this doesn't work with VideoPlayer.url because the URL property supports local absolute or relative paths and the skype URI scheme is not recognized.

I wondering if Is there another way I can explore either using C# or Unity or some library that can get the video buffer and render the user's incoming video?

I noticed that the schema comes from skype and uses the UDP protocol, and I found this information:

but it does not tell me much, I see that the SDK is available for Android, iOS and Web, and I was wondering if there is an SDK that can take me to Unity? Exist some methods that I can use to render remote videos? Is possible? Instead of use RemoteVideo.Source = remoteUri; and RemoteVideo.Play();

Do you have a REST API that I can get the remote rendering, or through a buffer or something like that?

How can I render remote videos through use remote URI like (skype://urlbinding_sink_1/) using other techniques for c# or using Unity or using a UDP client?

Any help is welcome, Thanks.

Azure Communication Services
Azure Communication Services
An Azure communication platform for deploying applications across devices and platforms.
1,234 questions
{count} votes

Accepted answer
  1. ajkuma 28,036 Reputation points Microsoft Employee Moderator
    2022-08-02T18:38:26.25+00:00

    To benefit the community, summarizing our discussion from the comments:

    --Unity supports a number of target platforms, including UWP: Unity - Manual: Universal Windows Platform (UWP) build settings (unity3d.com) . You may try to target your Unity App to UWP, the problem maybe automatically solved, as XAML Projects [above URL] are supported.

    --You may try the standard Unity VideoPlayer component, but very likely it will use an integrated media pipeline and not the Windows one, so the URI handlers for Skype will probably not work.

    Note: This response contains a reference to a third-party site. I'm just sharing this information as a convenience to you. Microsoft does not control these sites and has not tested any software or information found on these sites; therefore, Microsoft cannot make any representations regarding the quality, safety, or suitability of any software or information found there.

    The bottom line is that if you're fine with developing a UWP App using Unity, then there is no problem whatsoever, as XAML and all WinRT classes are supported in Unity ( I would suggest this approach). Thanks for your patience and collaboration!

    0 comments No comments

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.