ionorg / ion Goto Github PK
View Code? Open in Web Editor NEWReal-Distributed RTC System by pure Go and Flutter
License: MIT License
Real-Distributed RTC System by pure Go and Flutter
License: MIT License
Because we cant use ion on Flutter Desktop we hit on the idea of actually just opening ion in a new Windows that is a Desktop Webview.
The main FLutter app then opens a new window on the desktop just to play ion functionality.
There are 2 desktop webviews we are experimenting with.
https://github.com/zserge/webview/tree/webview-x
The other one is a rust based one.
It would be useful for some use cases if WebRTC can run on Mobiles as a Flutter Web.
It seems that the WebView on Mobile does NOT give access to the required APIS.
So what about as a PWA then.
What about NOT as a PWA ?
What about Local notifications ?
i found no use rabbitmq, but docker-compose.yml and installDeps.sh contains rabbitmq
From our discussion, just coping the notes here:
Problem:
How to make the KV store support HA aspects ? Aspects:
Solutions:
https://github.com/yongman/tidis
In a one to many/many to many scenario, if a single user of the conference can't handle the bitrate, it would affect all the users in the conference lowering the quality of the video.
If the puplisher uploads at least 2 video quality at the same time [HD,QVGA...] , the SFU router can switch between these qualities, instead lowering the bitrate of publisher.
Reference:
opentok
This needs to be WAY smaller. Will work on investigating now.
pionwebrtc/ion-biz latest 6bed15054e37 2 days ago 29.2MB
pionwebrtc/ion-islb latest 538f5994c58e 2 days ago 31.2MB
pionwebrtc/ion-sfu latest c99a3a78a84c 2 days ago 33.3MB
pionwebrtc/ion-web latest ec77afe750f6 2 days ago 476MB
`root@iot-one:/opt/ion# /opt/ion/bin/biz -c /opt/ion/configs/biz.toml
config /opt/ion/configs/biz.toml load ok!
2020-03-14 23:27:53.715 INF --- Starting Biz Node ---
2020-03-14T23:27:53Z INF WebSocketServer listening on: 0.0.0.0:8443
2020-03-14 23:27:53.715 INF Start pprof on :6060
2020-03-14 23:27:53.715 INF New Service Node Registry: etcd => [127.0.0.1:2379]
2020-03-14 23:27:53.716 INF New Service Watcher: etcd => [127.0.0.1:2379]
2020-03-14 23:27:53.716 INF Start service watcher => [islb].
{"level":"warn","ts":"2020-03-14T23:27:58.717+0800","caller":"clientv3/retry_interceptor.go:61","msg":"retrying of unary invoker failed","target":"endpoint://client-7ec9fc0d-d165-4150-bf83-b1b54c84d266/127.0.0.1:2379","attempt":0,"error":"rpc error: code = DeadlineExceeded desc = latest connection error: connection closed"}
2020-03-14 23:27:58.717 PNC context deadline exceeded
panic: context deadline exceeded
goroutine 1 [running]:
github.com/rs/zerolog.(*Logger).Panic.func1(0xc0008b4040, 0x19)
/root/go_work/pkg/mod/github.com/rs/[email protected]/log.go:338 +0x4f
github.com/rs/zerolog.(*Event).msg(0xc00009e5a0, 0xc0008b4040, 0x19)
/root/go_work/pkg/mod/github.com/rs/[email protected]/event.go:146 +0x200
github.com/rs/zerolog.(*Event).Msgf(0xc00009e5a0, 0xd2a258, 0x2, 0xc0000dde98, 0x1, 0x1)
/root/go_work/pkg/mod/github.com/rs/[email protected]/event.go:126 +0x83
github.com/pion/ion/pkg/log.Panicf(0xd2a258, 0x2, 0xc0000dde98, 0x1, 0x1)
/opt/ion/pkg/log/log.go:49 +0x6d
github.com/pion/ion/pkg/discovery.(*ServiceWatcher).WatchServiceNode(0xc000916c20, 0xd2ac45, 0x4, 0xd684d0)
/opt/ion/pkg/discovery/node.go:142 +0x293
main.main()
/opt/ion/cmd/biz/main.go:41 +0x3ab
`
Run container exposing port 8080, connect to bash environment
docker run -it --rm -p 8080:8080 -v $(pwd):/root/ion android-flutter /bin/bash
Create flutter project using instructions:
cd ~/ion/sdk/flutter/example
./scripts/project_tools.sh create
Create flutter project: name=ion_flutter_example, org=com.github.pion.ion ...
Setting "enable-macos-desktop" value to "true".
You may need to restart any open editors for them to read new settings.
Setting "enable-web" value to "true".
You may need to restart any open editors for them to read new settings.
Recreating project ....
android/ion_flutter_example_android.iml (created)
android/app/build.gradle (created)
android/app/src/main/java/com/github/pion/ion/ion_flutter_example/MainActivity.java (created)
android/build.gradle (created)
.idea/workspace.xml (created)
.idea/runConfigurations/main_dart.xml (created)
.idea/libraries/KotlinJavaRuntime.xml (created)
.idea/libraries/Dart_SDK.xml (created)
.idea/libraries/Flutter_for_Android.xml (created)
.idea/modules.xml (created)
ion_flutter_example.iml (created)
.metadata (created)
ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme (created)
ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata (created)
ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (created)
ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings (created)
ios/Runner/Info.plist (created)
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] (created)
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] (created)
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] (created)
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] (created)
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] (created)
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] (created)
ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json (created)
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] (created)
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] (created)
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] (created)
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] (created)
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] (created)
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] (created)
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] (created)
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] (created)
ios/Runner/Assets.xcassets/AppIcon.appiconset/[email protected] (created)
ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png (created)
ios/Runner/Assets.xcassets/LaunchImage.imageset/[email protected] (created)
ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md (created)
ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json (created)
ios/Runner/Assets.xcassets/LaunchImage.imageset/[email protected] (created)
ios/Runner/Base.lproj/LaunchScreen.storyboard (created)
ios/Runner/Base.lproj/Main.storyboard (created)
ios/Flutter/AppFrameworkInfo.plist (created)
ios/Flutter/Debug.xcconfig (created)
ios/Flutter/Release.xcconfig (created)
ios/Runner.xcworkspace/contents.xcworkspacedata (created)
ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (created)
ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings (created)
ios/.gitignore (created)
ios/Runner.xcodeproj/project.pbxproj (created)
ios/Runner/AppDelegate.m (created)
ios/Runner/AppDelegate.h (created)
ios/Runner/main.m (created)
android/settings.gradle (created)
android/app/src/profile/AndroidManifest.xml (created)
android/app/src/debug/AndroidManifest.xml (created)
android/app/src/main/AndroidManifest.xml (created)
android/app/src/main/res/mipmap-xhdpi/ic_launcher.png (created)
android/app/src/main/res/mipmap-hdpi/ic_launcher.png (created)
android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png (created)
android/app/src/main/res/drawable/launch_background.xml (created)
android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png (created)
android/app/src/main/res/values/styles.xml (created)
android/app/src/main/res/mipmap-mdpi/ic_launcher.png (created)
android/gradle.properties (created)
android/gradle/wrapper/gradle-wrapper.properties (created)
android/.gitignore (created)
macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme (created)
macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (created)
macos/Runner.xcodeproj/project.pbxproj (created)
macos/Runner/Configs/AppInfo.xcconfig (created)
macos/Runner/Configs/Debug.xcconfig (created)
macos/Runner/Configs/Warnings.xcconfig (created)
macos/Runner/Configs/Release.xcconfig (created)
macos/Runner/AppDelegate.swift (created)
macos/Runner/DebugProfile.entitlements (created)
macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png (created)
macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png (created)
macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png (created)
macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png (created)
macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png (created)
macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png (created)
macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json (created)
macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png (created)
macos/Runner/Release.entitlements (created)
macos/Runner/Info.plist (created)
macos/Runner/MainFlutterWindow.swift (created)
macos/Runner/Base.lproj/MainMenu.xib (created)
macos/Flutter/Flutter-Debug.xcconfig (created)
macos/Flutter/Flutter-Release.xcconfig (created)
macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (created)
macos/Runner.xcworkspace/contents.xcworkspacedata (created)
macos/.gitignore (created)
web/index.html (created)
web/icons/Icon-512.png (created)
web/icons/Icon-192.png (created)
web/favicon.png (created)
web/manifest.json (created)
test/widget_test.dart (created)
Running "flutter pub get" in example... 3.6s
Wrote 100 files.
All done!
[โ] Flutter: is fully installed. (Channel dev, v1.16.4-pre.33, on Linux, locale en_US)
[โ] Android toolchain - develop for Android devices: is fully installed. (Android SDK version
29.0.0)
[โ] Chrome - develop for the web: is not installed. (Cannot find chrome executable at
google-chrome)
[!] Android Studio: is not available. (not installed)
[โ] Connected device: is fully installed. (1 available)
Run "flutter doctor" for information about installing additional components.
In order to run your application, type:
$ cd .
$ flutter run
Your application code is in ./lib/main.dart.
Add permission labels to iOS.
Insert <key>NSCameraUsageDescription</key> to line 25
Insert <string>$(PRODUCT_NAME) Camera Usage!</string> to line 26
Insert <key>NSMicrophoneUsageDescription</key> to line 27
Insert <string>$(PRODUCT_NAME) Microphone Usage!</string> to line 28
Traceback (most recent call last):
File "add-line.py", line 75, in <module>
main(sys.argv[1:])
File "add-line.py", line 69, in main
replaceText(inputfile, string, text)
File "add-line.py", line 36, in replaceText
with open(filename, 'r') as fp:
FileNotFoundError: [Errno 2] No such file or directory: '../ios/Podfile'
Add permission labels to AndroidManifest.xml.
Replace minSdkVersion 16 to minSdkVersion 18
Insert <uses-permission android:name="android.permission.CAMERA" /> to line 8
Insert <uses-permission android:name="android.permission.RECORD_AUDIO" /> to line 9
Insert <uses-permission android:name="android.permission.WAKE_LOCK" /> to line 10
Insert <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> to line 11
Insert <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> to line 12
Insert <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> to line 13
Insert <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> to line 14
Add permission labels to macOS.
Insert <key>NSCameraUsageDescription</key> to line 19
Insert <string>$(PRODUCT_NAME) Camera Usage!</string> to line 20
Insert <key>NSMicrophoneUsageDescription</key> to line 21
Insert <string>$(PRODUCT_NAME) Microphone Usage!</string> to line 22
Insert <key>com.apple.security.device.camera</key> to line 11
Insert <true/> to line 12
Insert <key>com.apple.security.device.microphone</key> to line 13
Insert <true/> to line 14
Insert <key>com.apple.security.network.client</key> to line 15
Insert <true/> to line 16
Insert <key>com.apple.security.device.camera</key> to line 7
Insert <true/> to line 8
Insert <key>com.apple.security.device.microphone</key> to line 9
Insert <true/> to line 10
Insert <key>com.apple.security.network.client</key> to line 11
Insert <true/> to line 12
Flutter for iOS may have changed, and hence this error FileNotFoundError: [Errno 2] No such file or directory: '../ios/Podfile'
Ignored this error as it is not required for Android
Build Release and Debug apk for arm64 (easiest one to test for me):
flutter build apk --target-platform=android-arm64 --release
Running Gradle task 'assembleRelease'...
Running Gradle task 'assembleRelease'... Done 43.7s
โ Built build/app/outputs/apk/release/app-release.apk (18.6MB).
flutter build apk --target-platform=android-arm64 --debug
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Running Gradle task 'assembleDebug'...
Running Gradle task 'assembleDebug'... Done 141.0s (!)
โ Built build/app/outputs/apk/debug/app-debug.apk.
Pleasantly surprised everything worked so well! Thank you for that.
Android app to work like in screenshot:
Release apk crashes when trying to open (on device Pixel 3XL and using https://appetize.io) - link to release apk
Debug apk opens, connects to room, but does not receive data from any peer. I see bottom banners when other peers connect and disconnet, video/audio stream from phone is received by other peers. link to debug apk. You can test directly here too - https://appetize.io/app/58am4rrxc8w41fmcbhy191njn0?device=pixel4&scale=75&orientation=portrait&osVersion=10.0&deviceColor=black
Web peer on Chrome for macOS:
Android App - at the same time:
Other images form android app - app receives connection information from peer - but no video/audio streams:
Flutter Debug vs Release - flutter/flutter#15100 - tried all solutions from here, but could not fix this behavior. Release always crashes on startup.
This issue has better logging - flutter/flutter#48015
Unfortunately, I still could not fix this. My experience with android development or Flutter is quite limited - I am trying to grasp at whatever straws I can hold. I am still figuring out how to get USB pass through to Docker so that I can try adb
trace for the app.
Web App does not seem to port forward
I tried to build a release version of web-app in Flutter to see if can find any information
flutter run -d web --web-port 8080
Launching lib/main.dart on Web Server in debug mode...
Syncing files to device Web Server...
13,604ms (!)
lib/main.dart is being served at http://localhost:8080
Warning: Flutter's support for web development is not stable yet and hasn't
been thoroughly tested in production environments.
For more information see https://flutter.dev/web
๐ฅ To hot restart changes while running, press "r". To hot restart (and refresh the browser),
press "R".
For a more detailed help message, press "h". To quit, press "q".
I have mapped port 8080 from docker to my machine, but:
Although:
docker exec -it 12abac /bin/bash
root@12abac874d58:/# curl http://localhost:8080
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta content="IE=Edge" http-equiv="X-UA-Compatible">
<meta name="description" content="A new Flutter project.">
<!-- iOS meta tags & icons -->
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="apple-mobile-web-app-title" content="ion_flutter_example">
<link rel="apple-touch-icon" href="icons/Icon-192.png">
<!-- Favicon -->
<link rel="shortcut icon" type="image/png" href="favicon.png"/>
<title>ion_flutter_example</title>
<link rel="manifest" href="manifest.json">
</head>
<body>
<!-- This script installs service_worker.js to provide PWA functionality to
application. For more information, see:
https://developers.google.com/web/fundamentals/primers/service-workers -->
<script>
if ('serviceWorker' in navigator) {
window.addEventListener('load', function () {
navigator.serviceWorker.register('flutter_service_worker.js');
});
}
</script>
<script src="main.dart.js" type="application/javascript"></script>
</body>
</html>
At first, I thoght it was a docker port forwarding issue, so I tried a simple server:
docker run -P -d nginxdemos/hello
So docker port forwarding works and now I am utterly confused. Any help with this issue will be greatly appreciated! (Although not necessary)
Dockerfile for reference - https://gist.github.com/blackshehz/c8cc0d28bf2ddc3b7fb7cb63de24ba12
Please keep up the great work! Do let me know if you would like to separate some of these issues. I am happy to help in any way I can.
Linux Mint 19.3 "Tricia" - Cinnamon (64-bit)
Firefox 74.0
docker compose up
open localhost:8080
browser console says:
TypeError: navigator.mediaDevices is undefined on line 141 in index.js
it seems the app doesn't ask for mic and cam permissions
Hey,
I tried to use your docker-compose to try the project. I use traefik on my server.
I tried with this docker-compose.
version: '3.7'
services:
ion:
image: pionwebrtc/ion-web
volumes:
- "./data/Caddyfile:/etc/Caddyfile"
expose:
- 80
- 8080
- 8443
depends_on:
- biz
environment:
- WWW_URL=ion.example.com
- [email protected]
networks:
web:
ion-net:
labels:
- "traefik.docker.network=web"
- "traefik.enable=true"
- "traefik.frontend.rule=Host:ion.example.com"
- "traefik.backend=Host:ion.example.com"
- "traefik.port=8080"
- "traefik.backend.port:8443"
sfu:
command: "-c /configs/sfu.toml"
image: pionwebrtc/ion-sfu
volumes:
- "./data/sfu.toml:/configs/sfu.toml"
ports:
- "5000-5200:5000-5200/udp"
depends_on:
- nats
- etcd
networks:
- web
- ion-net
biz:
image: pionwebrtc/ion-biz
command: "-c /configs/biz.toml"
volumes:
- "./data/biz.toml:/configs/biz.toml"
depends_on:
- nats
- etcd
networks:
- ion-net
islb:
image: pionwebrtc/ion-islb
command: "-c /configs/islb.toml"
volumes:
- "./data/islb.toml:/configs/islb.toml"
depends_on:
- nats
- etcd
- redis
networks:
- ion-net
nats:
image: nats
networks:
- ion-net
etcd:
image: gcr.io/etcd-development/etcd:v3.3.18
entrypoint: "/usr/local/bin/etcd"
command: "--listen-client-urls http://0.0.0.0:2379 --advertise-client-urls http://0.0.0.0:2379"
networks:
- ion-net
redis:
image: redis:5.0.7
networks:
- ion-net
networks:
ion-net:
web:
external: true
And I have modified sfu.toml
with
[global]
pprof = ":6062"
# data center id
dc = "dc1"
# internet ip
addr = "ion.example.com"
I'm not sure I can use my domain there but I tried.
But it did not work. Any advices ?
Thanks :)
We are using Ion in Fluttter Web and Mobile.
I was wondering if it would be possible to leverage ion to play normal streaming videos that are hosted on a server OR embedded in the app as Flutter Assets ?
If they are flutter assets then they woudl need to be pre-transcoded for ion i guess ?
If hey were from Youtube ( for example ) then the ion server could transcode them on the fly ?
The current speaker sound is from the handset by default and needs to support speaker/earpiece switching.
Hi,
I got this error while building ion's docker image. Do you have any idea to fix this?
docker-compose build
rabbitmq uses an image, skipping
etcd uses an image, skipping
redis uses an image, skipping
Building ion
Step 1/14 : FROM golang:1.13.7-stretch
---> fcc723b9d794
Step 2/14 : ENV GO111MODULE=on
---> Using cache
---> 3c90ba87945e
Step 3/14 : WORKDIR $GOPATH/src/github.com/pion/ion
---> Using cache
---> 012fa53e3de7
Step 4/14 : COPY go.mod go.sum ./
---> Using cache
---> 2f6d75bc371a
Step 5/14 : RUN cd $GOPATH/src/github.com/pion/ion && go mod download
---> Using cache
---> a6a618197428
Step 6/14 : COPY . $GOPATH/src/github.com/pion/ion
---> Using cache
---> b0a29ebbe133
Step 7/14 : WORKDIR $GOPATH/src/github.com/pion/ion/cmd/ion
---> Using cache
---> 992eaf93ceb2
Step 8/14 : RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o /ion .
---> Running in 43efc95e61ed
can't load package: package .: no Go files in /go/src/github.com/pion/ion/cmd/ion
ERROR: Service 'ion' failed to build: The command '/bin/sh -c CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o /ion .' returned a non-zero code: 1
IOS and Chrome see each other when setting to H264 or VP8
when setting to H264:
when setting to VP8:
I/flutter ( 5124): [Logger::Dart::WebSocket] DEBUG: connect https://192.168.15.10:8443/ws?peer=08b97ada-7430-4e95-95c2-ba786b688159, {}, null
I/flutter ( 5124): [Logger::Dart::WebSocket] ERROR: error HandshakeException: Handshake error in client (OS Error:
I/flutter ( 5124): WRONG_VERSION_NUMBER(tls_record.cc:242))
I/flutter ( 5124): [protoo-client] DEBUG: emit "error" [currentAttempt:NoSuchMethodError: The getter 'closeCode' was called on null.
I/flutter ( 5124): Receiver: null
I/flutter ( 5124): Tried calling: closeCode]
To work
Exception HandshakeException.WRONG_VERSION_NUMBER
Remote video stream show black screen when other peers connected the conference call. Currently, just using the demo Flutter sdk.
I noticed there are a few places where we don't handle errors (and little mistakes like that)
It might be nice to opt in to the .goassets
repo, then you will get all the tooling that every other Pion project has!
After I ran the project successfully, both clients joined the room1 at the same time, but they did not receive the video stream from each other. why๏ผplease help me๏ผthank you very much๏ผ
My understanding is that ION is essentially a custom Transport.
At the moment its designed to transport JSON.
JSON however has the problem in that it does not support Scheme Evolution.
For example, if a dev changed the Data Schema of a type that is shared between the client and the server then the client will "crash" as it will not be able to understand the payload.
Schema Evolution using Protobufs solves this because the Fields are numbered and the generated Protobufs for the Client and Server respect that field numbering in order to ignore fields it does not understand in the payload without "crashing".
So i am raising the Idea for ION to use Protobufs and not JSON so that its more resilient to natural development cycles and is more Production ready.
As a side note:
I am also pointing out that Code generation of the Client code (Dart and JS ) and the Server code ( Golang) from the Protobufs is possible, BUT i dont think its easy to do with the custom transport.
Maybe it is but i fear it will essentally be a rewrite of:
The scripts/makeKey.sh
is mentioned in the README.md. Seems like it generates self-signed certificates, that were passed to nginx, but are no longer used as of commit c3afdec
I think it's safe to remove from README.md?
certainly it confused me while setting up an instance.
Click "Shared conference" Button on the top of the confluence demo web appใ Input box in the dialog is blank.
Show the result of url to share.
About the native client of Android/iOS/macOS/Web
,
We can use Google Flutter to build a native client outside the browser, which will allow the mobile/desktop to perfectly connect to the ion.
(Linux
, Windows
, Fuchsia
will be supported in the future)
Hi pion/ion flutter sdk got error in the latest ion server version,can anyone help to fix it? thanks..
[VERBOSE-2:ui_dart_state.cc(148)] Unhandled Exception: request timeout
#0 Room.publish (package:flutter_pion/src/room.dart:61:13)
#1 SFU._createSender. (package:flutter_pion/src/sfu.dart:126:46)
#2 SFU._createSender. (package:flutter_pion/src/sfu.dart:136:30)
I am thinking about providing a NATS streaming OR Lift Bridge MQ to match your interface.
https://github.com/liftbridge-io/liftbridge
But i am raising this first because i want to get an idea of the intended patterns for MQ that your using first.
error: The method 'addTransceiver' isn't defined for the class 'RTCPeerConnection'. (undefined_method at [brodacaster] lib/src/client.dart:216)
I just cloned the repo and tried running example on iOS simulator
I expect it to at least build successfully
It gives me error on building and i am unable to install
I noticed that React web is in the SDK for web in this repo.
There is already a demo here using Flutter web: https://github.com/cloudwebrtc/flutter-webrtc-demo/tree/master/web
I have not tried it yet though. I have only tried the Mobile and desktop.
Is there any interest in getting ion working working with Flutter Web ?
Protobufs can designed to work fine with Flutter Web and golang over websockets for the required signalling.
My intention is to get Video channels and Data channels working with ION to enable PUB SUB architectural patterns.
Please let me know what the project intentions are and if this is something that we can work towards together.
I spent some time today trying to get ion working on port 443, but always it would make a websocket request on port 8443.
I tracked it down to the minified ion-conference.js, in the unminified src/Client.js, that sets this unconditionally:
this._port = 8443;
that's used by _getProtooUrl
.
cd ./ion/sdk/flutter/example
flutter pub get
Because flutter_ion depends on flutter_webrtc ^0.2.7 which doesn't match any versions, version solving failed.
Running "flutter pub get" in flutter...
pub get failed (1; Because flutter_ion depends on flutter_webrtc ^0.2.7 which doesn't match any versions, version solving failed.)
Looks great! With all the hanging out people are doing online now, I'd love to set this up in a
droplet. Have you benchmarked about what it costs to run it in terms of machine resources? I
would love to see a table in the README covering approx RAM for x numbers of users, but if you
have even a vague thought like "a $5 DO droplet should work for a broadcast to 12 users" then
I'd be thrilled with that much information!
We knwo that ASTI works. YEAH :)
But how to do local notifications then if the Client is not open ?
On the Desktop run a Golang Proxy ( as a desktop Service) that is always on, so that notifications can be raised. Even if the Client is closed.
The Golang Proxy talks to the Cloud backend using pure GRPC ( for ION however it does it ). Thats easy.
Code notes.
This provides the URL Schemes and Deep Links support.
https://pub.dev/packages/uni_links
This allows Local Notifications on IOS and Android BTW:
https://github.com/MaikuB/flutter_local_notifications
If the ASTI Flutter Web wants to communicate with the Cloud GRPC ( and ION Cloud) its just standard stuff.
Hi guys, I'm not familiar with the go language. I want to use pion as a streaming server. I have installed ion on the Mac, but some of the dependencies are not installed. I just want to test the SFU part. Can we decouple or modify the script to run on Mac? Thank you
It seems that after an extended period of time sitting idle, the nodes go down. This is the logs i see
biz_1 | 2020-04-03 02:39:23.533 INF handleSFUBroadCast: method=stream-remove, data=map[mid:f6e16f25-1756-450b-83d0-017030fe68ef#BEPCHN]
redis_1 | 1:M 03 Apr 2020 12:41:52.438 * 1 changes in 3600 seconds. Saving...
redis_1 | 1:M 03 Apr 2020 12:41:52.690 * Background saving started by pid 22
redis_1 | 22:C 03 Apr 2020 12:41:52.857 * DB saved on disk
redis_1 | 22:C 03 Apr 2020 12:41:52.864 * RDB: 0 MB of memory used by copy-on-write
redis_1 | 1:M 03 Apr 2020 12:41:52.918 * Background saving terminated with success
biz_1 | 2020-04-03 12:41:52.932 INF DELETE "/dc1/node/islb-EeZD7mgaPPsR":""
islb_1 | 2020-04-03 12:41:53 INF DELETE "/dc1/node/islb-EeZD7mgaPPsR":""
islb_1 | 2020-04-03 12:41:53.011 INF Node [/dc1/node/islb-EeZD7mgaPPsR] Down
islb_1 | 2020-04-03 12:41:53.027 INF DELETE "/dc1/node/sfu-sAWekEXhrOXb":""
islb_1 | 2020-04-03 12:41:53.038 INF Node [/dc1/node/sfu-sAWekEXhrOXb] Down
islb_1 | 2020-04-03 12:41:53.043 INF DELETE "/dc1/node/biz-bV3fgNOqiN7l":""
islb_1 | 2020-04-03 12:41:53.044 INF Node [/dc1/node/biz-bV3fgNOqiN7l] Down
islb_1 | 2020-04-03 12:41:53.044 INF removeStreamsByNode: node => sfu-sAWekEXhrOXb
biz_1 | 2020-04-03 12:41:52.953 INF Node [/dc1/node/islb-EeZD7mgaPPsR] Down
Any ideas why this might be?
clear the pc
pc remain when i click the hang up
button
the sfu node is a core sfu service in the new arch, which support 1:N broadcasting and high performance
We changed ion's arch, which split biz/signal with sfu/mcu/..
Make biz and sfu both support autoscale :)
candidateBase.writeTo
cpu cost pion/ice#128TypeError: o.media[r].ssrcGroups is undefined
git clone
and docker-compose up
No error
I/flutter (17295): [protoo-client] DEBUG: emit "error" [currentAttempt:HandshakeException: Handshake error in client (OS Error: I/flutter (17295): CERTIFICATE_VERIFY_FAILED: self signed certificate(handshake.cc:352))]
From the web app, i can click the button to slide open the left chat panel: but there's no content inside, nor does there seem to be any way of writing a chat message(?).
Running ion 2ab6e66 behind an additional nginx layer; console log contains only info messages, no warnings
If we can use Flutter Web on Desktop and Mobile is means a few things
But the main thing is that then you can build apps that are more like a CMS.
A Dev can make a Project that reuses Flutter Web WebRTC but does NOT compile against it.
Technically, It would mean that the Flutter Web would need to use CORS to declare that Servers it allows. Standard internet security.
See here for background: flutter/flutter#46904
User authentication, internally and/or externally would be great, as meetings are often confidential.
We should run a server so people can have a public demo. We will probably need to write some code that limits session lengths/amount of people on the server.
$ git rev-parse HEAD
6de4b0a01e40e08af827ac7292e3fae5ea0f3954
$ docker --version
Docker version 18.09.9, build 1752eb3
$ uname -a
Linux drh-workstation 5.3.0-40-generic #32-Ubuntu SMP Fri Jan 31 20:24:34 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
$ sudo WWW_URL=video.nerdy.party [email protected] docker-compose up
Creating ion_etcd_1 ... error
Creating ion_nats_1 ...
Creating ion_redis_1 ...
Creating ion_nats_1 ... error
b72e2fb677369f816e0846d2f77b4622ab36cd363feb819894be3d7b88c5ee20-init/merged/etc/resolv.conf: permission denied
ERROR: for ion_nats_1 Cannot create container for service nats: open /var/snap/docker/common/var-lib-docker/overlay2/Creating ion_redis_1 ... error
ERROR: for ion_redis_1 Cannot create container for service redis: open /var/snap/docker/common/var-lib-docker/overlay2/042ae91874de99c893bdf5171a03c78820277632eac7d8a6a4c29ecc6387f78d-init/merged/etc/hosts: permission denied
ERROR: for nats Cannot create container for service nats: open /var/snap/docker/common/var-lib-docker/overlay2/5e6e25f18fd38a9f27f65ebb1dc6579b1a78b953a80e25b61b59d5ae6fffceae-init/merged/etc/resolv.conf: permission denied
ERROR: for redis Cannot create container for service redis: open /var/snap/docker/common/var-lib-docker/overlay2/042ae91874de99c893bdf5171a03c78820277632eac7d8a6a4c29ecc6387f78d-init/merged/etc/hosts: permission denied
ERROR: for etcd Cannot create container for service etcd: open /var/snap/docker/common/var-lib-docker/overlay2/b72e2fb677369f816e0846d2f77b4622ab36cd363feb819894be3d7b88c5ee20-init/merged/etc/resolv.conf: permission denied
ERROR: Encountered errors while bringing up the project.
I expected docker-compose to start
Something (presumably inside the containers, as docker-compose is running as root?) does not have access
Version: android
Browser: firefox app
Other Information - dart_sdk.js:31626 You don't have to call RTCVideoRenderer.initialize on Flutter Web
flutter run -d chrome
In a room can see each other.
os:widnows7, client:chrome
os:android, client: firefox app
we connect together we are unable to see each other.
Chrome logs for Windows
`[protoo-client] DEBUG: constructor()
dart_sdk.js:31626 [protoo-client] DEBUG: constructor() [url:wss://test.biblestudy7.com:8443/ws?peer=297e527d-1126-43c1-b6a6-81c708023602]
dart_sdk.js:31626 [protoo-client] DEBUG: connecting to WebSocket wss://test.biblestudy7.com:8443/ws?peer=297e527d-1126-43c1-b6a6-81c708023602
dart_sdk.js:31626 [Logger::HTML::WebSocket] DEBUG: connect wss://test.biblestudy7.com:8443/ws?peer=297e527d-1126-43c1-b6a6-81c708023602, {}, null
dart_sdk.js:31626 [protoo-client] DEBUG: emit "open"
dart_sdk.js:31626 [Ion::Client] DEBUG: Peer "open" event
dart_sdk.js:31626 [protoo-client] DEBUG: send message: {"request":true,"id":8884698,"method":"join","data":{"rid":"room1","uid":"297e527d-1126-43c1-b6a6-81c708023602","info":{"name":"Guest"}}}
dart_sdk.js:31626 [Logger::HTML::WebSocket] DEBUG: send: {"request":true,"id":8884698,"method":"join","data":{"rid":"room1","uid":"297e527d-1126-43c1-b6a6-81c708023602","info":{"name":"Guest"}}}
dart_sdk.js:31626 [Ion::Client] DEBUG: publish
dart_sdk.js:31626 [protoo-client] DEBUG: Recivied data: {"response":true,"id":8884698,"ok":true,"data":{}}
dart_sdk.js:31626 [Ion::Client] DEBUG: join success: result => {}
dart_sdk.js:31626 [protoo-client] DEBUG: Recivied data: {"notification":true,"method":"stream-add","data":{"info":{"name":"Guest"},"mid":"6d5ef997-a511-41b6-9a6d-dd8cd2dfcbd3#KSSFXF","rid":"room1","uid":"297e527d-1126-43c1-b6a6-81c708023602"}}
dart_sdk.js:31626 [Ion::Client] DEBUG: Handle notification from server: [method:stream-add, data:{info: {name: Guest}, mid: 6d5ef997-a511-41b6-9a6d-dd8cd2dfcbd3#KSSFXF, rid: room1, uid: 297e527d-1126-43c1-b6a6-81c708023602}]
dart_sdk.js:31626 [Ion::Client] DEBUG: stream-add peer rid => 6d5ef997-a511-41b6-9a6d-dd8cd2dfcbd3#KSSFXF, uid => 6d5ef997-a511-41b6-9a6d-dd8cd2dfcbd3#KSSFXF, info => {name: Guest}
dart_sdk.js:31626 [Ion::Client] DEBUG: subscribe rid => room1, mid => 6d5ef997-a511-41b6-9a6d-dd8cd2dfcbd3#KSSFXF
dart_sdk.js:31626 [Ion::Client] DEBUG: create receiver => 6d5ef997-a511-41b6-9a6d-dd8cd2dfcbd3#KSSFXF
dart_sdk.js:31626 [Ion::Client] DEBUG: SDP string => v=0
o=- 1276883757051776099 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0 1
a=msid-semantic: WMS
m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:AFtJ
a=ice-pwd:iu0Pfulq5mjNJxQsVB+/fPS0
a=ice-options:trickle
a=fingerprint:sha-256 0D:9F:B7:BF:1B:9C:33:DA:41:1F:49:C9:98:44:92:08:21:BE:02:95:CC:15:5D:10:1F:A7:18:5A:9E:BC:24:B0
a=setup:actpass
a=mid:0
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=sendrecv
a=msid:- e331908f-1835-46da-a606-98893e178c9d
a=rtcp-mux
a=rtpmap:111 opus/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 minptime=10;useinbandfec=1
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:106 CN/32000
a=rtpmap:105 CN/16000
a=rtpmap:13 CN/8000
a=rtpmap:110 telephone-event/48000
a=rtpmap:112 telephone-event/32000
a=rtpmap:113 telephone-event/16000
a=rtpmap:126 telephone-event/8000
a=ssrc:117099654 cname:R4UmQFl6kXEpVObN
a=ssrc:117099654 msid:- e331908f-1835-46da-a606-98893e178c9d
a=ssrc:117099654 mslabel:-
a=ssrc:117099654 label:e331908f-1835-46da-a606-98893e178c9d
m=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 102 122 127 121 125 107 108 109 124 120 123
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:AFtJ
a=ice-pwd:iu0Pfulq5mjNJxQsVB+/fPS0
a=ice-options:trickle
a=fingerprint:sha-256 0D:9F:B7:BF:1B:9C:33:DA:41:1F:49:C9:98:44:92:08:21:BE:02:95:CC:15:5D:10:1F:A7:18:5A:9E:BC:24:B0
a=setup:actpass
a=mid:1
a=extmap:14 urn:ietf:params:rtp-hdrext:toffset
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:13 urn:3gpp:video-orientation
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:12 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=extmap:11 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type
a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing
a=extmap:8 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07
a=extmap:9 http://www.webrtc.org/experiments/rtp-hdrext/color-space
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=sendrecv
a=msid:- e36a5c5e-6b61-415b-9d76-8a152aec83d5
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:96 VP8/90000
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 transport-cc
a=rtcp-fb:96 ccm fir
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=rtpmap:97 rtx/90000
a=fmtp:97 apt=96
a=rtpmap:98 VP9/90000
a=rtcp-fb:98 goog-remb
a=rtcp-fb:98 transport-cc
a=rtcp-fb:98 ccm fir
a=rtcp-fb:98 nack
a=rtcp-fb:98 nack pli
a=fmtp:98 profile-id=0
a=rtpmap:99 rtx/90000
a=fmtp:99 apt=98
a=rtpmap:100 VP9/90000
a=rtcp-fb:100 goog-remb
a=rtcp-fb:100 transport-cc
a=rtcp-fb:100 ccm fir
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=fmtp:100 profile-id=2
a=rtpmap:101 rtx/90000
a=fmtp:101 apt=100
a=rtpmap:102 H264/90000
a=rtcp-fb:102 goog-remb
a=rtcp-fb:102 transport-cc
a=rtcp-fb:102 ccm fir
a=rtcp-fb:102 nack
a=rtcp-fb:102 nack pli
a=fmtp:102 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f
a=rtpmap:122 rtx/90000
a=fmtp:122 apt=102
a=rtpmap:127 H264/90000
a=rtcp-fb:127 goog-remb
a=rtcp-fb:127 transport-cc
a=rtcp-fb:127 ccm fir
a=rtcp-fb:127 nack
a=rtcp-fb:127 nack pli
a=fmtp:127 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42001f
a=rtpmap:121 rtx/90000
a=fmtp:121 apt=127
a=rtpmap:125 H264/90000
a=rtcp-fb:125 goog-remb
a=rtcp-fb:125 transport-cc
a=rtcp-fb:125 ccm fir
a=rtcp-fb:125 nack
a=rtcp-fb:125 nack pli
a=fmtp:125 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=rtpmap:107 rtx/90000
a=fmtp:107 apt=125
a=rtpmap:108 H264/90000
a=rtcp-fb:108 goog-remb
a=rtcp-fb:108 transport-cc
a=rtcp-fb:108 ccm fir
a=rtcp-fb:108 nack
a=rtcp-fb:108 nack pli
a=fmtp:108 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42e01f
a=rtpmap:109 rtx/90000
a=fmtp:109 apt=108
a=rtpmap:124 red/90000
a=rtpmap:120 rtx/90000
a=fmtp:120 apt=124
a=rtpmap:123 ulpfec/90000
a=ssrc-group:FID 1508631317 3988342131
a=ssrc:1508631317 cname:R4UmQFl6kXEpVObN
a=ssrc:1508631317 msid:- e36a5c5e-6b61-415b-9d76-8a152aec83d5
a=ssrc:1508631317 mslabel:-
a=ssrc:1508631317 label:e36a5c5e-6b61-415b-9d76-8a152aec83d5
a=ssrc:3988342131 cname:R4UmQFl6kXEpVObN
a=ssrc:3988342131 msid:- e36a5c5e-6b61-415b-9d76-8a152aec83d5
a=ssrc:3988342131 mslabel:-
a=ssrc:3988342131 label:e36a5c5e-6b61-415b-9d76-8a152aec83d5
dart_sdk.js:31626 [Ion::Client] DEBUG: Setup audio codec => OPUS, payload => 111
dart_sdk.js:31626 [Ion::Client] DEBUG: Setup video codec => VP8, payload => 96
dart_sdk.js:31626 [Ion::Client] DEBUG: ssrcs => 1508631317 3988342131, video 1508631317
dart_sdk.js:31626 [Ion::Client] DEBUG: SDP => v=0
o=- 1276883757051776000 2 IN IP4 127.0.0.1
s=-
t=0 0
a=msid-semantic: WMS
a=group:BUNDLE 0 1
m=audio 9 UDP/TLS/RTP/SAVPF 111
c=IN IP4 0.0.0.0
a=rtpmap:111 OPUS/48000/2
a=fmtp:111 minptime=10;useinbandfec=1
a=rtcp:9 IN IP4 0.0.0.0
a=rtcp-fb:111 transport-cc
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=setup:actpass
a=mid:0
a=msid:- e331908f-1835-46da-a606-98893e178c9d
a=recvonly
a=ice-ufrag:AFtJ
a=ice-pwd:iu0Pfulq5mjNJxQsVB+/fPS0
a=fingerprint:sha-256 0D:9F:B7:BF:1B:9C:33:DA:41:1F:49:C9:98:44:92:08:21:BE:02:95:CC:15:5D:10:1F:A7:18:5A:9E:BC:24:B0
a=ice-options:trickle
a=ssrc:117099654 cname:R4UmQFl6kXEpVObN
a=ssrc:117099654 msid:- e331908f-1835-46da-a606-98893e178c9d
a=ssrc:117099654 mslabel:-
a=ssrc:117099654 label:e331908f-1835-46da-a606-98893e178c9d
a=rtcp-mux
m=video 9 UDP/TLS/RTP/SAVPF 96
c=IN IP4 0.0.0.0
a=rtpmap:96 VP8/90000
a=rtcp:9 IN IP4 0.0.0.0
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 transport-cc
a=rtcp-fb:96 ccm
a=rtcp-fb:96 ccm fir
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=extmap:14 urn:ietf:params:rtp-hdrext:toffset
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:13 urn:3gpp:video-orientation
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:12 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=extmap:11 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type
a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing
a=extmap:8 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07
a=extmap:9 http://www.webrtc.org/experiments/rtp-hdrext/color-space
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=setup:actpass
a=mid:1
a=msid:- e36a5c5e-6b61-415b-9d76-8a152aec83d5
a=recvonly
a=ice-ufrag:AFtJ
a=ice-pwd:iu0Pfulq5mjNJxQsVB+/fPS0
a=fingerprint:sha-256 0D:9F:B7:BF:1B:9C:33:DA:41:1F:49:C9:98:44:92:08:21:BE:02:95:CC:15:5D:10:1F:A7:18:5A:9E:BC:24:B0
a=ice-options:trickle
a=ssrc:1508631317 cname:R4UmQFl6kXEpVObN
a=ssrc:1508631317 msid:- e36a5c5e-6b61-415b-9d76-8a152aec83d5
a=ssrc:1508631317 mslabel:-
a=ssrc:1508631317 label:e36a5c5e-6b61-415b-9d76-8a152aec83d5
a=rtcp-mux
a=rtcp-rsize
dart_sdk.js:31626 [Ion::Client] DEBUG: Send offer sdp => v=0
o=- 1276883757051776000 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0 1
a=msid-semantic: WMS
m=audio 60034 UDP/TLS/RTP/SAVPF 111
c=IN IP4 192.168.117.1
a=rtcp:9 IN IP4 0.0.0.0
a=candidate:151832020 1 udp 2122262783 2409:8a34:e44:16b0:80d5:4f38:2e6a:5deb 60032 typ host generation 0 network-id 5
a=candidate:1088294319 1 udp 2122197247 2409:8a34:e44:16b0:a4bb:9431:3e9e:67d6 60033 typ host generation 0 network-id 6
a=candidate:2466646500 1 udp 2122129151 192.168.117.1 60034 typ host generation 0 network-id 1
a=candidate:2999745851 1 udp 2122063615 192.168.56.1 60035 typ host generation 0 network-id 2
a=candidate:3813318389 1 udp 2121998079 192.168.25.2 60036 typ host generation 0 network-id 3
a=candidate:3378846520 1 udp 2121932543 192.168.1.120 60037 typ host generation 0 network-id 4
a=candidate:3671821981 1 udp 2121867007 192.168.232.1 60038 typ host generation 0 network-id 7
a=ice-ufrag:AFtJ
a=ice-pwd:iu0Pfulq5mjNJxQsVB+/fPS0
a=ice-options:trickle
a=fingerprint:sha-256 0D:9F:B7:BF:1B:9C:33:DA:41:1F:49:C9:98:44:92:08:21:BE:02:95:CC:15:5D:10:1F:A7:18:5A:9E:BC:24:B0
a=setup:actpass
a=mid:0
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=recvonly
a=msid:- e331908f-1835-46da-a606-98893e178c9d
a=rtcp-mux
a=rtpmap:111 OPUS/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 minptime=10;useinbandfec=1
a=ssrc:117099654 cname:R4UmQFl6kXEpVObN
a=ssrc:117099654 msid:- e331908f-1835-46da-a606-98893e178c9d
a=ssrc:117099654 mslabel:-
a=ssrc:117099654 label:e331908f-1835-46da-a606-98893e178c9d
m=video 60041 UDP/TLS/RTP/SAVPF 96
c=IN IP4 192.168.117.1
a=rtcp:9 IN IP4 0.0.0.0
a=candidate:151832020 1 udp 2122262783 2409:8a34:e44:16b0:80d5:4f38:2e6a:5deb 60039 typ host generation 0 network-id 5
a=candidate:1088294319 1 udp 2122197247 2409:8a34:e44:16b0:a4bb:9431:3e9e:67d6 60040 typ host generation 0 network-id 6
a=candidate:2466646500 1 udp 2122129151 192.168.117.1 60041 typ host generation 0 network-id 1
a=candidate:2999745851 1 udp 2122063615 192.168.56.1 60042 typ host generation 0 network-id 2
a=candidate:3813318389 1 udp 2121998079 192.168.25.2 60043 typ host generation 0 network-id 3
a=candidate:3378846520 1 udp 2121932543 192.168.1.120 60044 typ host generation 0 network-id 4
a=candidate:3671821981 1 udp 2121867007 192.168.232.1 60045 typ host generation 0 network-id 7
a=ice-ufrag:AFtJ
a=ice-pwd:iu0Pfulq5mjNJxQsVB+/fPS0
a=ice-options:trickle
a=fingerprint:sha-256 0D:9F:B7:BF:1B:9C:33:DA:41:1F:49:C9:98:44:92:08:21:BE:02:95:CC:15:5D:10:1F:A7:18:5A:9E:BC:24:B0
a=setup:actpass
a=mid:1
a=extmap:14 urn:ietf:params:rtp-hdrext:toffset
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:13 urn:3gpp:video-orientation
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:12 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=extmap:11 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type
a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing
a=extmap:8 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07
a=extmap:9 http://www.webrtc.org/experiments/rtp-hdrext/color-space
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=recvonly
a=msid:- e36a5c5e-6b61-415b-9d76-8a152aec83d5
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:96 VP8/90000
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 transport-cc
a=rtcp-fb:96 ccm
a=rtcp-fb:96 ccm fir
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=ssrc:1508631317 cname:R4UmQFl6kXEpVObN
a=ssrc:1508631317 msid:- e36a5c5e-6b61-415b-9d76-8a152aec83d5
a=ssrc:1508631317 mslabel:-
a=ssrc:1508631317 label:e36a5c5e-6b61-415b-9d76-8a152aec83d5
dart_sdk.js:31626 [protoo-client] DEBUG: send message: {"request":true,"id":8550571,"method":"subscribe","data":{"rid":"room1","jsep":{"sdp":"v=0\r\no=- 1276883757051776000 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=msid-semantic: WMS\r\nm=audio 60034 UDP/TLS/RTP/SAVPF 111\r\nc=IN IP4 192.168.117.1\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=candidate:151832020 1 udp 2122262783 2409:8a34:e44:16b0:80d5:4f38:2e6a:5deb 60032 typ host generation 0 network-id 5\r\na=candidate:1088294319 1 udp 2122197247 2409:8a34:e44:16b0:a4bb:9431:3e9e:67d6 60033 typ host generation 0 network-id 6\r\na=candidate:2466646500 1 udp 2122129151 192.168.117.1 60034 typ host generation 0 network-id 1\r\na=candidate:2999745851 1 udp 2122063615 192.168.56.1 60035 typ host generation 0 network-id 2\r\na=candidate:3813318389 1 udp 2121998079 192.168.25.2 60036 typ host generation 0 network-id 3\r\na=candidate:3378846520 1 udp 2121932543 192.168.1.120 60037 typ host generation 0 network-id 4\r\na=candidate:3671821981 1 udp 2121867007 192.168.232.1 60038 typ host generation 0 network-id 7\r\na=ice-ufrag:AFtJ\r\na=ice-pwd:iu0Pfulq5mjNJxQsVB+/fPS0\r\na=ice-options:trickle\r\na=fingerprint:sha-256 0D:9F:B7:BF:1B:9C:33:DA:41:1F:49:C9:98:44:92:08:21:BE:02:95:CC:15:5D:10:1F:A7:18:5A:9E:BC:24:B0\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=recvonly\r\na=msid:- e331908f-1835-46da-a606-98893e178c9d\r\na=rtcp-mux\r\na=rtpmap:111 OPUS/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=ssrc:117099654 cname:R4UmQFl6kXEpVObN\r\na=ssrc:117099654 msid:- e331908f-1835-46da-a606-98893e178c9d\r\na=ssrc:117099654 mslabel:-\r\na=ssrc:117099654 label:e331908f-1835-46da-a606-98893e178c9d\r\nm=video 60041 UDP/TLS/RTP/SAVPF 96\r\nc=IN IP4 192.168.117.1\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=candidate:151832020 1 udp 2122262783 2409:8a34:e44:16b0:80d5:4f38:2e6a:5deb 60039 typ host generation 0 network-id 5\r\na=candidate:1088294319 1 udp 2122197247 2409:8a34:e44:16b0:a4bb:9431:3e9e:67d6 60040 typ host generation 0 network-id 6\r\na=candidate:2466646500 1 udp 2122129151 192.168.117.1 60041 typ host generation 0 network-id 1\r\na=candidate:2999745851 1 udp 2122063615 192.168.56.1 60042 typ host generation 0 network-id 2\r\na=candidate:3813318389 1 udp 2121998079 192.168.25.2 60043 typ host generation 0 network-id 3\r\na=candidate:3378846520 1 udp 2121932543 192.168.1.120 60044 typ host generation 0 network-id 4\r\na=candidate:3671821981 1 udp 2121867007 192.168.232.1 60045 typ host generation 0 network-id 7\r\na=ice-ufrag:AFtJ\r\na=ice-pwd:iu0Pfulq5mjNJxQsVB+/fPS0\r\na=ice-options:trickle\r\na=fingerprint:sha-256 0D:9F:B7:BF:1B:9C:33:DA:41:1F:49:C9:98:44:92:08:21:BE:02:95:CC:15:5D:10:1F:A7:18:5A:9E:BC:24:B0\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:13 urn:3gpp:video-orientation\r\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:12 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:11 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07\r\na=extmap:9 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=recvonly\r\na=msid:- e36a5c5e-6b61-415b-9d76-8a152aec83d5\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=ssrc:1508631317 cname:R4UmQFl6kXEpVObN\r\na=ssrc:1508631317 msid:- e36a5c5e-6b61-415b-9d76-8a152aec83d5\r\na=ssrc:1508631317 mslabel:-\r\na=ssrc:1508631317 label:e36a5c5e-6b61-415b-9d76-8a152aec83d5\r\n","type":"offer"},"mid":"6d5ef997-a511-41b6-9a6d-dd8cd2dfcbd3#KSSFXF","options":{"codec":"vp8","bandwidth":"512"}}}
dart_sdk.js:31626 [Logger::HTML::WebSocket] DEBUG: send: {"request":true,"id":8550571,"method":"subscribe","data":{"rid":"room1","jsep":{"sdp":"v=0\r\no=- 1276883757051776000 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=msid-semantic: WMS\r\nm=audio 60034 UDP/TLS/RTP/SAVPF 111\r\nc=IN IP4 192.168.117.1\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=candidate:151832020 1 udp 2122262783 2409:8a34:e44:16b0:80d5:4f38:2e6a:5deb 60032 typ host generation 0 network-id 5\r\na=candidate:1088294319 1 udp 2122197247 2409:8a34:e44:16b0:a4bb:9431:3e9e:67d6 60033 typ host generation 0 network-id 6\r\na=candidate:2466646500 1 udp 2122129151 192.168.117.1 60034 typ host generation 0 network-id 1\r\na=candidate:2999745851 1 udp 2122063615 192.168.56.1 60035 typ host generation 0 network-id 2\r\na=candidate:3813318389 1 udp 2121998079 192.168.25.2 60036 typ host generation 0 network-id 3\r\na=candidate:3378846520 1 udp 2121932543 192.168.1.120 60037 typ host generation 0 network-id 4\r\na=candidate:3671821981 1 udp 2121867007 192.168.232.1 60038 typ host generation 0 network-id 7\r\na=ice-ufrag:AFtJ\r\na=ice-pwd:iu0Pfulq5mjNJxQsVB+/fPS0\r\na=ice-options:trickle\r\na=fingerprint:sha-256 0D:9F:B7:BF:1B:9C:33:DA:41:1F:49:C9:98:44:92:08:21:BE:02:95:CC:15:5D:10:1F:A7:18:5A:9E:BC:24:B0\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=recvonly\r\na=msid:- e331908f-1835-46da-a606-98893e178c9d\r\na=rtcp-mux\r\na=rtpmap:111 OPUS/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=ssrc:117099654 cname:R4UmQFl6kXEpVObN\r\na=ssrc:117099654 msid:- e331908f-1835-46da-a606-98893e178c9d\r\na=ssrc:117099654 mslabel:-\r\na=ssrc:117099654 label:e331908f-1835-46da-a606-98893e178c9d\r\nm=video 60041 UDP/TLS/RTP/SAVPF 96\r\nc=IN IP4 192.168.117.1\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=candidate:151832020 1 udp 2122262783 2409:8a34:e44:16b0:80d5:4f38:2e6a:5deb 60039 typ host generation 0 network-id 5\r\na=candidate:1088294319 1 udp 2122197247 2409:8a34:e44:16b0:a4bb:9431:3e9e:67d6 60040 typ host generation 0 network-id 6\r\na=candidate:2466646500 1 udp 2122129151 192.168.117.1 60041 typ host generation 0 network-id 1\r\na=candidate:2999745851 1 udp 2122063615 192.168.56.1 60042 typ host generation 0 network-id 2\r\na=candidate:3813318389 1 udp 2121998079 192.168.25.2 60043 typ host generation 0 network-id 3\r\na=candidate:3378846520 1 udp 2121932543 192.168.1.120 60044 typ host generation 0 network-id 4\r\na=candidate:3671821981 1 udp 2121867007 192.168.232.1 60045 typ host generation 0 network-id 7\r\na=ice-ufrag:AFtJ\r\na=ice-pwd:iu0Pfulq5mjNJxQsVB+/fPS0\r\na=ice-options:trickle\r\na=fingerprint:sha-256 0D:9F:B7:BF:1B:9C:33:DA:41:1F:49:C9:98:44:92:08:21:BE:02:95:CC:15:5D:10:1F:A7:18:5A:9E:BC:24:B0\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:13 urn:3gpp:video-orientation\r\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:12 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:11 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07\r\na=extmap:9 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=recvonly\r\na=msid:- e36a5c5e-6b61-415b-9d76-8a152aec83d5\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=ssrc:1508631317 cname:R4UmQFl6kXEpVObN\r\na=ssrc:1508631317 msid:- e36a5c5e-6b61-415b-9d76-8a152aec83d5\r\na=ssrc:1508631317 mslabel:-\r\na=ssrc:1508631317 label:e36a5c5e-6b61-415b-9d76-8a152aec83d5\r\n","type":"offer"},"mid":"6d5ef997-a511-41b6-9a6d-dd8cd2dfcbd3#KSSFXF","options":{"codec":"vp8","bandwidth":"512"}}}
dart_sdk.js:31626 [protoo-client] DEBUG: Recivied data: {"response":true,"id":8550571,"ok":true,"data":{"jsep":{"sdp":"v=0\r\no=- 494902244 1585066660 IN IP4 0.0.0.0\r\ns=-\r\nt=0 0\r\na=fingerprint:sha-256 7D:FF:B1:F1:7A:C4:68:B4:8B:A2:D1:78:84:63:6E:94:BD:02:55:5D:0E:3A:23:1B:BD:C2:E9:8E:4C:F4:66:9F\r\na=group:BUNDLE 0 1\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111\r\nc=IN IP4 0.0.0.0\r\na=setup:passive\r\na=mid:0\r\na=ice-ufrag:CYiCvvHqJuGBDmRx\r\na=ice-pwd:rlejZfuDTicZvxaDkOyXbttDYdSOfviv\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:111 opus/48000/2\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=inactive\r\na=candidate:foundation 1 udp 2130706431 192.168.0.115 35941 typ host generation 0\r\na=candidate:foundation 2 udp 2130706431 192.168.0.115 35941 typ host generation 0\r\na=end-of-candidates\r\nm=video 9 UDP/TLS/RTP/SAVPF 102 96 98\r\nc=IN IP4 0.0.0.0\r\na=setup:passive\r\na=mid:1\r\na=ice-ufrag:CYiCvvHqJuGBDmRx\r\na=ice-pwd:rlejZfuDTicZvxaDkOyXbttDYdSOfviv\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:102 H264/90000\r\na=fmtp:102 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f\r\na=rtcp-fb:102 goog-remb \r\na=rtcp-fb:102 ccm \r\na=rtcp-fb:102 nack \r\na=rtcp-fb:102 nack pli \r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb \r\na=rtcp-fb:96 ccm \r\na=rtcp-fb:96 nack \r\na=rtcp-fb:96 nack pli \r\na=rtpmap:98 VP9/90000\r\na=ssrc:2297810108 cname:kCvp4xtKMYslpFQXnocqqZDfVJRVY4DYnMRs\r\na=ssrc:2297810108 msid:kCvp4xtKMYslpFQXnocqqZDfVJRVY4DYnMRs 822f6090-2726-4705-842e-71bd6ce5ffab\r\na=ssrc:2297810108 mslabel:kCvp4xtKMYslpFQXnocqqZDfVJRVY4DYnMRs\r\na=ssrc:2297810108 label:822f6090-2726-4705-842e-71bd6ce5ffab\r\na=msid:kCvp4xtKMYslpFQXnocqqZDfVJRVY4DYnMRs 822f6090-2726-4705-842e-71bd6ce5ffab\r\na=sendrecv\r\na=candidate:foundation 1 udp 2130706431 192.168.0.115 35941 typ host generation 0\r\na=candidate:foundation 2 udp 2130706431 192.168.0.115 35941 typ host generation 0\r\na=end-of-candidates\r\n","type":"answer"},"mid":"297e527d-1126-43c1-b6a6-81c708023602#RHIMOV"}}
dart_sdk.js:31626 [Ion::Client] DEBUG: subscribe success => result(mid => 297e527d-1126-43c1-b6a6-81c708023602#RHIMOV) sdp => v=0
o=- 494902244 1585066660 IN IP4 0.0.0.0
s=-
t=0 0
a=fingerprint:sha-256 7D:FF:B1:F1:7A:C4:68:B4:8B:A2:D1:78:84:63:6E:94:BD:02:55:5D:0E:3A:23:1B:BD:C2:E9:8E:4C:F4:66:9F
a=group:BUNDLE 0 1
m=audio 9 UDP/TLS/RTP/SAVPF 111
c=IN IP4 0.0.0.0
a=setup:passive
a=mid:0
a=ice-ufrag:CYiCvvHqJuGBDmRx
a=ice-pwd:rlejZfuDTicZvxaDkOyXbttDYdSOfviv
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:111 opus/48000/2
a=fmtp:111 minptime=10;useinbandfec=1
a=inactive
a=candidate:foundation 1 udp 2130706431 192.168.0.115 35941 typ host generation 0
a=candidate:foundation 2 udp 2130706431 192.168.0.115 35941 typ host generation 0
a=end-of-candidates
m=video 9 UDP/TLS/RTP/SAVPF 102 96 98
c=IN IP4 0.0.0.0
a=setup:passive
a=mid:1
a=ice-ufrag:CYiCvvHqJuGBDmRx
a=ice-pwd:rlejZfuDTicZvxaDkOyXbttDYdSOfviv
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:102 H264/90000
a=fmtp:102 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f
a=rtcp-fb:102 goog-remb
a=rtcp-fb:102 ccm
a=rtcp-fb:102 nack
a=rtcp-fb:102 nack pli
a=rtpmap:96 VP8/90000
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 ccm
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=rtpmap:98 VP9/90000
a=ssrc:2297810108 cname:kCvp4xtKMYslpFQXnocqqZDfVJRVY4DYnMRs
a=ssrc:2297810108 msid:kCvp4xtKMYslpFQXnocqqZDfVJRVY4DYnMRs 822f6090-2726-4705-842e-71bd6ce5ffab
a=ssrc:2297810108 mslabel:kCvp4xtKMYslpFQXnocqqZDfVJRVY4DYnMRs
a=ssrc:2297810108 label:822f6090-2726-4705-842e-71bd6ce5ffab
a=msid:kCvp4xtKMYslpFQXnocqqZDfVJRVY4DYnMRs 822f6090-2726-4705-842e-71bd6ce5ffab
a=sendrecv
a=candidate:foundation 1 udp 2130706431 192.168.0.115 35941 typ host generation 0
a=candidate:foundation 2 udp 2130706431 192.168.0.115 35941 typ host generation 0
a=end-of-candidates
dart_sdk.js:31626 onaddstream argument: [object MediaStream]
dart_sdk.js:31626 [Ion::Client] DEBUG: Stream::pc::onaddstream kCvp4xtKMYslpFQXnocqqZDfVJRVY4DYnMRs
dart_sdk.js:31626 You don't have to call RTCVideoRenderer.initialize on Flutter Web
dart_sdk.js:31626 [Ion::Client] DEBUG: create sender => vp8
dart_sdk.js:31626 [Ion::Client] DEBUG: SDP string => v=0
o=- 1608333123905294183 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0 1
a=msid-semantic: WMS 7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4
m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:JKnJ
a=ice-pwd:fcqHN60Ko+IcymzhHIEYxvwy
a=ice-options:trickle
a=fingerprint:sha-256 60:EA:1B:E0:25:A2:3D:63:7A:13:C2:5D:FA:29:E8:E7:75:FD:99:D3:54:72:D7:E6:8F:F7:A0:69:5C:56:10:94
a=setup:actpass
a=mid:0
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=sendrecv
a=msid:7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4 a65b53b2-faa2-4abd-9ef9-7c1bfdbed129
a=rtcp-mux
a=rtpmap:111 opus/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 minptime=10;useinbandfec=1
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:106 CN/32000
a=rtpmap:105 CN/16000
a=rtpmap:13 CN/8000
a=rtpmap:110 telephone-event/48000
a=rtpmap:112 telephone-event/32000
a=rtpmap:113 telephone-event/16000
a=rtpmap:126 telephone-event/8000
a=ssrc:864969469 cname:56skMVtO7eizH0+W
a=ssrc:864969469 msid:7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4 a65b53b2-faa2-4abd-9ef9-7c1bfdbed129
a=ssrc:864969469 mslabel:7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4
a=ssrc:864969469 label:a65b53b2-faa2-4abd-9ef9-7c1bfdbed129
m=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 102 122 127 121 125 107 108 109 124 120 123
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:JKnJ
a=ice-pwd:fcqHN60Ko+IcymzhHIEYxvwy
a=ice-options:trickle
a=fingerprint:sha-256 60:EA:1B:E0:25:A2:3D:63:7A:13:C2:5D:FA:29:E8:E7:75:FD:99:D3:54:72:D7:E6:8F:F7:A0:69:5C:56:10:94
a=setup:actpass
a=mid:1
a=extmap:14 urn:ietf:params:rtp-hdrext:toffset
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:13 urn:3gpp:video-orientation
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:12 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=extmap:11 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type
a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing
a=extmap:8 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07
a=extmap:9 http://www.webrtc.org/experiments/rtp-hdrext/color-space
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=sendrecv
a=msid:7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4 6dc45377-5464-4c41-8148-9c5b0325adb3
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:96 VP8/90000
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 transport-cc
a=rtcp-fb:96 ccm fir
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=rtpmap:97 rtx/90000
a=fmtp:97 apt=96
a=rtpmap:98 VP9/90000
a=rtcp-fb:98 goog-remb
a=rtcp-fb:98 transport-cc
a=rtcp-fb:98 ccm fir
a=rtcp-fb:98 nack
a=rtcp-fb:98 nack pli
a=fmtp:98 profile-id=0
a=rtpmap:99 rtx/90000
a=fmtp:99 apt=98
a=rtpmap:100 VP9/90000
a=rtcp-fb:100 goog-remb
a=rtcp-fb:100 transport-cc
a=rtcp-fb:100 ccm fir
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=fmtp:100 profile-id=2
a=rtpmap:101 rtx/90000
a=fmtp:101 apt=100
a=rtpmap:102 H264/90000
a=rtcp-fb:102 goog-remb
a=rtcp-fb:102 transport-cc
a=rtcp-fb:102 ccm fir
a=rtcp-fb:102 nack
a=rtcp-fb:102 nack pli
a=fmtp:102 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f
a=rtpmap:122 rtx/90000
a=fmtp:122 apt=102
a=rtpmap:127 H264/90000
a=rtcp-fb:127 goog-remb
a=rtcp-fb:127 transport-cc
a=rtcp-fb:127 ccm fir
a=rtcp-fb:127 nack
a=rtcp-fb:127 nack pli
a=fmtp:127 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42001f
a=rtpmap:121 rtx/90000
a=fmtp:121 apt=127
a=rtpmap:125 H264/90000
a=rtcp-fb:125 goog-remb
a=rtcp-fb:125 transport-cc
a=rtcp-fb:125 ccm fir
a=rtcp-fb:125 nack
a=rtcp-fb:125 nack pli
a=fmtp:125 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=rtpmap:107 rtx/90000
a=fmtp:107 apt=125
a=rtpmap:108 H264/90000
a=rtcp-fb:108 goog-remb
a=rtcp-fb:108 transport-cc
a=rtcp-fb:108 ccm fir
a=rtcp-fb:108 nack
a=rtcp-fb:108 nack pli
a=fmtp:108 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42e01f
a=rtpmap:109 rtx/90000
a=fmtp:109 apt=108
a=rtpmap:124 red/90000
a=rtpmap:120 rtx/90000
a=fmtp:120 apt=124
a=rtpmap:123 ulpfec/90000
a=ssrc-group:FID 789757569 3915846988
a=ssrc:789757569 cname:56skMVtO7eizH0+W
a=ssrc:789757569 msid:7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4 6dc45377-5464-4c41-8148-9c5b0325adb3
a=ssrc:789757569 mslabel:7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4
a=ssrc:789757569 label:6dc45377-5464-4c41-8148-9c5b0325adb3
a=ssrc:3915846988 cname:56skMVtO7eizH0+W
a=ssrc:3915846988 msid:7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4 6dc45377-5464-4c41-8148-9c5b0325adb3
a=ssrc:3915846988 mslabel:7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4
a=ssrc:3915846988 label:6dc45377-5464-4c41-8148-9c5b0325adb3
dart_sdk.js:31626 [Ion::Client] DEBUG: Setup audio codec => OPUS, payload => 111
dart_sdk.js:31626 [Ion::Client] DEBUG: Setup video codec => VP8, payload => 96
dart_sdk.js:31626 [Ion::Client] DEBUG: ssrcs => 789757569 3915846988, video 789757569
dart_sdk.js:31626 [Ion::Client] DEBUG: SDP => v=0
o=- 1608333123905294000 2 IN IP4 127.0.0.1
s=-
t=0 0
a=msid-semantic: WMS 7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4
a=group:BUNDLE 0 1
m=audio 9 UDP/TLS/RTP/SAVPF 111
c=IN IP4 0.0.0.0
a=rtpmap:111 OPUS/48000/2
a=fmtp:111 minptime=10;useinbandfec=1
a=rtcp:9 IN IP4 0.0.0.0
a=rtcp-fb:111 transport-cc
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=setup:actpass
a=mid:0
a=msid:7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4 a65b53b2-faa2-4abd-9ef9-7c1bfdbed129
a=sendonly
a=ice-ufrag:JKnJ
a=ice-pwd:fcqHN60Ko+IcymzhHIEYxvwy
a=fingerprint:sha-256 60:EA:1B:E0:25:A2:3D:63:7A:13:C2:5D:FA:29:E8:E7:75:FD:99:D3:54:72:D7:E6:8F:F7:A0:69:5C:56:10:94
a=ice-options:trickle
a=ssrc:864969469 cname:56skMVtO7eizH0+W
a=ssrc:864969469 msid:7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4 a65b53b2-faa2-4abd-9ef9-7c1bfdbed129
a=ssrc:864969469 mslabel:7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4
a=ssrc:864969469 label:a65b53b2-faa2-4abd-9ef9-7c1bfdbed129
a=rtcp-mux
m=video 9 UDP/TLS/RTP/SAVPF 96
c=IN IP4 0.0.0.0
a=rtpmap:96 VP8/90000
a=rtcp:9 IN IP4 0.0.0.0
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 transport-cc
a=rtcp-fb:96 ccm
a=rtcp-fb:96 ccm fir
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=extmap:14 urn:ietf:params:rtp-hdrext:toffset
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:13 urn:3gpp:video-orientation
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:12 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=extmap:11 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type
a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing
a=extmap:8 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07
a=extmap:9 http://www.webrtc.org/experiments/rtp-hdrext/color-space
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=setup:actpass
a=mid:1
a=msid:7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4 6dc45377-5464-4c41-8148-9c5b0325adb3
a=sendonly
a=ice-ufrag:JKnJ
a=ice-pwd:fcqHN60Ko+IcymzhHIEYxvwy
a=fingerprint:sha-256 60:EA:1B:E0:25:A2:3D:63:7A:13:C2:5D:FA:29:E8:E7:75:FD:99:D3:54:72:D7:E6:8F:F7:A0:69:5C:56:10:94
a=ice-options:trickle
a=ssrc:789757569 cname:56skMVtO7eizH0+W
a=ssrc:789757569 msid:7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4 6dc45377-5464-4c41-8148-9c5b0325adb3
a=ssrc:789757569 mslabel:7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4
a=ssrc:789757569 label:6dc45377-5464-4c41-8148-9c5b0325adb3
a=rtcp-mux
a=rtcp-rsize
dart_sdk.js:31626 [Ion::Client] DEBUG: Send offer sdp => v=0
o=- 1608333123905294000 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0 1
a=msid-semantic: WMS 7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4
m=audio 54180 UDP/TLS/RTP/SAVPF 111
c=IN IP6 2409:8a34:e44:16b0:80d5:4f38:2e6a:5deb
a=rtcp:9 IN IP4 0.0.0.0
a=candidate:151832020 1 udp 2122262783 2409:8a34:e44:16b0:80d5:4f38:2e6a:5deb 54180 typ host generation 0 network-id 5
a=ice-ufrag:JKnJ
a=ice-pwd:fcqHN60Ko+IcymzhHIEYxvwy
a=ice-options:trickle
a=fingerprint:sha-256 60:EA:1B:E0:25:A2:3D:63:7A:13:C2:5D:FA:29:E8:E7:75:FD:99:D3:54:72:D7:E6:8F:F7:A0:69:5C:56:10:94
a=setup:actpass
a=mid:0
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=sendonly
a=msid:7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4 a65b53b2-faa2-4abd-9ef9-7c1bfdbed129
a=rtcp-mux
a=rtpmap:111 OPUS/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 minptime=10;useinbandfec=1
a=ssrc:864969469 cname:56skMVtO7eizH0+W
a=ssrc:864969469 msid:7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4 a65b53b2-faa2-4abd-9ef9-7c1bfdbed129
a=ssrc:864969469 mslabel:7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4
a=ssrc:864969469 label:a65b53b2-faa2-4abd-9ef9-7c1bfdbed129
m=video 9 UDP/TLS/RTP/SAVPF 96
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:JKnJ
a=ice-pwd:fcqHN60Ko+IcymzhHIEYxvwy
a=ice-options:trickle
a=fingerprint:sha-256 60:EA:1B:E0:25:A2:3D:63:7A:13:C2:5D:FA:29:E8:E7:75:FD:99:D3:54:72:D7:E6:8F:F7:A0:69:5C:56:10:94
a=setup:actpass
a=mid:1
a=extmap:14 urn:ietf:params:rtp-hdrext:toffset
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:13 urn:3gpp:video-orientation
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:12 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=extmap:11 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type
a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing
a=extmap:8 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07
a=extmap:9 http://www.webrtc.org/experiments/rtp-hdrext/color-space
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=sendonly
a=msid:7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4 6dc45377-5464-4c41-8148-9c5b0325adb3
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:96 VP8/90000
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 transport-cc
a=rtcp-fb:96 ccm
a=rtcp-fb:96 ccm fir
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=ssrc:789757569 cname:56skMVtO7eizH0+W
a=ssrc:789757569 msid:7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4 6dc45377-5464-4c41-8148-9c5b0325adb3
a=ssrc:789757569 mslabel:7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4
a=ssrc:789757569 label:6dc45377-5464-4c41-8148-9c5b0325adb3
dart_sdk.js:31626 [protoo-client] DEBUG: send message: {"request":true,"id":8431923,"method":"publish","data":{"rid":"room1","jsep":{"sdp":"v=0\r\no=- 1608333123905294000 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=msid-semantic: WMS 7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4\r\nm=audio 54180 UDP/TLS/RTP/SAVPF 111\r\nc=IN IP6 2409:8a34:e44:16b0:80d5:4f38:2e6a:5deb\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=candidate:151832020 1 udp 2122262783 2409:8a34:e44:16b0:80d5:4f38:2e6a:5deb 54180 typ host generation 0 network-id 5\r\na=ice-ufrag:JKnJ\r\na=ice-pwd:fcqHN60Ko+IcymzhHIEYxvwy\r\na=ice-options:trickle\r\na=fingerprint:sha-256 60:EA:1B:E0:25:A2:3D:63:7A:13:C2:5D:FA:29:E8:E7:75:FD:99:D3:54:72:D7:E6:8F:F7:A0:69:5C:56:10:94\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4 a65b53b2-faa2-4abd-9ef9-7c1bfdbed129\r\na=rtcp-mux\r\na=rtpmap:111 OPUS/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=ssrc:864969469 cname:56skMVtO7eizH0+W\r\na=ssrc:864969469 msid:7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4 a65b53b2-faa2-4abd-9ef9-7c1bfdbed129\r\na=ssrc:864969469 mslabel:7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4\r\na=ssrc:864969469 label:a65b53b2-faa2-4abd-9ef9-7c1bfdbed129\r\nm=video 9 UDP/TLS/RTP/SAVPF 96\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:JKnJ\r\na=ice-pwd:fcqHN60Ko+IcymzhHIEYxvwy\r\na=ice-options:trickle\r\na=fingerprint:sha-256 60:EA:1B:E0:25:A2:3D:63:7A:13:C2:5D:FA:29:E8:E7:75:FD:99:D3:54:72:D7:E6:8F:F7:A0:69:5C:56:10:94\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:13 urn:3gpp:video-orientation\r\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:12 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:11 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07\r\na=extmap:9 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4 6dc45377-5464-4c41-8148-9c5b0325adb3\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=ssrc:789757569 cname:56skMVtO7eizH0+W\r\na=ssrc:789757569 msid:7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4 6dc45377-5464-4c41-8148-9c5b0325adb3\r\na=ssrc:789757569 mslabel:7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4\r\na=ssrc:789757569 label:6dc45377-5464-4c41-8148-9c5b0325adb3\r\n","type":"offer"},"options":{"audio":true,"video":true,"screen":false,"codec":"vp8","bandwidth":"512"}}}
dart_sdk.js:31626 [Logger::HTML::WebSocket] DEBUG: send: {"request":true,"id":8431923,"method":"publish","data":{"rid":"room1","jsep":{"sdp":"v=0\r\no=- 1608333123905294000 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=msid-semantic: WMS 7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4\r\nm=audio 54180 UDP/TLS/RTP/SAVPF 111\r\nc=IN IP6 2409:8a34:e44:16b0:80d5:4f38:2e6a:5deb\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=candidate:151832020 1 udp 2122262783 2409:8a34:e44:16b0:80d5:4f38:2e6a:5deb 54180 typ host generation 0 network-id 5\r\na=ice-ufrag:JKnJ\r\na=ice-pwd:fcqHN60Ko+IcymzhHIEYxvwy\r\na=ice-options:trickle\r\na=fingerprint:sha-256 60:EA:1B:E0:25:A2:3D:63:7A:13:C2:5D:FA:29:E8:E7:75:FD:99:D3:54:72:D7:E6:8F:F7:A0:69:5C:56:10:94\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4 a65b53b2-faa2-4abd-9ef9-7c1bfdbed129\r\na=rtcp-mux\r\na=rtpmap:111 OPUS/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=ssrc:864969469 cname:56skMVtO7eizH0+W\r\na=ssrc:864969469 msid:7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4 a65b53b2-faa2-4abd-9ef9-7c1bfdbed129\r\na=ssrc:864969469 mslabel:7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4\r\na=ssrc:864969469 label:a65b53b2-faa2-4abd-9ef9-7c1bfdbed129\r\nm=video 9 UDP/TLS/RTP/SAVPF 96\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:JKnJ\r\na=ice-pwd:fcqHN60Ko+IcymzhHIEYxvwy\r\na=ice-options:trickle\r\na=fingerprint:sha-256 60:EA:1B:E0:25:A2:3D:63:7A:13:C2:5D:FA:29:E8:E7:75:FD:99:D3:54:72:D7:E6:8F:F7:A0:69:5C:56:10:94\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:13 urn:3gpp:video-orientation\r\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:12 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:11 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07\r\na=extmap:9 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=sendonly\r\na=msid:7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4 6dc45377-5464-4c41-8148-9c5b0325adb3\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=ssrc:789757569 cname:56skMVtO7eizH0+W\r\na=ssrc:789757569 msid:7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4 6dc45377-5464-4c41-8148-9c5b0325adb3\r\na=ssrc:789757569 mslabel:7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4\r\na=ssrc:789757569 label:6dc45377-5464-4c41-8148-9c5b0325adb3\r\n","type":"offer"},"options":{"audio":true,"video":true,"screen":false,"codec":"vp8","bandwidth":"512"}}}
dart_sdk.js:31626 [protoo-client] DEBUG: Recivied data: {"response":true,"id":8431923,"ok":true,"data":{"jsep":{"sdp":"v=0\r\no=- 536794670 1585066661 IN IP4 0.0.0.0\r\ns=-\r\nt=0 0\r\na=fingerprint:sha-256 CC:5C:97:D6:7B:42:EF:A5:0A:F5:F6:58:F3:0D:5B:7C:60:98:FC:B5:AF:C8:C7:2F:48:B8:5E:4A:F4:3B:39:EB\r\na=group:BUNDLE 0 1\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111\r\nc=IN IP4 0.0.0.0\r\na=setup:passive\r\na=mid:0\r\na=ice-ufrag:lfKaNrYpffScFLrF\r\na=ice-pwd:mWwDnagsmHxBCQdgnOEDcHAodykbZNYi\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:111 opus/48000/2\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=recvonly\r\na=candidate:foundation 1 udp 2130706431 192.168.0.115 58643 typ host generation 0\r\na=candidate:foundation 2 udp 2130706431 192.168.0.115 58643 typ host generation 0\r\na=end-of-candidates\r\nm=video 9 UDP/TLS/RTP/SAVPF 96\r\nc=IN IP4 0.0.0.0\r\na=setup:passive\r\na=mid:1\r\na=ice-ufrag:lfKaNrYpffScFLrF\r\na=ice-pwd:mWwDnagsmHxBCQdgnOEDcHAodykbZNYi\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb \r\na=rtcp-fb:96 ccm \r\na=rtcp-fb:96 nack \r\na=rtcp-fb:96 nack pli \r\na=recvonly\r\na=candidate:foundation 1 udp 2130706431 192.168.0.115 58643 typ host generation 0\r\na=candidate:foundation 2 udp 2130706431 192.168.0.115 58643 typ host generation 0\r\na=end-of-candidates\r\n","type":"answer"},"mid":"297e527d-1126-43c1-b6a6-81c708023602#MFHYGW","tracks":{"7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4 6dc45377-5464-4c41-8148-9c5b0325adb3":[{"id":"6dc45377-5464-4c41-8148-9c5b0325adb3","pt":96,"ssrc":789757569,"type":"video"}],"7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4 a65b53b2-faa2-4abd-9ef9-7c1bfdbed129":[{"id":"a65b53b2-faa2-4abd-9ef9-7c1bfdbed129","pt":0,"ssrc":864969469,"type":"audio"}]}}}
dart_sdk.js:31626 [Ion::Client] DEBUG: publish success => {"jsep":{"sdp":"v=0\r\no=- 536794670 1585066661 IN IP4 0.0.0.0\r\ns=-\r\nt=0 0\r\na=fingerprint:sha-256 CC:5C:97:D6:7B:42:EF:A5:0A:F5:F6:58:F3:0D:5B:7C:60:98:FC:B5:AF:C8:C7:2F:48:B8:5E:4A:F4:3B:39:EB\r\na=group:BUNDLE 0 1\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111\r\nc=IN IP4 0.0.0.0\r\na=setup:passive\r\na=mid:0\r\na=ice-ufrag:lfKaNrYpffScFLrF\r\na=ice-pwd:mWwDnagsmHxBCQdgnOEDcHAodykbZNYi\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:111 opus/48000/2\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=recvonly\r\na=candidate:foundation 1 udp 2130706431 192.168.0.115 58643 typ host generation 0\r\na=candidate:foundation 2 udp 2130706431 192.168.0.115 58643 typ host generation 0\r\na=end-of-candidates\r\nm=video 9 UDP/TLS/RTP/SAVPF 96\r\nc=IN IP4 0.0.0.0\r\na=setup:passive\r\na=mid:1\r\na=ice-ufrag:lfKaNrYpffScFLrF\r\na=ice-pwd:mWwDnagsmHxBCQdgnOEDcHAodykbZNYi\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb \r\na=rtcp-fb:96 ccm \r\na=rtcp-fb:96 nack \r\na=rtcp-fb:96 nack pli \r\na=recvonly\r\na=candidate:foundation 1 udp 2130706431 192.168.0.115 58643 typ host generation 0\r\na=candidate:foundation 2 udp 2130706431 192.168.0.115 58643 typ host generation 0\r\na=end-of-candidates\r\n","type":"answer"},"mid":"297e527d-1126-43c1-b6a6-81c708023602#MFHYGW","tracks":{"7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4 6dc45377-5464-4c41-8148-9c5b0325adb3":[{"id":"6dc45377-5464-4c41-8148-9c5b0325adb3","pt":96,"ssrc":789757569,"type":"video"}],"7ipatgkXdnVZgToXCkOPbKvLSLfcgKXdOpz4 a65b53b2-faa2-4abd-9ef9-7c1bfdbed129":[{"id":"a65b53b2-faa2-4abd-9ef9-7c1bfdbed129","pt":0,"ssrc":864969469,"type":"audio"}]}}
dart_sdk.js:31626 You don't have to call RTCVideoRenderer.initialize on Flutter Web
dart_sdk.js:31626 [protoo-client] DEBUG: Recivied data: {}
dart_sdk.js:31626 [protoo-client] DEBUG: Recivied data: {"notification":true,"method":"peer-join","data":{"info":{"name":"wwwww"},"rid":"room1","uid":"1073a415-4b40-4e58-a0cf-cbca4668f1cd"}}
dart_sdk.js:31626 [Ion::Client] DEBUG: Handle notification from server: [method:peer-join, data:{info: {name: wwwww}, rid: room1, uid: 1073a415-4b40-4e58-a0cf-cbca4668f1cd}]
dart_sdk.js:31626 [Ion::Client] DEBUG: peer-join peer rid => room1, uid => 1073a415-4b40-4e58-a0cf-cbca4668f1cd, info => {name: wwwww}
dart_sdk.js:31626 [protoo-client] DEBUG: Closed by server!
dart_sdk.js:31626 [protoo-client] DEBUG: Recivied data: {"notification":true,"method":"stream-add","data":{"info":{"name":"wwwww"},"mid":"1073a415-4b40-4e58-a0cf-cbca4668f1cd#UXAVBF","rid":"room1","uid":"1073a415-4b40-4e58-a0cf-cbca4668f1cd"}}
dart_sdk.js:31626 [Ion::Client] DEBUG: Handle notification from server: [method:stream-add, data:{info: {name: wwwww}, mid: 1073a415-4b40-4e58-a0cf-cbca4668f1cd#UXAVBF, rid: room1, uid: 1073a415-4b40-4e58-a0cf-cbca4668f1cd}]
dart_sdk.js:31626 [Ion::Client] DEBUG: stream-add peer rid => 1073a415-4b40-4e58-a0cf-cbca4668f1cd#UXAVBF, uid => 1073a415-4b40-4e58-a0cf-cbca4668f1cd#UXAVBF, info => {name: wwwww}
dart_sdk.js:31626 [Ion::Client] DEBUG: subscribe rid => room1, mid => 1073a415-4b40-4e58-a0cf-cbca4668f1cd#UXAVBF
dart_sdk.js:31626 [Ion::Client] DEBUG: create receiver => 1073a415-4b40-4e58-a0cf-cbca4668f1cd#UXAVBF
dart_sdk.js:31626 [Ion::Client] DEBUG: SDP string => v=0
o=- 5308524162553205748 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0 1
a=msid-semantic: WMS
m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:64Um
a=ice-pwd:YXOCkayDQwjpa3nTeeuqx6t0
a=ice-options:trickle
a=fingerprint:sha-256 97:EE:31:CB:37:4C:66:65:47:4B:6B:59:33:70:08:1C:78:FE:04:D5:5E:E8:E2:81:BD:68:AC:9B:43:61:70:4A
a=setup:actpass
a=mid:0
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=sendrecv
a=msid:- c5f657e7-bd6f-44fe-a9b8-54f91704e7bb
a=rtcp-mux
a=rtpmap:111 opus/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 minptime=10;useinbandfec=1
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:106 CN/32000
a=rtpmap:105 CN/16000
a=rtpmap:13 CN/8000
a=rtpmap:110 telephone-event/48000
a=rtpmap:112 telephone-event/32000
a=rtpmap:113 telephone-event/16000
a=rtpmap:126 telephone-event/8000
a=ssrc:1688738374 cname:yJu55S3xEWOkNro3
a=ssrc:1688738374 msid:- c5f657e7-bd6f-44fe-a9b8-54f91704e7bb
a=ssrc:1688738374 mslabel:-
a=ssrc:1688738374 label:c5f657e7-bd6f-44fe-a9b8-54f91704e7bb
m=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 102 122 127 121 125 107 108 109 124 120 123
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:64Um
a=ice-pwd:YXOCkayDQwjpa3nTeeuqx6t0
a=ice-options:trickle
a=fingerprint:sha-256 97:EE:31:CB:37:4C:66:65:47:4B:6B:59:33:70:08:1C:78:FE:04:D5:5E:E8:E2:81:BD:68:AC:9B:43:61:70:4A
a=setup:actpass
a=mid:1
a=extmap:14 urn:ietf:params:rtp-hdrext:toffset
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:13 urn:3gpp:video-orientation
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:12 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=extmap:11 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type
a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing
a=extmap:8 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07
a=extmap:9 http://www.webrtc.org/experiments/rtp-hdrext/color-space
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=sendrecv
a=msid:- 2c32e2c0-2e79-4ab7-b42a-06fc6d60dd5a
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:96 VP8/90000
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 transport-cc
a=rtcp-fb:96 ccm fir
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=rtpmap:97 rtx/90000
a=fmtp:97 apt=96
a=rtpmap:98 VP9/90000
a=rtcp-fb:98 goog-remb
a=rtcp-fb:98 transport-cc
a=rtcp-fb:98 ccm fir
a=rtcp-fb:98 nack
a=rtcp-fb:98 nack pli
a=fmtp:98 profile-id=0
a=rtpmap:99 rtx/90000
a=fmtp:99 apt=98
a=rtpmap:100 VP9/90000
a=rtcp-fb:100 goog-remb
a=rtcp-fb:100 transport-cc
a=rtcp-fb:100 ccm fir
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=fmtp:100 profile-id=2
a=rtpmap:101 rtx/90000
a=fmtp:101 apt=100
a=rtpmap:102 H264/90000
a=rtcp-fb:102 goog-remb
a=rtcp-fb:102 transport-cc
a=rtcp-fb:102 ccm fir
a=rtcp-fb:102 nack
a=rtcp-fb:102 nack pli
a=fmtp:102 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f
a=rtpmap:122 rtx/90000
a=fmtp:122 apt=102
a=rtpmap:127 H264/90000
a=rtcp-fb:127 goog-remb
a=rtcp-fb:127 transport-cc
a=rtcp-fb:127 ccm fir
a=rtcp-fb:127 nack
a=rtcp-fb:127 nack pli
a=fmtp:127 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42001f
a=rtpmap:121 rtx/90000
a=fmtp:121 apt=127
a=rtpmap:125 H264/90000
a=rtcp-fb:125 goog-remb
a=rtcp-fb:125 transport-cc
a=rtcp-fb:125 ccm fir
a=rtcp-fb:125 nack
a=rtcp-fb:125 nack pli
a=fmtp:125 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=rtpmap:107 rtx/90000
a=fmtp:107 apt=125
a=rtpmap:108 H264/90000
a=rtcp-fb:108 goog-remb
a=rtcp-fb:108 transport-cc
a=rtcp-fb:108 ccm fir
a=rtcp-fb:108 nack
a=rtcp-fb:108 nack pli
a=fmtp:108 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42e01f
a=rtpmap:109 rtx/90000
a=fmtp:109 apt=108
a=rtpmap:124 red/90000
a=rtpmap:120 rtx/90000
a=fmtp:120 apt=124
a=rtpmap:123 ulpfec/90000
a=ssrc-group:FID 4265990675 385254926
a=ssrc:4265990675 cname:yJu55S3xEWOkNro3
a=ssrc:4265990675 msid:- 2c32e2c0-2e79-4ab7-b42a-06fc6d60dd5a
a=ssrc:4265990675 mslabel:-
a=ssrc:4265990675 label:2c32e2c0-2e79-4ab7-b42a-06fc6d60dd5a
a=ssrc:385254926 cname:yJu55S3xEWOkNro3
a=ssrc:385254926 msid:- 2c32e2c0-2e79-4ab7-b42a-06fc6d60dd5a
a=ssrc:385254926 mslabel:-
a=ssrc:385254926 label:2c32e2c0-2e79-4ab7-b42a-06fc6d60dd5a
dart_sdk.js:31626 [Ion::Client] DEBUG: Setup audio codec => OPUS, payload => 111
dart_sdk.js:31626 [Ion::Client] DEBUG: Setup video codec => VP8, payload => 96
dart_sdk.js:31626 [Ion::Client] DEBUG: ssrcs => 4265990675 385254926, video 4265990675
dart_sdk.js:31626 [Ion::Client] DEBUG: SDP => v=0
o=- 5308524162553206000 2 IN IP4 127.0.0.1
s=-
t=0 0
a=msid-semantic: WMS
a=group:BUNDLE 0 1
m=audio 9 UDP/TLS/RTP/SAVPF 111
c=IN IP4 0.0.0.0
a=rtpmap:111 OPUS/48000/2
a=fmtp:111 minptime=10;useinbandfec=1
a=rtcp:9 IN IP4 0.0.0.0
a=rtcp-fb:111 transport-cc
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=setup:actpass
a=mid:0
a=msid:- c5f657e7-bd6f-44fe-a9b8-54f91704e7bb
a=recvonly
a=ice-ufrag:64Um
a=ice-pwd:YXOCkayDQwjpa3nTeeuqx6t0
a=fingerprint:sha-256 97:EE:31:CB:37:4C:66:65:47:4B:6B:59:33:70:08:1C:78:FE:04:D5:5E:E8:E2:81:BD:68:AC:9B:43:61:70:4A
a=ice-options:trickle
a=ssrc:1688738374 cname:yJu55S3xEWOkNro3
a=ssrc:1688738374 msid:- c5f657e7-bd6f-44fe-a9b8-54f91704e7bb
a=ssrc:1688738374 mslabel:-
a=ssrc:1688738374 label:c5f657e7-bd6f-44fe-a9b8-54f91704e7bb
a=rtcp-mux
m=video 9 UDP/TLS/RTP/SAVPF 96
c=IN IP4 0.0.0.0
a=rtpmap:96 VP8/90000
a=rtcp:9 IN IP4 0.0.0.0
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 transport-cc
a=rtcp-fb:96 ccm
a=rtcp-fb:96 ccm fir
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=extmap:14 urn:ietf:params:rtp-hdrext:toffset
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:13 urn:3gpp:video-orientation
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:12 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=extmap:11 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type
a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing
a=extmap:8 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07
a=extmap:9 http://www.webrtc.org/experiments/rtp-hdrext/color-space
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=setup:actpass
a=mid:1
a=msid:- 2c32e2c0-2e79-4ab7-b42a-06fc6d60dd5a
a=recvonly
a=ice-ufrag:64Um
a=ice-pwd:YXOCkayDQwjpa3nTeeuqx6t0
a=fingerprint:sha-256 97:EE:31:CB:37:4C:66:65:47:4B:6B:59:33:70:08:1C:78:FE:04:D5:5E:E8:E2:81:BD:68:AC:9B:43:61:70:4A
a=ice-options:trickle
a=ssrc:4265990675 cname:yJu55S3xEWOkNro3
a=ssrc:4265990675 msid:- 2c32e2c0-2e79-4ab7-b42a-06fc6d60dd5a
a=ssrc:4265990675 mslabel:-
a=ssrc:4265990675 label:2c32e2c0-2e79-4ab7-b42a-06fc6d60dd5a
a=rtcp-mux
a=rtcp-rsize
dart_sdk.js:31626 [Ion::Client] DEBUG: Send offer sdp => v=0
o=- 5308524162553206000 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0 1
a=msid-semantic: WMS
m=audio 54198 UDP/TLS/RTP/SAVPF 111
c=IN IP6 2409:8a34:e44:16b0:80d5:4f38:2e6a:5deb
a=rtcp:9 IN IP4 0.0.0.0
a=candidate:151832020 1 udp 2122262783 2409:8a34:e44:16b0:80d5:4f38:2e6a:5deb 54198 typ host generation 0 network-id 5
a=ice-ufrag:64Um
a=ice-pwd:YXOCkayDQwjpa3nTeeuqx6t0
a=ice-options:trickle
a=fingerprint:sha-256 97:EE:31:CB:37:4C:66:65:47:4B:6B:59:33:70:08:1C:78:FE:04:D5:5E:E8:E2:81:BD:68:AC:9B:43:61:70:4A
a=setup:actpass
a=mid:0
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=recvonly
a=msid:- c5f657e7-bd6f-44fe-a9b8-54f91704e7bb
a=rtcp-mux
a=rtpmap:111 OPUS/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 minptime=10;useinbandfec=1
a=ssrc:1688738374 cname:yJu55S3xEWOkNro3
a=ssrc:1688738374 msid:- c5f657e7-bd6f-44fe-a9b8-54f91704e7bb
a=ssrc:1688738374 mslabel:-
a=ssrc:1688738374 label:c5f657e7-bd6f-44fe-a9b8-54f91704e7bb
m=video 9 UDP/TLS/RTP/SAVPF 96
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:64Um
a=ice-pwd:YXOCkayDQwjpa3nTeeuqx6t0
a=ice-options:trickle
a=fingerprint:sha-256 97:EE:31:CB:37:4C:66:65:47:4B:6B:59:33:70:08:1C:78:FE:04:D5:5E:E8:E2:81:BD:68:AC:9B:43:61:70:4A
a=setup:actpass
a=mid:1
a=extmap:14 urn:ietf:params:rtp-hdrext:toffset
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:13 urn:3gpp:video-orientation
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:12 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=extmap:11 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type
a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing
a=extmap:8 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07
a=extmap:9 http://www.webrtc.org/experiments/rtp-hdrext/color-space
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=recvonly
a=msid:- 2c32e2c0-2e79-4ab7-b42a-06fc6d60dd5a
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:96 VP8/90000
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 transport-cc
a=rtcp-fb:96 ccm
a=rtcp-fb:96 ccm fir
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=ssrc:4265990675 cname:yJu55S3xEWOkNro3
a=ssrc:4265990675 msid:- 2c32e2c0-2e79-4ab7-b42a-06fc6d60dd5a
a=ssrc:4265990675 mslabel:-
a=ssrc:4265990675 label:2c32e2c0-2e79-4ab7-b42a-06fc6d60dd5a
dart_sdk.js:31626 [protoo-client] DEBUG: send message: {"request":true,"id":7259049,"method":"subscribe","data":{"rid":"room1","jsep":{"sdp":"v=0\r\no=- 5308524162553206000 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=msid-semantic: WMS\r\nm=audio 54198 UDP/TLS/RTP/SAVPF 111\r\nc=IN IP6 2409:8a34:e44:16b0:80d5:4f38:2e6a:5deb\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=candidate:151832020 1 udp 2122262783 2409:8a34:e44:16b0:80d5:4f38:2e6a:5deb 54198 typ host generation 0 network-id 5\r\na=ice-ufrag:64Um\r\na=ice-pwd:YXOCkayDQwjpa3nTeeuqx6t0\r\na=ice-options:trickle\r\na=fingerprint:sha-256 97:EE:31:CB:37:4C:66:65:47:4B:6B:59:33:70:08:1C:78:FE:04:D5:5E:E8:E2:81:BD:68:AC:9B:43:61:70:4A\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=recvonly\r\na=msid:- c5f657e7-bd6f-44fe-a9b8-54f91704e7bb\r\na=rtcp-mux\r\na=rtpmap:111 OPUS/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=ssrc:1688738374 cname:yJu55S3xEWOkNro3\r\na=ssrc:1688738374 msid:- c5f657e7-bd6f-44fe-a9b8-54f91704e7bb\r\na=ssrc:1688738374 mslabel:-\r\na=ssrc:1688738374 label:c5f657e7-bd6f-44fe-a9b8-54f91704e7bb\r\nm=video 9 UDP/TLS/RTP/SAVPF 96\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:64Um\r\na=ice-pwd:YXOCkayDQwjpa3nTeeuqx6t0\r\na=ice-options:trickle\r\na=fingerprint:sha-256 97:EE:31:CB:37:4C:66:65:47:4B:6B:59:33:70:08:1C:78:FE:04:D5:5E:E8:E2:81:BD:68:AC:9B:43:61:70:4A\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:13 urn:3gpp:video-orientation\r\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:12 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:11 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07\r\na=extmap:9 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=recvonly\r\na=msid:- 2c32e2c0-2e79-4ab7-b42a-06fc6d60dd5a\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=ssrc:4265990675 cname:yJu55S3xEWOkNro3\r\na=ssrc:4265990675 msid:- 2c32e2c0-2e79-4ab7-b42a-06fc6d60dd5a\r\na=ssrc:4265990675 mslabel:-\r\na=ssrc:4265990675 label:2c32e2c0-2e79-4ab7-b42a-06fc6d60dd5a\r\n","type":"offer"},"mid":"1073a415-4b40-4e58-a0cf-cbca4668f1cd#UXAVBF","options":{"codec":"vp8","bandwidth":"512"}}}
dart_sdk.js:31626 [Logger::HTML::WebSocket] DEBUG: send: {"request":true,"id":7259049,"method":"subscribe","data":{"rid":"room1","jsep":{"sdp":"v=0\r\no=- 5308524162553206000 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0 1\r\na=msid-semantic: WMS\r\nm=audio 54198 UDP/TLS/RTP/SAVPF 111\r\nc=IN IP6 2409:8a34:e44:16b0:80d5:4f38:2e6a:5deb\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=candidate:151832020 1 udp 2122262783 2409:8a34:e44:16b0:80d5:4f38:2e6a:5deb 54198 typ host generation 0 network-id 5\r\na=ice-ufrag:64Um\r\na=ice-pwd:YXOCkayDQwjpa3nTeeuqx6t0\r\na=ice-options:trickle\r\na=fingerprint:sha-256 97:EE:31:CB:37:4C:66:65:47:4B:6B:59:33:70:08:1C:78:FE:04:D5:5E:E8:E2:81:BD:68:AC:9B:43:61:70:4A\r\na=setup:actpass\r\na=mid:0\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=recvonly\r\na=msid:- c5f657e7-bd6f-44fe-a9b8-54f91704e7bb\r\na=rtcp-mux\r\na=rtpmap:111 OPUS/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=ssrc:1688738374 cname:yJu55S3xEWOkNro3\r\na=ssrc:1688738374 msid:- c5f657e7-bd6f-44fe-a9b8-54f91704e7bb\r\na=ssrc:1688738374 mslabel:-\r\na=ssrc:1688738374 label:c5f657e7-bd6f-44fe-a9b8-54f91704e7bb\r\nm=video 9 UDP/TLS/RTP/SAVPF 96\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:64Um\r\na=ice-pwd:YXOCkayDQwjpa3nTeeuqx6t0\r\na=ice-options:trickle\r\na=fingerprint:sha-256 97:EE:31:CB:37:4C:66:65:47:4B:6B:59:33:70:08:1C:78:FE:04:D5:5E:E8:E2:81:BD:68:AC:9B:43:61:70:4A\r\na=setup:actpass\r\na=mid:1\r\na=extmap:14 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:13 urn:3gpp:video-orientation\r\na=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:12 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:11 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:8 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07\r\na=extmap:9 http://www.webrtc.org/experiments/rtp-hdrext/color-space\r\na=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid\r\na=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\r\na=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\r\na=recvonly\r\na=msid:- 2c32e2c0-2e79-4ab7-b42a-06fc6d60dd5a\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=ssrc:4265990675 cname:yJu55S3xEWOkNro3\r\na=ssrc:4265990675 msid:- 2c32e2c0-2e79-4ab7-b42a-06fc6d60dd5a\r\na=ssrc:4265990675 mslabel:-\r\na=ssrc:4265990675 label:2c32e2c0-2e79-4ab7-b42a-06fc6d60dd5a\r\n","type":"offer"},"mid":"1073a415-4b40-4e58-a0cf-cbca4668f1cd#UXAVBF","options":{"codec":"vp8","bandwidth":"512"}}}
dart_sdk.js:31626 [protoo-client] DEBUG: Recivied data: {"response":true,"id":7259049,"ok":true,"data":{"jsep":{"sdp":"v=0\r\no=- 181357306 1585066669 IN IP4 0.0.0.0\r\ns=-\r\nt=0 0\r\na=fingerprint:sha-256 57:1D:47:9D:EE:36:92:D5:20:A5:17:CE:FA:7F:44:51:2C:1F:2F:17:44:F8:D0:7D:70:61:2F:07:7F:1B:71:B4\r\na=group:BUNDLE 0 1\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111\r\nc=IN IP4 0.0.0.0\r\na=setup:passive\r\na=mid:0\r\na=ice-ufrag:JyJdfooQPcWaELms\r\na=ice-pwd:uaUMDOsZjcUhBTLBDxWRIotWYaZCIwVo\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:111 opus/48000/2\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=inactive\r\na=candidate:foundation 1 udp 2130706431 192.168.0.115 60116 typ host generation 0\r\na=candidate:foundation 2 udp 2130706431 192.168.0.115 60116 typ host generation 0\r\na=end-of-candidates\r\nm=video 9 UDP/TLS/RTP/SAVPF 102 96 98\r\nc=IN IP4 0.0.0.0\r\na=setup:passive\r\na=mid:1\r\na=ice-ufrag:JyJdfooQPcWaELms\r\na=ice-pwd:uaUMDOsZjcUhBTLBDxWRIotWYaZCIwVo\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:102 H264/90000\r\na=fmtp:102 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f\r\na=rtcp-fb:102 goog-remb \r\na=rtcp-fb:102 ccm \r\na=rtcp-fb:102 nack \r\na=rtcp-fb:102 nack pli \r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb \r\na=rtcp-fb:96 ccm \r\na=rtcp-fb:96 nack \r\na=rtcp-fb:96 nack pli \r\na=rtpmap:98 VP9/90000\r\na=ssrc:3931674307 cname:{a944597c-8b96-4d3e-bf61-06b294680d6f}\r\na=ssrc:3931674307 msid:{a944597c-8b96-4d3e-bf61-06b294680d6f} {49cd52c5-1081-4878-8d4e-67890b86b81b}\r\na=ssrc:3931674307 mslabel:{a944597c-8b96-4d3e-bf61-06b294680d6f}\r\na=ssrc:3931674307 label:{49cd52c5-1081-4878-8d4e-67890b86b81b}\r\na=msid:{a944597c-8b96-4d3e-bf61-06b294680d6f} {49cd52c5-1081-4878-8d4e-67890b86b81b}\r\na=sendrecv\r\na=candidate:foundation 1 udp 2130706431 192.168.0.115 60116 typ host generation 0\r\na=candidate:foundation 2 udp 2130706431 192.168.0.115 60116 typ host generation 0\r\na=end-of-candidates\r\n","type":"answer"},"mid":"297e527d-1126-43c1-b6a6-81c708023602#FFEDEY"}}
dart_sdk.js:31626 [Ion::Client] DEBUG: subscribe success => result(mid => 297e527d-1126-43c1-b6a6-81c708023602#FFEDEY) sdp => v=0
o=- 181357306 1585066669 IN IP4 0.0.0.0
s=-
t=0 0
a=fingerprint:sha-256 57:1D:47:9D:EE:36:92:D5:20:A5:17:CE:FA:7F:44:51:2C:1F:2F:17:44:F8:D0:7D:70:61:2F:07:7F:1B:71:B4
a=group:BUNDLE 0 1
m=audio 9 UDP/TLS/RTP/SAVPF 111
c=IN IP4 0.0.0.0
a=setup:passive
a=mid:0
a=ice-ufrag:JyJdfooQPcWaELms
a=ice-pwd:uaUMDOsZjcUhBTLBDxWRIotWYaZCIwVo
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:111 opus/48000/2
a=fmtp:111 minptime=10;useinbandfec=1
a=inactive
a=candidate:foundation 1 udp 2130706431 192.168.0.115 60116 typ host generation 0
a=candidate:foundation 2 udp 2130706431 192.168.0.115 60116 typ host generation 0
a=end-of-candidates
m=video 9 UDP/TLS/RTP/SAVPF 102 96 98
c=IN IP4 0.0.0.0
a=setup:passive
a=mid:1
a=ice-ufrag:JyJdfooQPcWaELms
a=ice-pwd:uaUMDOsZjcUhBTLBDxWRIotWYaZCIwVo
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:102 H264/90000
a=fmtp:102 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f
a=rtcp-fb:102 goog-remb
a=rtcp-fb:102 ccm
a=rtcp-fb:102 nack
a=rtcp-fb:102 nack pli
a=rtpmap:96 VP8/90000
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 ccm
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=rtpmap:98 VP9/90000
a=ssrc:3931674307 cname:{a944597c-8b96-4d3e-bf61-06b294680d6f}
a=ssrc:3931674307 msid:{a944597c-8b96-4d3e-bf61-06b294680d6f} {49cd52c5-1081-4878-8d4e-67890b86b81b}
a=ssrc:3931674307 mslabel:{a944597c-8b96-4d3e-bf61-06b294680d6f}
a=ssrc:3931674307 label:{49cd52c5-1081-4878-8d4e-67890b86b81b}
a=msid:{a944597c-8b96-4d3e-bf61-06b294680d6f} {49cd52c5-1081-4878-8d4e-67890b86b81b}
a=sendrecv
a=candidate:foundation 1 udp 2130706431 192.168.0.115 60116 typ host generation 0
a=candidate:foundation 2 udp 2130706431 192.168.0.115 60116 typ host generation 0
a=end-of-candidates
dart_sdk.js:31626 onaddstream argument: [object MediaStream]
dart_sdk.js:31626 [Ion::Client] DEBUG: Stream::pc::onaddstream {a944597c-8b96-4d3e-bf61-06b294680d6f}
dart_sdk.js:31626 You don't have to call RTCVideoRenderer.initialize on Flutter Web
3dart_sdk.js:31626 [protoo-client] DEBUG: Recivied data: {}`
During a demo 2 devices were on wifi and neither showed up in the list.
Even SELF did not show up.
This was in a corporate network
I assume it was because the router was a symmetric router ?
We were running off the current CloudWebrtc gateway server.
How to mitigate this ?
I was reading the Roadmap and saw that Centrifugo is deems too complex.
I agree.
But we need to think about the best way to support Subscriptions.
A Subscription needs to map to many users and then to each users in terms of a ACK. So you need a Mailbox per users subscribed to the Topic. At least thats how i think about it.
THen you have th properties for each mailbox and topic of:
Its looking awesome..
Would be good to have a docker and docker compose for etcd, rabbit MQ, etc.
Or do you run on k8 or maybe even firecracker ?
Its good to have a standard Dart client For Flutter, but also i would support a gomobile based one too.
The gomobile client is wrapped by a standard Flutter Plugin, but it allows oyu to have golang for the client and server and that can mean less techncial debt and less bugs. Its quite difficult to get a Pub SUb system to be sturdy over changing network conditions and other aspects i my option
I am just dropping a list of ideas/improvements. If some of these don't make sense please push back! There is a big demand for conference software happening. If we can make ion the easiest SFU to deploy (and the most perfomant) this could be really great for the project :)
When these are solved I will post on Reddit/HN/Twitter and we will see a great response.
When everything comes up we should make cert generation easier.
Users shouldn't have to build anything locally. We should continue to make local development easy though!
Pion supports setting your Public IP in the config. We need to do this because the service is running in a container (and does not know the host IP). We can script this so a user doesn't even have to do anything, we will just autoset this on startup by using a service like 'whatismyip'.
Since ion doesn't have access to any of the hosts interfaces it can't get any inbound traffic. We should expose a range of UDP ports, and then use SetEphemeralUDPPortRange to make sure pion/ion
only listens on the range that are exposed by the host operating system.
Run on desktop using a webview.
Does anyone know if we view has access to the audio and video camera ?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.