I'm trying to implement WebRTC on an android device supporting API 22 and I'm trying to connect to Kurento Media Server to establish media server capabilities. For my application Server layer, I'm trying to utilize a Java Server based on Tomcat, and this is implementing a Kurento Client API to connect to the Kurento Media Server. The issue I am having is understanding how to go about establishing a connection between the Android device and Kurento and doing a media transfer after the connection has been authorized by the Application Server and a SDP response has been processed by the Kurento Client initialized on the Application/Signaling Server. I came across Kurento Android SDK (Kands) but the repositories are missing sources on Maven and Gradle. Any help here in implementing the WebRtc.org stack with Kurento would be appreciated!
Implementing Kurento Client with WebRTC on Android
5k views Asked by dranz3r At
2
There are 2 answers
Related Questions in JAVA
- I need the BIRT.war that is compatible with Java 17 and Tomcat 10
- Creating global Class holder
- No method found for class java.lang.String in Kafka
- Issue edit a jtable with a pictures
- getting error when trying to launch kotlin jar file that use supabase "java.lang.NoClassDefFoundError"
- Does the && (logical AND) operator have a higher precedence than || (logical OR) operator in Java?
- Mixed color rendering in a JTable
- HTTPS configuration in Spring Boot, server returning timeout
- How to use Layout to create textfields which dont increase in size?
- Function for making the code wait in javafx
- How to create beans of the same class for multiple template parameters in Spring
- How could you print a specific String from an array with the values of an array from a double array on the same line, using iteration to print all?
- org.telegram.telegrambots.meta.exceptions.TelegramApiException: Bot token and username can't be empty
- Accessing Secret Variables in Classic Pipelines through Java app in Azure DevOps
- Postgres && statement Error in Mybatis Mapper?
Related Questions in ANDROID
- Creating global Class holder
- Flutter + Dart: Editing name of a tab shows up a black screen
- android-pdf-viewer Received status code 401 from server: Unauthorized
- Sdk 34 WRITE_EXTERNAL_STORAGE not working
- ussd reader in Recket Native module
- Incorrect display of LinearGradientBrush in IOS
- The Binary Version Of its metadata is 1.8.0, expected Version is 1.6.0 build error
- I can't make TextInput to auto expand properly in Android
- Creating multiple instances of a class with different initializing values in Flutter
- How to create a lottie animation
- making android analyze with coverity sast tool
- Flutter plugin development android src not opening after opening example
- I initialize my ViewModel in the Activity with several fragments as tabs, but the fragments(tabs) return null for the updated livedata
- Node.js Server + Socket.IO + Android Mobile Applicatoin XHR Polling Error...?
- How I can use the shared preferences class?
Related Questions in WEBRTC
- WebRTC close navigator.getUserMedia correctly
- Android WebRTC compile
- Java-based WebRTC SFU implementation for Spring Boot project
- Web RTC simple peer connection with socket.io could not be established
- WebRTC from Firefox to Android crashes
- How can I connect to a websocket from a vue app that is exposed to the network (yarn dev --host)?
- How to setup multiple peer connection with datachannels?
- Webrtc initial negotiation succeeds but renegotiation fails
- Webrtc Vulnerable Version
- aiortc: Combining multiple mp3 files to be returned as a single MediaStreamTrack
- WebRTC Data Channel is always in connecting state
- WebRTC ICE fails for IOS Browsers
- Need to connect my WebRTC stream(Handled by PeerJS) to my Asterisk server
- aiortc: Recording video on server discards beyond a few seconds
- Android 12+: Microphone stops in WebRTC app within a WebView when screen is locked or user switches apps
Related Questions in KURENTO
- Does Kurento support video UlpFEC or FlexFEC encoding in RTP Receiver?
- Kurento RecorderEndpoint is not storing to remote network storage
- Kurento groupcall - websocket connection failed
- I don't find kurento-module-platedetector for Node.js Module - Plate Detector Filter
- WebRTC + Kurento: pause an audio stream to decrease network traffic
- WebSocket connection between two containers in Docker can not be established
- Kurento - Error code 4: Stream doesn't contain enough data. Invalid URI
- Does Kurento support the function to send RTCP FIR packets when a key frame is needed?
- How to hide other participants' cameras in a group call
- How to fetch remoteAudio stream from kurento-media-server(when we create loopback) and bind it to <audio> tag
- How Can I make CCTV Web Application using Kurento-media-server?
- How can I resolve the "Could not start video source" error in my Kurento JavaScript WebRTC application?
- Why Kurento cannot record media stream from mobile to web when recording from web?
- Websocket ERR_CERT_AUTHORITY_INVALID on Java Spring + vanila JS
- What does it mean to "build against" another package?
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
KANDS will not help you much for several reasons. First, it is an outdated and unmaintained project. Second, with the setup you describe, I think you'd be barking at the wrong tree. In your case, the signalling that should be implemented in your Android client, should be between the client and your app server. As you can see in the following image, which depicts your proposed setup, your client will be connecting to an app server using your own signalling protocol, and it is you app server the one in charge of controlling KSM.
In this way, you can implement all your business logic in the app-server, and you'll be able to make upgrades in the media part, shielding your clients by hiding the underlying implementation. The only thing that you'll need, is to get the SDP offer from your client to the KMS (going through your app server), have the KMS process that offer, and send the answer back to your client.
With this setup, you'll also have the posibillity to connect Android clients to any other type of webrtc capable clients, such as browsers.