TestsTested | ✗ |
LangLanguage | Objective C++Objective C++ |
License | MIT |
ReleasedLast Release | May 2015 |
Maintained by James Hurley.
Depends on: | |
boost | ~> 1.51.0 |
glm | ~> 0.9.4.6 |
UriParser-cpp | ~> 0.1.3 |
© 2013-2014 James G Hurley
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!
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/
Looking for someone to help you with your video streaming project? Feel free to contact [email protected]
If you would like to be included in this list, either make a pull request or contact [email protected]
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::ITransform
mixers/
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::IVideoMixer
rtmp/
videocore::RTMPSession : videocore::IOutput
stream/
videocore::IStreamSession
Apple/
videocore::Apple::StreamSession : videocore::IStreamSession