LFLiveKit alternatives and similar libraries
Based on the "Video" category.
Alternatively, view LFLiveKit alternatives based on common mentions on social networks and blogs.
-
ZFPlayer
Support customization of any player SDK and control layer(支持定制任何播放器SDK和控制层) -
MobilePlayer
:iphone: :movie_camera: A powerful and completely customizable media player for iOS -
BMPlayer
A video player for iOS, based on AVPlayer, support the horizontal, vertical screen. support adjust volume, brightness and seek by slide, support subtitles. -
Swift-YouTube-Player
Swift library for embedding and controlling YouTube videos in your iOS applications via WKWebView! -
PryntTrimmerView
A set of tools to trim, crop and select frames inside a video -
VersaPlayer
Versatile Video Player implementation for iOS, macOS, and tvOS -
YoutubeKit
YoutubeKit is a video player that fully supports Youtube IFrame API and YoutubeDataAPI for easily create a Youtube app -
Periscope VideoViewController
Video view controller with Periscope fast rewind control -
VGPlayer
A simple iOS video player in Swift,Support play local and network,Background playback mode. -
VIMVideoPlayer
Deprecated: Please use [PlayerKit]( https://github.com/vimeo/PlayerKit) instead. -
ios-360-videos
NYT360Video plays 360-degree video streamed from an AVPlayer on iOS. -
AVPlayerViewController-Subtitles
Easy way to show SRT files on AVPlayerViewController -
SSVideoPlayer
A video player that support both local and network resource. -
AVAnimator
AVAnimator is an iOS library that makes it easy to implement non-trivial animated/video content in iOS -
MPMoviePlayerController-Subtitles
Easy way to show SRT files on MPMoviePlayerController -
PlayerView
Player View is a delegated view using AVPlayer of Swift -
swift-360-videos
360 video player for iOS written in swift - a subset of SceneKit that works -
ABMediaView
Media view which subclasses UIImageView, and can display & load images, videos, GIFs, and audio and from the web, and has functionality to minimize from fullscreen, as well as show GIF previews for videos. -
VideoPager
Paging Video UI, and some control components is available. -
JDVideoKit
You can easily transfer your video into Three common video type via this framework.
Appwrite - The open-source backend cloud platform
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of LFLiveKit or a related project?
README
LFLiveKit
LFLiveKit is a opensource RTMP streaming SDK for iOS.
Features
- [x] Background recording
- [x] Support horizontal vertical recording
- [x] Support Beauty Face With GPUImage
- [x] Support H264+AAC Hardware Encoding
- [x] Drop frames on bad network
- [x] Dynamic switching rate
- [x] Audio configuration
- [x] Video configuration
- [x] RTMP Transport
- [x] Switch camera position
- [x] Audio Mute
- [x] Support Send Buffer
- [x] Support WaterMark
- [x] Swift Support
- [x] Support Single Video or Audio
- [x] Support External input video or audio(Screen recording or Peripheral)
- [ ]
FLV package and send
Requirements
- iOS 7.0+
- Xcode 7.3
Installation
CocoaPods
# 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
Carthage
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\>.
Manually
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++
Usage example
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)
Release History
* 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.
License
LFLiveKit is released under the MIT license. See LICENSE for details.
*Note that all licence references and agreements mentioned in the LFLiveKit README section above
are relevant to that project's source code only.