Swiftpack.co - apivideo/api.video-ios-live-stream as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by apivideo.
apivideo/api.video-ios-live-stream v1.3.3
iOS RTMP live stream client. Made with ♥ by api.video (https://api.video)
⭐️ 12
🕓 1 week ago
iOS macOS
.package(url: "https://github.com/apivideo/api.video-ios-live-stream.git", from: "v1.3.3")

badge   badge   badge

iOS RTMP live stream client

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.

Table of contents

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-ios-live-stream

Or add this in your Package.swift

  dependencies: [
        .package(url: "https://github.com/api.video-ios-live-stream.git", from: "1.3.3"),
    ],

Cocoapods

  1. Add the following entry to your Podfile:
pod 'ApiVideoLiveStream', '1.3.3'
  1. Then run pod install
  2. 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.3

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

  1. In ViewController.swift import the library
import ApiVideoLiveStream
  1. 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)
        }
    }
}
  1. 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.

GitHub

link
Stars: 12
Last commit: 1 week ago
jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.

Release Notes

v1.3.3
1 week ago
  • Fix streaming orientation when application is opened in portrait and device is turned to landscape
  • Upgrade HaishinKit to 1.4.2

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics