Build Status License MIT CocoaPods Support platform
LFLiveKit is a opensource RTMP streaming SDK for iOS.
- Background recording
- Support horizontal vertical recording
- Support Beauty Face With GPUImage
- Support H264+AAC Hardware Encoding
- Drop frames on bad network
- Dynamic switching rate
- Audio configuration
- Video configuration
- RTMP Transport
- Switch camera position
- Audio Mute
- Support Send Buffer
- Support WaterMark
- Swift Support
- Support Single Video or Audio
- Support External input video or audio(Screen recording or Peripheral)
-
(削除) FLV package and send (削除ここまで)
- iOS 7.0+
- Xcode 7.3
# To integrate LFLiveKit into your Xcode project using CocoaPods, specify it in your Podfile:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '7.0'
pod 'LFLiveKit'
# Then, run the following command:
$ pod install
1. Add `github "LaiFengiOS/LFLiveKit"` to your Cartfile.
2. Run `carthage update --platform ios` and add the framework to your project.
3. Import \<LFLiveKit/LFLiveKit.h\>.
1. Download all the files in the `LFLiveKit` subdirectory.
2. Add the source files to your Xcode project.
3. Link with required frameworks:
* UIKit
* Foundation
* AVFoundation
* VideoToolbox
* AudioToolbox
* libz
* libstdc++
- (LFLiveSession*)session {
if (!_session) {
_session = [[LFLiveSession alloc] initWithAudioConfiguration:[LFLiveAudioConfiguration defaultConfiguration] videoConfiguration:[LFLiveVideoConfiguration defaultConfiguration]];
_session.preView = self;
_session.delegate = self;
}
return _session;
}
- (void)startLive {
LFLiveStreamInfo *streamInfo = [LFLiveStreamInfo new];
streamInfo.url = @"your server rtmp url";
[self.session startLive:streamInfo];
}
- (void)stopLive {
[self.session stopLive];
}
//MARK: - CallBack:
- (void)liveSession:(nullable LFLiveSession *)session liveStateDidChange: (LFLiveState)state;
- (void)liveSession:(nullable LFLiveSession *)session debugInfo:(nullable LFLiveDebug*)debugInfo;
- (void)liveSession:(nullable LFLiveSession*)session errorCode:(LFLiveSocketErrorCode)errorCode;// import LFLiveKit in [ProjectName]-Bridging-Header.h #import <LFLiveKit.h> //MARK: - Getters and Setters lazy var session: LFLiveSession = { let audioConfiguration = LFLiveAudioConfiguration.defaultConfiguration() let videoConfiguration = LFLiveVideoConfiguration.defaultConfigurationForQuality(LFLiveVideoQuality.Low3, landscape: false) let session = LFLiveSession(audioConfiguration: audioConfiguration, videoConfiguration: videoConfiguration) session?.delegate = self session?.preView = self.view return session! }() //MARK: - Event func startLive() -> Void { let stream = LFLiveStreamInfo() stream.url = "your server rtmp url"; session.startLive(stream) } func stopLive() -> Void { session.stopLive() } //MARK: - Callback func liveSession(session: LFLiveSession?, debugInfo: LFLiveDebug?) func liveSession(session: LFLiveSession?, errorCode: LFLiveSocketErrorCode) func liveSession(session: LFLiveSession?, liveStateDidChange state: LFLiveState)
* 2.0.0
* CHANGE: modify bugs,support ios7 live.
* 2.2.4.3
* CHANGE: modify bugs,support swift import.
* 2.5
* CHANGE: modify bugs,support bitcode.
LFLiveKit is released under the MIT license. See LICENSE for details.