A Swift library for camera and microphone live streaming via RTMP and SRT across Apple platforms.
HaishinKit is a mature, cross-platform streaming library that enables developers to integrate live video and audio publishing and playback into iOS, macOS, tvOS, and visionOS applications. It provides a robust foundation for building custom broadcasting apps, supporting industry-standard protocols like RTMP and SRT for reliable real-time media delivery.
Developers building live streaming applications for Apple platforms (iOS, macOS, tvOS, visionOS) who need to publish or play back video and audio streams. This includes app creators for broadcasting, video communication, or screen recording.
Developers choose HaishinKit for its decade of refinement, strict Swift concurrency compliance for modern safety, and native support for multi-camera access, multi-streaming, and screen capture on Apple ecosystems, offering a stable and performant alternative to building streaming infrastructure from scratch.
Camera and Microphone streaming library via RTMP and SRT for iOS, macOS, tvOS and visionOS.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
With over 10 years of development, 2,778 commits, and 163 releases, HaishinKit offers a battle-tested and reliable foundation for live streaming on Apple devices.
Supports industry-standard RTMP and SRT for publishing and playback, with experimental WHEP/WHIP for modern web streaming, catering to diverse broadcasting needs.
Leverages Apple's multitasking APIs to enable simultaneous camera use with other apps, ideal for advanced streaming scenarios on iPad without conflicts.
Allows broadcasting live streams to multiple services at once, with tools to verify raw video data for ensuring stream quality and reliability.
Designed with Strict Concurrency compliance, reducing race conditions and making code safer and more maintainable in contemporary Swift projects.
WHEP/WHIP support is experimental, so developers relying on these protocols for production apps may face instability and limited functionality.
SRT protocol is not available for Mac Catalyst, restricting cross-platform development on certain Apple hardware and complicating unified codebases.
The README admits known issues with Xcode integration and requires manual AVAudioSession and Info.plist configuration, adding to development overhead and potential debugging time.