Table of Contents
Krakl.app
Ein Projekt von brandschmie.de.
Eine Anwendung um Video-Konferenzen zu veranstalten. Die Smartphone-App wird zum Präsentieren von dem Inhalt des eigenen Smartphone-Bildschirms verwendet.
Der Start einer öffentlichen Beta ist für den 01.02.2021 geplant.
Git
We have two remotes in project:
- https://gitlab.com/krakl-app-v2/krakl-connect-android.git → administered by Krakl (Sascha Frietsch) on Gitlab.com
- http://gitlab.wialon-consulting.de:8080/krakl/krakl.app.git → administered by me on my server
Git for iOS
Requirements
Krakl.app Usage Scenario Description
Krakl.app requirements for old iOS App (something like spec)
Krakl meetings:
https://meeting.staging.krakl.app/launcher/meetings
User: v.kalaschnikow@gmail.com / kraklYA…
A meeting should be created in Google calendar and (important) the place should contain the word “Krakl”.
Test Meeting (05.03.2021): https://meeting.beta.krakl.app/join/a3a48e98-a0f4-488c-ba62-a9ccd0ee5386/68e8878d-d168-428c-8789-98e66b84038e
A room for tests (iOS app):
https://meeting.krakl-next.wngrstmhr.de/join/nnp51K/XoghcN/start
https://meeting.krakl-next.wngrstmhr.de/join/nnp51K/4FzWuV/start
https://meeting.krakl-next.wngrstmhr.de/join/nnp51K/3h5g6S/start
Also:
https://meeting.krakl-next.wngrstmhr.de/join/yW9IWH/bAJS4u
https://meeting.krakl-next.wngrstmhr.de/join/yW9IWH/BiPlwQ
https://meeting.krakl-next.wngrstmhr.de/join/yW9IWH/LLEZDS
Also: https://meeting.krakl-next.wngrstmhr.de/join/IKWUCk/v9dxkF
Freelancers
Projects
https://www.fl.ru/projects/4402158/dorabotka-webrtc-prilojeniya-dlya-ios.html
https://freelance.ru/projects/prilozhenie-dlya-ios-na-tehnologii-webrtc-1206263.html
https://freelance.habr.com/tasks/303744
https://www.weblancer.net/projects/mobilynye-prilozheniya-28/dorabotka-webrtc-prilozheniya-dlya-ios-1044707/
https://kwork.ru/projects/791938
Assholes
http://moshenniki-na-avito.ru/uslugi-po-razblokirovki-icloud/
https://vk.com/topic-118712708_37456860?post=195
Version 1.0 ToDo
Version 1.0 for Android
- - ConnectActivity (aka ConnectScreenActivity)
- - Implement landscape
- + Add button “Start / Stop transmission”
- + Add button
- + Implement status (“Connected / Not connected”)
- + Bind status to the button (Connected = “Übertragung stoppen”)
- - QrCodeScannerActivity (aka KraklScannerActivity)
- + Implement portrait
- + After reading of Code go back to the ConnectActivity (NOT to the “RoomActivity”)
- - Implement landscape
- - Test whether rotation works (whether library works)
- - Implement animation of buttons
- - SettingsActivity
- - Implement activity
- - Implement button (or menu item?) on ConnectActivity to start SettingsActivity
- - KraklBackgroundService
- - Check whether I use the proper service (local + foreground)
- - Make Notification
- - Make Text
- - Make “Stop” Action
- - Communication
- - Quality
- - Resolution / fps
- - Misc
Version 1.0 for iOS
Testumgebung
For me
Room Id: IKWUCk
User 1: v9dxkF → https://meeting.krakl-next.wngrstmhr.de/join/IKWUCk/v9dxkF
User 2: d0Pkqd
Siehe auch Mails von Sascha Frietsch mit dem Titel “Testumgebung”.
For iOS developer
https://meeting.krakl-next.wngrstmhr.de/join/nnp51K/XoghcN/start
https://meeting.krakl-next.wngrstmhr.de/join/nnp51K/4FzWuV/start
https://meeting.krakl-next.wngrstmhr.de/join/nnp51K/3h5g6S/start
Siehe auch Mail von Sascha Frietsch mit dem Titel “iOS Links”.
Mediasoup demo
Testumgebung von mediasoup: https://v3demo.mediasoup.org/?roomId=9eyb2unq
Old Krakl
The old, Twilio driven, Krakl installation:
Boss-User: https://meeting.krakl.app/start/28f81978-a7c5-45ba-bdfb-ffa49d25f382/fa64abe7-4469-4d18-bae1-bbe2ad1c3ac6
Gast: https://meeting.krakl.app/start/28f81978-a7c5-45ba-bdfb-ffa49d25f382/1b64abe7-4469-4d18-bae1-bbe2ad1c3ac6
Der Qr-Code kommt bei Klick auf das Cog-Icon (oben rechts)
Useful Resources
WebRTC
https://chromium.googlesource.com/external/webrtc/ - WebRTC Git repo
react-native-webrtc Repo react-native-webrtc Discourse Community
WebRTC: How to enable hardware acceleration for the video encoder - my question about WebRTC performance on some Android devices
Screen Capture on Android
Using MediaProjection API (since 5.1 / Lollipop).
ScreenCapture example by Google
Streaming on Android
It can be performed with the help of
- react-native-webrtc android client. (do we want it?)
- mediasoup-client-android library (does it work?)
- mediasoup-demo-android client by haiyangwu (not yet complete?) → test it first, because it has newer commits
- mediasoup-android-sample client by ethand91 (more complete?)
Can be helpful: https://mediasoup.discourse.group/t/android-native-client-support/276/45
Using ExoPlayer? Streaming media with ExoPlayer - video from Google I/O 2016
STUN/TURN and ICE
STUN (Session Traversal Utilities for NAT)
STUN - ein einfaches Netzwerkprotokoll, um das Vorhandensein und die Art von Firewalls und NAT-Routernzu erkennen und direkte Verbindungen zwischen Geräten, welche sich hinter einer NAT-Firewall befinden, aufzubauen.
TURN (Traversal Using Relays around NAT)
TURN - in Netzwerkprotokoll , welches im Gegensatz zu STUN sich eines externen, im öffentlichen Internet befindlichen Relay-Server bedient um so eine Verbindung zwischen Clients mit einem direkten Kommunikationskanal aufzubauen.
ICE (Interactive Connectivity Establishment)
ICE - eine Methode zur Überwindung von Network Address-Translation (NAT) für das Session Initiation Protocol (SIP). ICE ist keine neues Protokoll, sondern verwendet bereits existierende Protokolle, wie z.B. STUN, TURN, SIP, SDP, RSIP etc.
Resources
- STUN, TURN and ICE - very good (short) explanation by AnyConnect (STUN-TURN-ICE solution provider) with animations etc.
- ICE
- STUN
- TURN
Implementation of privacy policy (Datenschutzrichtlinien)
At the moment we have following texts:
At first time:
Bitte bestätigen Sie unsere Datenschutzbestimmungen: <a href="%1$s">%2$s</a>.
and if the user receives new version of privacy policy:
%1$s<br/><br/>Bitte bestätigen Sie Version %2$s unserer Datenschutzbestimmungen, die seit dem %3$s gelten: <a href="%4$s">%5$s</a>.
Information about API endpoint is in the mail from Sascha “API-Endpunkt Datenschutz” from 25.01.2021
Maybe can be helpful
Competition
Etwas ähnliches, aber nicht ganz:
- Deskreen - Browser als zweiter Bildschirm. Erlaubt dem Benutzer Präsentationen im Browserfenster (und dann auf dem zweiten Gerät, wie z.B. Smartphone oder Tablet) laufen lassen.
Termine
Termin am 07.02.2020
Mit Sven.
- Code scannen
- Bildschirm übertragen
- Für iOS gibt es schon eine App
- QR Code Scan
- WebRTC
Termin am 28.02.2020
Teilnehmer: Sven, Manuel, Sascha und ich.
- Die App auf Basis von twilio hat 400$ gekostet.
- Geplant sind 3 Versionen des Produktes:
- Starter (kostenlos)
- … (kleines Geld)
- Business (Abo)
- Die Versicherungsfirma, welche die App verwenden soll hat ca. 14 Tausend Versicherungsleute. Wenn 1% davon das Paket “Business” wählt kann man gut davon leben.
Gespräch mit Sascha am 02.03.2020
- React-Native-WebRTC ist eine Bibliothek, die zum Entwickeln von clientseitigen Anwendungen verwendet werden kann. Muss aber nicht, da z.B. mediasoup auch (native) Bibliotheken für iOS und Android anbietet.
- Im ersten Schritt ist die Komponente zu entwickeln, die den Bildschirminhalt abgreifen kann und ihn weitergeben kann. D.h. erstmal ist es unwichtig welche clientseitige Bibliothek verwendet wird. Es ist sogar wahrscheinlich günstiger, die von mediasoup zu nehmen, da ich mich dann ins React Native nicht einarbeiten muss.
- Von der Zeit her ist es geplant Mitte des Jahres etwas anbieten zu können. Die App muss es nicht unbedingt sein, da sie zum größten (kostenpflichtigen) Paket gehört. Andererseits ist es schon wichtig, dass man etwas hat, da man gleich etwas verkaufen kann. Und das bringt etwas mehr Motivation.
- Sascha setzt diese Woche einen Test-Zugang für mich auf. So dass ich eine Gegestelle habe mit der ich testen kann.
Termin am 08.01.2021
- Krakl for iOS can be tested (I'm waiting for invitation from Sven)
- Beta-environment is made ready by Sascha
- Verkaufsstart geplant für 1 April 2021
- Android App should be changed
- Debug messages should be deleted (like “Connected to…”)
- Datenschutz-Erklärung should be built in
- I will do both as long as Sven will send me the text of “Datenschutz-Erklärung”
Termin am 05.02.2021
- Krakl for iOS will be published in TestFlight (I was invited by Robin)
- The texts for privacy policy may be will be adjusted by lawyer, but are OK at the moment
- I will publish the new version (with privacy policy) on the beta channel
- The appointment with the lawyer is next week
