{"id":1557,"url":"https://github.com/LaiFengiOS/LFLiveKit","last_synced_at":"2025-08-02T04:31:45.842Z","repository":{"id":39186636,"uuid":"60659754","full_name":"LaiFengiOS/LFLiveKit","owner":"LaiFengiOS","description":"LaiFeng IOS Live Kit,H264 and AAC Hard coding，support GPUImage Beauty， rtmp transmission，weak network lost frame，Dynamic switching rate","archived":false,"fork":false,"pushed_at":"2023-04-07T03:07:30.000Z","size":7532,"stargazers_count":4387,"open_issues_count":141,"forks_count":1109,"subscribers_count":161,"default_branch":"master","last_synced_at":"2024-10-29T15:34:28.843Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LaiFengiOS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-06-08T01:46:32.000Z","updated_at":"2024-10-24T17:21:17.000Z","dependencies_parsed_at":"2024-01-07T22:23:25.823Z","dependency_job_id":"3a2d5e14-a9f5-4905-bbb8-fedd895a1c3e","html_url":"https://github.com/LaiFengiOS/LFLiveKit","commit_stats":{"total_commits":205,"total_committers":13,"mean_commits":15.76923076923077,"dds":"0.19999999999999996","last_synced_commit":"79ff5357ac466951421255978c399a5a35b11fc9"},"previous_names":[],"tags_count":44,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LaiFengiOS%2FLFLiveKit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LaiFengiOS%2FLFLiveKit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LaiFengiOS%2FLFLiveKit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LaiFengiOS%2FLFLiveKit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LaiFengiOS","download_url":"https://codeload.github.com/LaiFengiOS/LFLiveKit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226652176,"owners_count":17663679,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-01-05T20:15:49.761Z","updated_at":"2024-12-06T08:31:13.173Z","avatar_url":"https://github.com/LaiFengiOS.png","language":"Objective-C","readme":"LFLiveKit\n==============\n![icon~](https://raw.github.com/LaiFengiOS/LFLiveKit/master/samples/Icon.png)\n\n\n[![Build Status](https://travis-ci.org/LaiFengiOS/LFLiveKit.svg)](https://travis-ci.org/LaiFengiOS/LFLiveKit)\u0026nbsp;\n[![License MIT](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://raw.githubusercontent.com/chenliming777/LFLiveKit/master/LICENSE)\u0026nbsp;\n[![CocoaPods](http://img.shields.io/cocoapods/v/LFLiveKit.svg?style=flat)](http://cocoapods.org/?q=LFLiveKit)\u0026nbsp;\n[![Support](https://img.shields.io/badge/ios-7-orange.svg)](https://www.apple.com/nl/ios/)\u0026nbsp;\n![platform](https://img.shields.io/badge/platform-ios-ff69b4.svg)\u0026nbsp;\n\n\n**LFLiveKit is a opensource RTMP streaming SDK for iOS.**  \n\n## Features\n\n- [x] \tBackground recording\n- [x] \tSupport horizontal vertical recording\n- [x] \tSupport Beauty Face With GPUImage\n- [x] \tSupport H264+AAC Hardware Encoding\n- [x] \tDrop frames on bad network \n- [x] \tDynamic switching rate\n- [x] \tAudio configuration\n- [x] \tVideo configuration\n- [x] \tRTMP Transport\n- [x] \tSwitch camera position\n- [x] \tAudio Mute\n- [x] \tSupport Send Buffer\n- [x] \tSupport WaterMark\n- [x] \tSwift Support\n- [x] \tSupport Single Video or Audio \n- [x] \tSupport External input video or audio(Screen recording or Peripheral)\n- [ ] \t~~FLV package and send~~\n\n## Requirements\n    - iOS 7.0+\n    - Xcode 7.3\n  \n## Installation\n\n#### CocoaPods\n\t# To integrate LFLiveKit into your Xcode project using CocoaPods, specify it in your Podfile:\n\n\tsource 'https://github.com/CocoaPods/Specs.git'\n\tplatform :ios, '7.0'\n\tpod 'LFLiveKit'\n\t\n\t# Then, run the following command:\n\t$ pod install\n\n\n#### Carthage\n    1. Add `github \"LaiFengiOS/LFLiveKit\"` to your Cartfile.\n    2. Run `carthage update --platform ios` and add the framework to your project.\n    3. Import \\\u003cLFLiveKit/LFLiveKit.h\\\u003e.\n\n\n#### Manually\n\n    1. Download all the files in the `LFLiveKit` subdirectory.\n    2. Add the source files to your Xcode project.\n    3. Link with required frameworks:\n        * UIKit\n        * Foundation\n        * AVFoundation\n        * VideoToolbox\n        * AudioToolbox\n        * libz\n        * libstdc++\n\t\n## Usage example \n\n#### Objective-C\n```objc\n- (LFLiveSession*)session {\n\tif (!_session) {\n\t    _session = [[LFLiveSession alloc] initWithAudioConfiguration:[LFLiveAudioConfiguration defaultConfiguration] videoConfiguration:[LFLiveVideoConfiguration defaultConfiguration]];\n\t    _session.preView = self;\n\t    _session.delegate = self;\n\t}\n\treturn _session;\n}\n\n- (void)startLive {\t\n\tLFLiveStreamInfo *streamInfo = [LFLiveStreamInfo new];\n\tstreamInfo.url = @\"your server rtmp url\";\n\t[self.session startLive:streamInfo];\n}\n\n- (void)stopLive {\n\t[self.session stopLive];\n}\n\n//MARK: - CallBack:\n- (void)liveSession:(nullable LFLiveSession *)session liveStateDidChange: (LFLiveState)state;\n- (void)liveSession:(nullable LFLiveSession *)session debugInfo:(nullable LFLiveDebug*)debugInfo;\n- (void)liveSession:(nullable LFLiveSession*)session errorCode:(LFLiveSocketErrorCode)errorCode;\n```\n#### Swift\n```swift\n// import LFLiveKit in [ProjectName]-Bridging-Header.h\n#import \u003cLFLiveKit.h\u003e \n\n//MARK: - Getters and Setters\nlazy var session: LFLiveSession = {\n\tlet audioConfiguration = LFLiveAudioConfiguration.defaultConfiguration()\n\tlet videoConfiguration = LFLiveVideoConfiguration.defaultConfigurationForQuality(LFLiveVideoQuality.Low3, landscape: false)\n\tlet session = LFLiveSession(audioConfiguration: audioConfiguration, videoConfiguration: videoConfiguration)\n\t    \n\tsession?.delegate = self\n\tsession?.preView = self.view\n\treturn session!\n}()\n\n//MARK: - Event\nfunc startLive() -\u003e Void { \n\tlet stream = LFLiveStreamInfo()\n\tstream.url = \"your server rtmp url\";\n\tsession.startLive(stream)\n}\n\nfunc stopLive() -\u003e Void {\n\tsession.stopLive()\n}\n\n//MARK: - Callback\nfunc liveSession(session: LFLiveSession?, debugInfo: LFLiveDebug?) \nfunc liveSession(session: LFLiveSession?, errorCode: LFLiveSocketErrorCode)\nfunc liveSession(session: LFLiveSession?, liveStateDidChange state: LFLiveState)\n```\n\n## Release History\n    * 2.0.0\n        * CHANGE: modify bugs,support ios7 live.\n    * 2.2.4.3\n        * CHANGE: modify bugs,support swift import.\n    * 2.5 \n        * CHANGE: modify bugs,support bitcode.\n\n\n## License\n **LFLiveKit is released under the MIT license. See LICENSE for details.**\n\n\n\n\n","funding_links":[],"categories":["Media","Objective-C","OOM-Leaks-Crash"],"sub_categories":["Streaming","Other free courses","IM-Live"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLaiFengiOS%2FLFLiveKit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FLaiFengiOS%2FLFLiveKit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLaiFengiOS%2FLFLiveKit/lists"}