SkillAgentSearch skills...

HaishinKit.swift

Camera and Microphone streaming library via RTMP and SRT for iOS, macOS, tvOS and visionOS.

Install / Use

/learn @HaishinKit/HaishinKit.swift
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

HaishinKit for iOS, macOS, tvOS, visionOS and Android.

GitHub Stars Release Platform Compatibility Swift Compatibility GitHub license GitHub Sponsor

  • Camera and Microphone streaming library via RTMP and SRT for iOS, macOS, tvOS and visionOS.
  • 10th Anniversary🎖️In development for 10 years, with 2,778 commits and 163 releases. Thank you. Since Aug 2, 2015.

💖 Sponsors

Do you need additional support? Technical support on Issues and Discussions is provided only to contributors and academic researchers of HaishinKit. By becoming a sponsor, I can provide the support you need.

Sponsor: $50 per month: Technical support via GitHub Issues/Discussions with priority response.

🎨 Features

  • Protocols ✨Publish and playback feature are available RTMP, SRT and WHEP/WHIP(alpha).
  • Multi Camera accessSupport multitasking camera access.
  • Multi Streaming ✨Allowing live streaming to separate services. Views also support this, enabling the verification of raw video data.
  • Strict Concurrency ✨Supports Swift's Strict Concurrency compliance.
  • Screen Capture ✨Supports ReplayKit(iOS) and ScreenCaptureKit(macOS) api.
  • Video mixing ✨Possible to display any text or bitmap on a video during broadcasting or viewing. This allows for various applications such as watermarking and time display. |Publish|Playback| |:---:|:---:| |<img width="961" alt="" src="https://github.com/user-attachments/assets/aaf6c06f-d2de-43c1-a435-90907f370977">|<img width="849" alt="" src="https://github.com/user-attachments/assets/0a07b418-aa56-41cb-8e6d-e12596b25ae8">|

🌏 Requirements

Development

|Version|Xcode|Swift| |:----:|:----:|:----:| |2.2.0+|26.0+|6.0+| |2.1.0+|16.4+|6.0+|

OS

|iOS|tvOS|Mac Catalyst|macOS|visionOS|watchOS| |:-:|:-:|:-:|:-:|:-:|:-:| |15.0+|15.0+|15.0+|12.0+|1.0+|-|

  • SRTHaishinKit is not avaliable for Mac Catalyst.

📖 Getting Started

[!IMPORTANT] There are several issues that occur when connected to Xcode. Please also refer to this document.

🔧 Examples

  • Reference implementation app for live streaming publish and playback.
  • If an issue occurs, please check whether it also happens in the examples app.

Usage

You can verify by changing the URL of the following file. https://github.com/HaishinKit/HaishinKit.swift/blob/abf1883d25d0ba29e1d1d67ea9e3a3b5be61a196/Examples/Preference.swift#L1-L7

Download

git clone https://github.com/HaishinKit/HaishinKit.swift.git
cd HaishinKit.swift
open Examples/Examples.xcodeproj

🔧 Installation

Using Swift Package Manager

https://github.com/HaishinKit/HaishinKit.swift

🔧 Prerequisites

AVAudioSession

Make sure you setup and activate your AVAudioSession iOS.

import AVFoundation

let session = AVAudioSession.sharedInstance()
do {
    try session.setCategory(.playAndRecord, mode: .default, options: [.defaultToSpeaker, .allowBluetooth])
    try session.setActive(true)
} catch {
    print(error)
}

🔧 Cocoa Keys

Please make sure to contains Info.plist the following values when accessing the camera or microphone.

<key>NSCameraUsageDescription</key>
<string>your usage description here</string>
<key>NSMicrophoneUsageDescription</key>
<string>your usage description here</string>

📃 Documentation

🌏 Related projects

Project name |Notes |License ----------------|------------|-------------- HaishinKit for Android.|Camera and Microphone streaming library via RTMP for Android.|BSD 3-Clause "New" or "Revised" License HaishinKit for Flutter.|Camera and Microphone streaming library via RTMP for Flutter.|BSD 3-Clause "New" or "Revised" License

📜 License

BSD-3-Clause

Related Skills

View on GitHub
GitHub Stars3.0k
CategoryDevelopment
Updated18h ago
Forks681

Languages

Swift

Security Score

100/100

Audited on Mar 19, 2026

No findings