Latest 0.1.0
Homepage https://github.com/openfresh/VideoCast-Swift
License MIT
Platforms ios 8.0
Authors

VideoCast-Swift

VideoCast-Swift is a framework for broadcasting live video. It is based on VideoCore C++ library but rewritten in Swift. It currently works with iOS. It is a work in progress and will eventually expand to other platforms such as OS X.

Table of Contents

Setup

CocoaPods

Create a Podfile with the contents

platform :ios, '8.0'
pod 'VideoCast', '~> 0.1.0'
use_frameworks!

Next, run pod install and open the xcworkspace file that is created.

Architecture Overview

Samples start at the source, are passed through a series of transforms, and end up at the output.

e.g. Source (Camera) -> Transform (Composite) -> Transform (H.264 Encode) -> Transform (RTMP Packetize) -> Output (RTMP)

Features

  • Streaming protocols
    • RTMP publish
    • SRT (caller mode)
  • Encoders
    • H.264
    • HEVC
    • AAC
  • Adaptive bitrate
  • Multiplexers
    • MPEG-2 TS
    • MP4 for recording
  • Mixers
    • Video
    • Audio
  • Sources
    • Camera
    • Microphone
    • ReplayKit 2(Live Screen Broadcast)

Build SRT

git clone https://github.com/openfresh/VideoCast-Swift.git
cd VideoCast-Swift

git submodule update --init

cd SRT
./build_openssl.sh 
./build_srt.sh

Version History

  • 0.1.0
    • Live Screen Broadcast
    • 32 bit architecher support
    • Auto reconnect
    • Fixed low bitrate problems
    • Other bugfixes
  • 0.0.2
    • Metal videomixing and preview.
    • SRT Adaptive bitrate
    • New iOS Example
    • Bugfixes
  • 0.0.1
    • Initial CocoaPods version

Latest podspec

{
    "name": "VideoCast",
    "version": "0.1.0",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "summary": "A framework for broadcasting live video",
    "homepage": "https://github.com/openfresh/VideoCast-Swift",
    "authors": {
        "Tomohiro Matsuzawa": "[email protected]"
    },
    "source": {
        "git": "https://github.com/openfresh/VideoCast-Swift.git",
        "tag": "0.1.0"
    },
    "platforms": {
        "ios": "8.0"
    },
    "source_files": [
        "Source/**/*.{swift,h,metal}",
        "SRT/*.{h,cpp}",
        "SRT/Includes/*.h"
    ],
    "public_header_files": [
        "SRT/Includes/*.h",
        "SRT/udt_wrapper.h",
        "Source/System/ShaderDefinitions.h"
    ],
    "vendored_libraries": "SRT/*.a",
    "libraries": "c++",
    "pod_target_xcconfig": {
        "CLANG_WARN_DOCUMENTATION_COMMENTS": "NO"
    },
    "cocoapods_version": ">= 1.4.0",
    "swift_version": "4.1.2"
}

Pin It on Pinterest

Share This