[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-7026":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":24,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":33,"readmeContent":34,"aiSummary":35,"trendingCount":16,"starSnapshotCount":16,"syncStatus":36,"lastSyncTime":37,"discoverSource":38},7026,"HaishinKit.swift","HaishinKit\u002FHaishinKit.swift","HaishinKit","Camera and Microphone streaming library via RTMP and SRT for iOS, macOS, tvOS and visionOS.","https:\u002F\u002Fdocs.haishinkit.com\u002Fswift\u002Flatest\u002Fdocumentation\u002F",null,"Swift",3048,690,65,4,0,3,8,1,30.52,"BSD 3-Clause \"New\" or \"Revised\" License",false,"main",true,[26,27,28,29,30,31,32],"camera","moqt","rtmp","srt","streaming","whep","whip","2026-06-12 02:01:33","# HaishinKit for iOS, macOS, tvOS, visionOS and [Android](https:\u002F\u002Fgithub.com\u002FHaishinKit\u002FHaishinKit.kt).\n[![GitHub Stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FHaishinKit\u002FHaishinKit.swift?style=social)](https:\u002F\u002Fgithub.com\u002FHaishinKit\u002FHaishinKit.swift\u002Fstargazers)\n[![Release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002FHaishinKit\u002FHaishinKit.swift)](https:\u002F\u002Fgithub.com\u002FHaishinKit\u002FHaishinKit.swift\u002Freleases\u002Flatest)\n[![Platform Compatibility](https:\u002F\u002Fimg.shields.io\u002Fendpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2FHaishinKit%2FHaishinKit.swift%2Fbadge%3Ftype%3Dplatforms)](https:\u002F\u002Fswiftpackageindex.com\u002FHaishinKit\u002FHaishinKit.swift)\n[![Swift Compatibility](https:\u002F\u002Fimg.shields.io\u002Fendpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2FHaishinKit%2FHaishinKit.swift%2Fbadge%3Ftype%3Dswift-versions)](https:\u002F\u002Fswiftpackageindex.com\u002FHaishinKit\u002FHaishinKit.swift)\n[![GitHub license](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-BSD%203--Clause-blue.svg)](https:\u002F\u002Fraw.githubusercontent.com\u002FHaishinKit\u002FHaishinKit.swift\u002Fmaster\u002FLICENSE.md)\n[![GitHub Sponsor](https:\u002F\u002Fimg.shields.io\u002Fstatic\u002Fv1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=ff69b4)](https:\u002F\u002Fgithub.com\u002Fsponsors\u002Fshogo4405)\n\n* Camera and Microphone streaming library via RTMP and SRT for iOS, macOS, tvOS and visionOS.\n* 10th Anniversary🎖️In development for 10 years, with 2,778 commits and 163 releases. Thank you. Since Aug 2, 2015.\n\n## 💖 Sponsors\nDo 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.\n\nSponsor: [$50 per month](https:\u002F\u002Fgithub.com\u002Fsponsors\u002Fshogo4405): Technical support via GitHub Issues\u002FDiscussions with priority response.\n\n## 🎨 Features\n- **Protocols** ✨Publish and playback feature are available [RTMP](RTMPHaishinKit\u002FSources\u002FDocs.docc\u002Findex.md), [SRT](SRTHaishinKit\u002FSources\u002FDocs.docc\u002Findex.md) and [WHEP\u002FWHIP(alpha)](RTCHaishinKit\u002FSources\u002FDocs.docc\u002Findex.md).\n- **Multi Camera access** ✨[Support multitasking camera access.](https:\u002F\u002Fdeveloper.apple.com\u002Fdocumentation\u002Favkit\u002Faccessing-the-camera-while-multitasking-on-ipad)\n- **Multi Streaming** ✨Allowing live streaming to separate services. Views also support this, enabling the verification of raw video data.\n- **Strict Concurrency** ✨Supports Swift's Strict Concurrency compliance.\n- **Screen Capture** ✨Supports ReplayKit(iOS) and ScreenCaptureKit(macOS) api.\n- **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.\n  |Publish|Playback|\n  |:---:|:---:|\n  |\u003Cimg width=\"961\" alt=\"\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Faaf6c06f-d2de-43c1-a435-90907f370977\">|\u003Cimg width=\"849\" alt=\"\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F0a07b418-aa56-41cb-8e6d-e12596b25ae8\">|\n\n## 🌏 Requirements\n\n### Development\n|Version|Xcode|Swift|\n|:----:|:----:|:----:|\n|2.2.0+|26.0+|6.0+|\n|2.1.0+|16.4+|6.0+|\n\n### OS\n|iOS|tvOS|Mac Catalyst|macOS|visionOS|watchOS|\n|:-:|:-:|:-:|:-:|:-:|:-:|\n|15.0+|15.0+|15.0+|12.0+|1.0+|-|\n\n- SRTHaishinKit is not avaliable for Mac Catalyst. \n\n## 📖 Getting Started\n\n> [!IMPORTANT]\n> There are several issues that occur when connected to Xcode. Please also refer to [this document](https:\u002F\u002Fgithub.com\u002FHaishinKit\u002FHaishinKit.swift\u002Fblob\u002Fmain\u002FHaishinKit\u002FSources\u002FDocs.docc\u002Fknown-issue.md).\n\n### 🔧 Examples\n- Reference implementation app for live streaming `publish` and `playback`.\n- If an issue occurs, please check whether it also happens in the examples app.\n\n#### Usage\n\nYou can verify by changing the URL of the following file.\nhttps:\u002F\u002Fgithub.com\u002FHaishinKit\u002FHaishinKit.swift\u002Fblob\u002Fabf1883d25d0ba29e1d1d67ea9e3a3b5be61a196\u002FExamples\u002FPreference.swift#L1-L7\n\n#### Download\n```sh\ngit clone https:\u002F\u002Fgithub.com\u002FHaishinKit\u002FHaishinKit.swift.git\ncd HaishinKit.swift\nopen Examples\u002FExamples.xcodeproj\n```\n\n### 🔧 Installation\n#### Using Swift Package Manager\n```sh\nhttps:\u002F\u002Fgithub.com\u002FHaishinKit\u002FHaishinKit.swift\n```\n\n### 🔧 Prerequisites\n\n#### AVAudioSession\nMake sure you setup and activate your AVAudioSession iOS.\n\n```swift\nimport AVFoundation\n\nlet session = AVAudioSession.sharedInstance()\ndo {\n    try session.setCategory(.playAndRecord, mode: .default, options: [.defaultToSpeaker, .allowBluetooth])\n    try session.setActive(true)\n} catch {\n    print(error)\n}\n```\n\n### 🔧 Cocoa Keys\nPlease make sure to contains `Info.plist` the following values when accessing the camera or microphone.\n```xml\n\u003Ckey>NSCameraUsageDescription\u003C\u002Fkey>\n\u003Cstring>your usage description here\u003C\u002Fstring>\n\u003Ckey>NSMicrophoneUsageDescription\u003C\u002Fkey>\n\u003Cstring>your usage description here\u003C\u002Fstring>\n```\n\n## 📃 Documentation\n- [API Documentation](https:\u002F\u002Fdocs.haishinkit.com\u002Fswift\u002Flatest\u002Fdocumentation\u002F)\n- [Migration Guide](https:\u002F\u002Fgithub.com\u002FHaishinKit\u002FHaishinKit.swift\u002Fwiki#-migration-guide)\n\n## 🌏 Related projects\nProject name    |Notes       |License\n----------------|------------|--------------\n[HaishinKit for Android.](https:\u002F\u002Fgithub.com\u002FHaishinKit\u002FHaishinKit.kt)|Camera and Microphone streaming library via RTMP for Android.|[BSD 3-Clause \"New\" or \"Revised\" License](https:\u002F\u002Fgithub.com\u002FHaishinKit\u002FHaishinKit.kt\u002Fblob\u002Fmaster\u002FLICENSE.md)\n[HaishinKit for Flutter.](https:\u002F\u002Fgithub.com\u002FHaishinKit\u002FHaishinKit.dart)|Camera and Microphone streaming library via RTMP for Flutter.|[BSD 3-Clause \"New\" or \"Revised\" License](https:\u002F\u002Fgithub.com\u002FHaishinKit\u002FHaishinKit.dart\u002Fblob\u002Fmaster\u002FLICENSE.md)\n\n## 📜 License\nBSD-3-Clause\n","HaishinKit 是一个用于 iOS、macOS、tvOS 和 visionOS 的摄像头和麦克风流媒体库，支持 RTMP 和 SRT 协议。其核心功能包括多摄像头访问、多流传输、严格的并发支持以及屏幕捕获等。HaishinKit 支持多种协议（如 RTMP、SRT 和 WHEP\u002FWHIP），并允许同时向多个服务进行直播。此外，它还提供了视频混合功能，可以在视频中显示文本或位图，适用于水印和时间显示等多种场景。该项目适合需要在苹果平台上实现高质量音视频流媒体传输的应用开发。",2,"2026-06-11 03:10:10","top_language"]