Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jgh-/VideoCore-Inactive
*No longer in development* Please see https://github.com/unpause-live/SwiftVideo
https://github.com/jgh-/VideoCore-Inactive
Last synced: 17 days ago
JSON representation
*No longer in development* Please see https://github.com/unpause-live/SwiftVideo
- Host: GitHub
- URL: https://github.com/jgh-/VideoCore-Inactive
- Owner: jgh-
- License: mit
- Archived: true
- Created: 2014-02-26T23:30:31.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2018-06-05T19:04:17.000Z (over 6 years ago)
- Last Synced: 2024-04-10T05:24:59.364Z (7 months ago)
- Language: C++
- Homepage:
- Size: 13.2 MB
- Stars: 1,478
- Watchers: 130
- Forks: 544
- Open Issues: 196
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
#VideoCore
VideoCore is a project inteded to be an audio and video manipulation and streaming graph. It currently works with iOS and periodic (live) sources. It is a work in progress and will eventually expand to other platforms such as OS X and Android. **Contributors welcome!**
###Table of Contents
* [Setup](#setup)
* [Projects Using VideoCore](#projects-using-videocore)
* [Architecture Overview](#architecture-overview)
* [Version History](#version-history)##Setup
####CocoaPods
Create a `Podfile` with the contents
``` ruby
platform :ios, '6.0'
pod 'VideoCore', '~> 0.2.0'
```
Next, run `pod install` and open the `xcworkspace` file that is created.####Sample Application
The SampleBroadcaster project in the sample folder uses CocoaPods to bring in
VideoCore as a dependency:```
cd sample/SampleBroadcaster
pod install
open SampleBroadcaster.xcworkspace
```... or you can build from the command-line:
```
xcodebuild -workspace SampleBroadcaster.xcworkspace -scheme SampleBroadcaster build
```
More on CocoaPods: http://cocoapods.org/##Architecture Overview
VideoCore's architecture is inspired by Microsoft Media Foundation (except with saner naming). 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)
```
videocore/
sources/
videocore::ISource
videocore::IAudioSource : videocore::ISource
videocore::IVideoSource : videocore::ISource
videocore::Watermark : videocore:IVideoSource
iOS/
videocore::iOS::CameraSource : videocore::IVideoSource
Apple/
videocore::Apple::MicrophoneSource : videocore::IAudioSource
OSX/
videocore::OSX::DisplaySource : videocore::IVideoSource
videocore::OSX::SystemAudioSource : videocore::IAudioSource
outputs/
videocore::IOutput
videocore::ITransform : videocore::IOutput
iOS/
videocore::iOS::H264Transform : videocore::ITransform
videocore::iOS::AACTransform : videocore::ITransform
OSX/
videocore::OSX::H264Transform : videocore::ITransform
videocore::OSX::AACTransform : videocore::ITransform
RTMP/
videocore::rtmp::H264Packetizer : videocore::ITransform
videocore::rtmp::AACPacketizer : videocore::ITransformmixers/
videocore::IMixer
videocore::IAudioMixer : videocore::IMixer
videocore::IVideoMixer : videocore::IMixer
videocore::AudioMixer : videocore::IAudioMixer
iOS/
videocore::iOS::GLESVideoMixer : videocore::IVideoMixer
OSX/
videocore::OSX::GLVideoMixer : videocore::IVideoMixerrtmp/
videocore::RTMPSession : videocore::IOutputstream/
videocore::IStreamSession
Apple/
videocore::Apple::StreamSession : videocore::IStreamSession```
##Version History
* 0.3.1
* Various bugfixes
* Introduction of pixel buffer sources so you can add images to broadcast.
* 0.3.0
* Improvements to audio/video timestamps and synchronization
* Adds an incompatible API call with previous versions. Custom
* graphs must now call IMixer::start() to begin mixing.
* 0.2.3
* Add support for image filters
* 0.2.2
* Fix video streaking bug when adaptative bitrate is enabled
* Increase the aggressiveness of the adaptative bitrate algorithm
* Add internal pixel buffer format
*
* 0.2.0
* Removes deprecated functions
* Adds Main Profile video
* Improves adaptive bitrate algorithm
* 0.1.12
* Bugfixes
* Red5 support
* Improved Adaptive Bitrate algorithm
* 0.1.10
* Bugfixes
* Adaptive Bitrate introduced
* 0.1.9
* Bugfixes, memory leak fixes
* Introduces the ability to choose whether to use interface orientation or device orientation for Camera orientation.
* 0.1.8
* Introduces VideoToolbox encoding for iOS 8+ and OS X 10.9+
* Adds -lc++ for compatibility with Xcode 6
* 0.1.7
* Add a simplified iOS API for the common case of streaming camera/microphone
* Deprecate camera aspect ratio and position
* Add a matrix transform for Position
* Add a matrix transform for Aspect Ratio
* Bugfixes
* 0.1.6
* Use device orientation for CameraSource rather than interface orientation
* 0.1.5
* Add aspect fill to CameraSource
* 0.1.4
* Switch from LGPL 2.1 to MIT licensing.
* Add Camera preview layer.
* Add front/back camera toggle.
* Fix aspect ratio bug in Camera source.
* 0.1.3
* Update sample app with a more efficient viewport render
* 0.1.2
* Fixes a serious bug in the GenericAudioMixer that was causing 100% cpu usage and audio lag.
* 0.1.1
* Fixes Cocoapods namespace conflicts for UriParser-cpp
* 0.1.0
* Initial CocoaPods version