Swift Live stream library
api.video is the video infrastructure for product builders. Lightning fast video APIs for integrating, scaling, and managing on-demand & low latency live streaming features in your app.
Project description
This module is an easy way to broadcast RTMP live stream to api.video platform
Getting started
Installation
Swift Package Manager
In the Project Navigator select your own project. Then select the project in the Project section and click on the Package Dependencies tab. Click on the "+" button at the bottom. Paste the below url on the search bar on the top right. Finaly click on "Add package" button.
https://github.com/api.video-swift-live-stream
Or add this in your Package.swift
dependencies: [
.package(url: "https://github.com/api.video-swift-live-stream.git", from: "1.3.5"),
],
Cocoapods
- Add the following entry to your Podfile:
pod 'ApiVideoLiveStream', '1.3.5'
- Then run
pod install
- Don’t forget to import
ApiVideoLiveStream
in every file you’d like to use api.video live stream library
Carthage
github "apivideo/ApiVideoLiveStream.swift" ~> 1.3.5
Permissions
To be able to broadcast, you must update Info.plist with a usage description for camera and microphone
...
<key>NSCameraUsageDescription</key>
<string>Your own description of the purpose</string>
<key>NSMicrophoneUsageDescription</key>
<string>Your own description of the purpose</string>
...
Code sample
- In ViewController.swift import the library
import ApiVideoLiveStream
- Create a
ApiVideoLiveStream
object with your default audio and video configuration
class ViewController: UIViewController {
var liveStream: ApiVideoLiveStream?
@IBOutlet var viewCamera: UIView!
override func viewDidLoad() {
super.viewDidLoad()
let audioConfig = AudioConfig(bitrate: 32 * 1000)
let videoConfig = VideoConfig(bitrate: 2 * 1024 * 1024, resolution: Resolutions.RESOLUTION_720, fps: 30)
do {
liveStream = try ApiVideoLiveStream(initialAudioConfig: audioConfig, initialVideoConfig: videoConfig, preview: preview)
} catch {
print (error)
}
}
}
- Start your live stream with
startStreaming
liveStream?.startStreaming(streamKey: "YOUR_STREAM_KEY")
Alternatively, you can use startStreaming
url
parameter to set the URL of your RTMP server.
Plugins
api.video sdk is using external library
Plugin | README |
---|---|
HaishinKit | https://github.com/shogo4405/HaishinKit.swift |
FAQ
If you have any questions, ask us here: https://community.api.video . Or use Issues.
Also feel free to test our Sample app.