Comments (6)
Do you have network connectivity between iOS and the signaling server? You can easily check this by opening a browser on iOS and enter server address with the port (in my code it is: https://192.168.1.48:5053). This should show the index page of the server.
from webrtcme.
Yes it is there , actually there was many configuration json files
Demo contains
- appsettings.Development.json ( "BaseUrl": "https://192.168.1.48:5053")
- appsettings.json( "BaseUrl": "https://melihercan.somee.com")
.net Core contains - launchSettings.json ("applicationUrl": "https://192.168.1.48:5053;http://192.168.1.48:5052")=>
launchsettings only required on development process , which means not needed when publishing the app - replaceMe... also there.
I told you it is working on android only which means am walking on right path, and one more thing the NuGet packages still need an update
from webrtcme.
Unlike Android, iOS simulator has no Camera support. That is why I run all my tests on an iOS phone. I thought you are getting the exception due to this call (iOS/MediaView.cs, line 46:
/var/ _videoCapturer = new Webrtc.RTCCameraVideoCapturer();
There is a workaround for this issue by using RTCFileVideoCapturer on simulator like this:
if (DeviceInfo.DeviceType == DeviceType.Virtual)
{
_videoCapturer = new RTCFileVideoCapturer();
_videoCapturer.Delegate = videoSource;
}
else
{
_videoCapturer = new RTCCameraVideoCapturer();
_videoCapturer.Delegate = videoSource;
}
I will add this later.
I did a quick debugging session and figured out that the exception is thrown even before that. It occurs during SignalR HubConnectionBuilder in file SignallingServerProxy and it is related to MessagePAckProtocol. See the comment at line 51:
//// iOS has problems with MessagePack:
//// https://github.com/dotnet/AspNetCore.Docs/blob/main/aspnetcore/signalr/messagepackhubprotocol.md
//.If(DeviceInfo.Platform != DevicePlatform.iOS, builder => builder.AddMessagePackProtocol())
//// Workaround: tick 'Enable the Mono interpreter' option (unticked for release build)
Please check the link for more details, but briefly this has something to do with ahead of time compiling.
See the workaround:
Workaround: tick 'Enable the Mono interpreter' option (unticked for release build)
Unfortunately this option is grayed out for simulator.
So until further analysis and solution, using a real device looks like the only option for now.
from webrtcme.
Link:
MessagePack issue
from webrtcme.
Thank you for your response and effort.
I have one more question , you know most of networks like 4G , ADSL new routers have an Symmetric NATs where the ports keep changing randomly . which means first approach will fail (stun) In cases like this, we have to fall back to TURN
WhatsApp , Facebook Messenger and Skype using TURN approach and that's the expensive solution. So my question was do you think we have to follow TURN ?
from webrtcme.
In general, it is better to employ both STUN and TURN servers. Please check ITurnServerProxy interface. Here we are returning list of RTCIceServers, that can contain both STUN and TURN entries. WebRTC will try to use STUN first and if all STUNs fail, then it will employ TURN as fall back, so your connection will not fail due to Symmetric NATs for example. This is all handled in WebRTC automatically.
If you debug Xirsys server, you will see that they return IceServer entries both in STUN and TURN.
If you are sure that your clients can be NAT discoverable and not symmetric, or not filtered out by firewalls, then you can use STUN only ICE server entries like I do in my StunOnly example.
from webrtcme.
Related Issues (20)
- Latest code not rendering video on Xamarin HOT 4
- Sample projects did not run HOT 1
- If possible please add Sequence diagram so that anyone can integrate it in his/her project. I am planning to use it with Janus server HOT 1
- Please help regarding usage with .NET 6 / current source HOT 14
- WebRTC Video Call in Xamarin with Any Signaling Server HOT 3
- Suggestion: IAsyncDisposable HOT 1
- Middleware Hangup function HOT 3
- Is it possible to use it with Uno Platform HOT 1
- installation HOT 1
- MediaSoup iOS not working HOT 2
- Android native objects are disposed
- Move Desktop (Windows, macOS) to Maui (Windows, macOS) HOT 2
- can you please make a step to step guide or Youtube video for using your framework with Media Soup. HOT 1
- Blazor server demo not working HOT 4
- Does not build - many errors HOT 5
- Blazor hybrid support HOT 1
- Blazor hybrid support HOT 1
- WebRTCme version 1.0.1 HOT 5
- Camera Error
- Chat Error HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from webrtcme.