Skip to content

A ready-to-use iOS UI kit Example for interactive live streaming that enable real-time communication between broadcasters and their audience, allowing for features like chat, Add co-hosts, or other forms of engagement.

Notifications You must be signed in to change notification settings

videosdk-live/videosdk-ils-iOS-sdk-example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Interactive Live Streaming for iOS using Video SDK

Documentation Discord Register

VideoSDK's Interactive Live Streaming (ILS) enables real-time webinars, events, and social engagements with up to 100 hosts/co-hosts and 2,000 viewers. Perfect for large-scale interactions, it supports dynamic tools like Q&A and live chat for seamless engagement.

πŸ₯³ Get 10,000 minutes free every month! Try it now!

πŸ“š Table of Contents

πŸ”₯ Features

Media Controls

  • βœ… Toggle Media: Easily control audio, video, and screen sharing. Hosts can also manage participant media settings.
  • βœ… Customizable Streams: Personalize video and audio streams with quality and setting options.

Enhanced Video & Audio Capabilities

  • βœ… AI Virtual Background: Apply virtual backgrounds seamlessly during video streams.
  • βœ… AI Noise Removal: Enhance audio clarity by eliminating background noise.
  • βœ… AI Filter: Apply real-time filters to enhance video streams.

Interactive Features

  • βœ… Chat: Engage in live chat with host moderation to ensure a smooth experience.
  • βœ… Gifts: Send and receive virtual gifts during the session.
  • βœ… Invite Co-hosts: Bring audience members on stage to co-host the session.
  • βœ… Whiteboard: Collaborate visually with an interactive whiteboard.

Accessibility

  • βœ… Real-time Captioning: Enable live captions for improved accessibility and engagement.

Moderation Tools

  • πŸ”„ Content Moderation: Ensure a safe and appropriate environment by moderating shared content. (In progress)
  • βœ… Kick Participants: Maintain control by removing disruptive participants.

Live Stream Management

  • πŸ”„ Relay Speaker(PK-Host): Send speakers to other live streams for expanded engagement. (In progress)
  • πŸ”„ Switch Live Streams: Seamlessly transition between different live streams. (In progress)

⚑ Quick Setup

  1. # on VideoSDK to grab your API Key and Secret.
  2. Familiarize yourself with Token

πŸ›  Prerequisites

πŸŽ₯ Live Stream Mode Overview

1. SEND_AND_RECV (For Host or Co-host):

  • Designed primarily for the Host or Co-host.
  • Allows sending and receiving media.
  • Hosts can broadcast their audio/video and interact directly with the audience.

2. RECV_ONLY (For Audience):

  • Tailored for the Audience.
  • Enables receiving media shared by the Host.
  • Audience members can view and listen but cannot share their own media.
ILS Mode Demonstration

πŸ“¦ Running the Sample App

Step 1: Clone the Repository

Clone the repository to your local environment.

  git clone https://github.com/videosdk-live/videosdk-ils-iOS-sdk-example.git

Step 2. Install Using Swift Package Manager (SPM)

  1. Open your Xcode project and go to File > Add Packages.
  2. Enter the repository URL:
  https://github.com/videosdk-live/videosdk-rtc-ios-spm
  1. Choose the version rule (e.g., "Up to Next Major") and add the package to your target.

Step 3. Update AUTH_TOKEN in the LiveStreamController.swift file.

Generate temporary token from Video SDK Account.

public let TOKEN = "#YOUR_GENERATED_TOKEN"

Step 4. Run the project.

Run App from Xcode. Please run the app in real device for better experience because audio and video is might not supported in simulator.

Result of Example:

ios-ils-example-output.mp4

🧠 Key Concepts

Understand the core components of our SDK:

  • Meeting - A Meeting represents Real-time audio and video communication.

    Note: Don't confuse the terms Room and Meeting; both mean the same thing πŸ˜ƒ

  • Sessions - A particular duration you spend in a given meeting is referred as a session, you can have multiple sessions of a specific meetingId.

  • Participant - A participant refers to anyone attending the meeting session. The local participant represents yourself (You), while all other attendees are considered remote participants.

  • Stream - A stream refers to video or audio media content that is published by either the local participant or remote participants.

πŸ” Token Generation

The token is used to create and validate a meeting using API and also initialize a meeting.

πŸ› οΈ Development Environment:

  • You may use a temporary token for development. To create a temporary token, go to VideoSDK's dashboard .

🌐 Production Environment:

  • You must set up an authentication server to authorize users for production. To set up an authentication server, please take a look at our official example repositories. videosdk-rtc-api-server-examples

πŸ“– Examples

πŸ“ Documentation

Explore more and start building with our Documentation

🀝 Join Our Community

  • Discord: Engage with the Video SDK community, ask questions, and share insights.
  • X: Stay updated with the latest news, updates, and tips from Video SDK.

About

A ready-to-use iOS UI kit Example for interactive live streaming that enable real-time communication between broadcasters and their audience, allowing for features like chat, Add co-hosts, or other forms of engagement.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages