LFLiveKit 2.6

LFLiveKit 2.6

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
Released最新发布2016年12月

chenliming维护。



  • chenliming

icon~

         

LFLiveKit是一个开源的iOS RTMP直播SDK。

特性

  • [x] 背景录制
  • [x] 支持水平和垂直录制
  • [x] 支持GPUImage美颜
  • [x] 支持H264+AAC硬件编码
  • [x] 网络差时丢弃帧
  • [x] 动态调整码率
  • [x] 音频配置
  • [x] 视频配置
  • [x] RTMP传输
  • [x] 切换摄像头位置
  • [x] 音频静音
  • [x] 支持发送缓冲区
  • [x] 支持水印
  • [x] Swift支持
  • [x] 支持单视频或音频
  • [x] 支持外部输入视频或音频(屏幕录制或外围设备)
  • [ ] FLV打包和发送

要求

- iOS 7.0+
- Xcode 7.3

安装

手动安装

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++

使用示例

Objective-C

- (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;

Swift

// 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遵循MIT许可证发布。有关详细信息,请参阅LICENSE文件。