2026-05-04 23:31:09 +09:00
2026-01-02 20:53:17 +09:00
2026-01-02 20:53:17 +09:00
2025-04-20 11:15:08 +09:00
2026-03-25 13:01:24 -04:00
2025-09-03 21:58:47 +09:00
2025-06-21 15:41:26 +09:00
2024-11-08 17:02:02 +09:00
2024-02-25 13:49:38 +09:00
2025-07-13 17:20:05 +09:00
2017-11-20 11:59:45 +09:00
2026-01-24 13:45:34 +09:00

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 access Support 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

🌏 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

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

S
Description
Camera and Microphone streaming library via RTMP and SRT for iOS, macOS, tvOS and visionOS.
Readme 111 MiB
Languages
Swift 99.8%
Ruby 0.2%