Stream/record your desktop/webcam to twitch/owned etc.
Find a file
Zakk dfa4e76244 Convert source item outline view to use a data source instead of bound NSTreeController (was causing weird memory leaks..????)
Actually bounce the NDIReceiver audio delegate call through the requested queue
Fixed drag and drop reorder bug with source lists that was preventing a source from being placed at the bottom
2018-01-23 01:02:31 -05:00
CapturePlugins Added NewTek NDI source. Requires the user to install the NewTek NDI runtime library 2018-01-20 04:35:06 -05:00
CocoaSplit Convert source item outline view to use a data source instead of bound NSTreeController (was causing weird memory leaks..????) 2018-01-23 01:02:31 -05:00
CocoaSplit.xcodeproj Added a passthrough compressor: it repackages the image buffer into a CMSampleBuffer. This isn't a copy, so it is possibly still an on-GPU texture 2018-01-22 01:35:22 -05:00
CocoaSplitCmd Removed some spammy NSLogs 2015-05-03 13:09:25 -04:00
CocoaSplitTests Added files back 2012-10-21 23:53:17 -04:00
CSFFMpegCapturePlugin Convert source item outline view to use a data source instead of bound NSTreeController (was causing weird memory leaks..????) 2018-01-23 01:02:31 -05:00
CSNDICapturePlugin Convert source item outline view to use a data source instead of bound NSTreeController (was causing weird memory leaks..????) 2018-01-23 01:02:31 -05:00
ExtraPlugins Some warning fixes, memory leak issues with blackmagic 2017-11-04 14:38:35 -04:00
ImageUnitPlugins Change the source outline view so it doesn't leak CFStrings (!?!?!) 2017-10-29 12:08:14 -04:00
QTCaptureHelper Removed a bunch of NSLogs 2017-12-09 09:02:32 -05:00
Sparkle.framework Merge pull request #81 from MaddTheSane/gitignore 2017-07-02 03:00:43 -04:00
StreamServicePlugins Added a passthrough compressor: it repackages the image buffer into a CMSampleBuffer. This isn't a copy, so it is possibly still an on-GPU texture 2018-01-22 01:35:22 -05:00
.gitignore Merge pull request #81 from MaddTheSane/gitignore 2017-07-02 03:00:43 -04:00
.gitmodules Input library items are drag+droppable onto the preview views 2015-10-24 17:06:21 -04:00
CapturedFrameProtocol.h Rewrite QTCapture to use C based XPC API. This allows me to pass the IOSurface with the proper XPC call rather than some dumb semaphore hack. 2013-11-24 23:34:35 -05:00
CommandLine.md Various changes to support the command line version. Added Profile selection to AppleVTCompressor 2013-07-07 16:03:59 -04:00
CSNotifications.m Emit notifications when audio inputs are added or removed. 2017-11-26 23:32:08 -05:00
InputPopupControllerViewController.h Script 'save all' button converted to a 'discard' button that discards all edits to the current script 2017-11-16 22:09:45 -05:00
InputPopupControllerViewController.m Don't build layer constraints until after the transaction that adds the layer to the tree 2017-11-17 14:46:28 -05:00
QTHelperProtocol.h Added XPC based helper process to handle 32-bit Quicktime based sources. Should allow lots of capture cards/cams AND Camtwist to work 2012-11-13 05:39:54 -05:00
README.md Update README.md 2013-09-07 12:31:04 -04:00

CocoaSplit

BINARIES HERE: http://krylon.rsdio.com/zakk/cocoasplit/

CocoaSplit uses libavformat and the OSX VideoToolbox hardware h264 encoder to stream to anything libavformat can handle.

Multiple outputs are supported, so you can save to a local file while streaming to something like twitch.tv

Audio codec is limited to AAC; this is done through AVFoundation's AVCaptureOutput, which means it does not support MP3. Sorry, maybe later.

Video input support: Webcam (Uses AVFoundation) Desktop (Uses CGDisplayStream) 32-bit QuickTime Inputs (QTCapture) - Camtwist and various webcam/capture cards should show up here.

Audio input support: AVFoundation audio (things like SoundFlower or Jack should work fine)

How to use

Setup your video and audio inputs.

Video: The resolution is the final output resolution; inputs are scaled to this resolution. No cropping is done. Output: Choose between local file or RTMP stream and click 'Add'. Remove entries by selecting them and clicking 'Remove'.

Click 'Stream!'

Click Stop when you are done.

All settings are saved.

TODO Some sort of status output while streaming is active. Use twitch and own3d API to get user's streamkey. Syphon input. Allow the option of using libavcodec's x264 encoder for those that don't have a hardware encoder.

Supported Platforms

So far only tested on a Retina MacbookPro running Mountain Lion (10.8)