Munay WebRTC SDK

Build Real-Time Communication into Your Android Apps

Production-ready WebRTC SDK enabling peer-to-peer video calling, audio communication, and data channels with 5-minute integration.

Kotlin-first
Production Ready
Type Safe
Explore Features
MainActivity.kt
val sdk = MunayWebRTC.builder(context)
    .withSignaling(signaling)
    .withMedia(MediaConfig.DEFAULT)
    .build()

// Connect to peer
sdk.connect()

// Send message
sdk.sendText("Hello!")

Powerful WebRTC Capabilities

Everything you need to build real-time communication features into your Android applications.

Video & Audio Calling

Full HD video calling with front/back camera switching, audio controls, and adaptive quality based on network conditions.

  • HD/Full HD video support
  • Camera switching & mute
  • Echo cancellation
  • Adaptive bitrate

Data Channels

Send text, binary data, JSON, images, and files directly between peers without server intermediary.

  • Text messaging
  • Binary data transfer
  • JSON support
  • File sharing

Quality Monitoring

Real-time connection quality metrics with RTT, packet loss tracking, and automatic quality adaptation.

  • Real-time RTT monitoring
  • Packet loss tracking
  • Quality indicators
  • Auto reconnection

What You Can Build

Real-world applications powered by Munay WebRTC SDK

📹
Video Calling Apps

1-on-1 or group video conferencing applications

🎤
Voice Chat

Real-time voice communication for gaming or social apps

💬
Text Messaging

Peer-to-peer instant messaging platforms

📁
File Sharing

Direct file transfer without cloud storage

🤝
Collaborative Tools

Real-time collaboration and whiteboarding apps

🎮
Gaming

Multiplayer games with voice/video chat

📡
IoT Communication

Device-to-device communication protocols

📺
Live Streaming

Low-latency live streaming applications

Quick Start

Get started in minutes with our simple, type-safe Kotlin API

Video Call Example

val signaling = WebSocketSignaling("wss://your-server.com/ws")

val sdk = MunayWebRTC.builder(context)
    .withSignaling(signaling)
    .withMedia(MediaConfig.DEFAULT)  // Audio + Video
    .enableLogging(true)
    .build()

// Connect to peer
sdk.connect()

// Setup video rendering
sdk.getLocalVideoTrack()?.addSink(localVideoView)
sdk.getRemoteVideoTracks().firstOrNull()?.addSink(remoteVideoView)

Text Messaging Example

val sdk = MunayWebRTC.builder(context)
    .withSignaling(signaling)
    .withMedia(MediaConfig.DATA_ONLY)  // No audio/video
    .build()

// Send message
sdk.sendText("Hello from Munay!")

// Receive messages
sdk.observeTextMessages().collect { message ->
    println("Received: $message")
}

Media Controls

// Mute/unmute microphone
sdk.setAudioEnabled(false)

// Disable/enable camera
sdk.setVideoEnabled(false)

// Switch front/back camera
sdk.switchCamera()

Ready to Get Started?

Contact us to learn more about integrating Munay WebRTC SDK into your Android applications.

Contact Us

Open source sample applications available

Includes video calling, text messaging, and JSON data examples