Introducing Syphon

Syphon is an open source Mac OS X technology that allows applications to share frames - full frame rate video or stills - with one another in realtime. Now you can leverage the expressive power of a plethora of tools to mix, mash, edit, sample, texture-map, synthesize, and present your imagery using the best tool for each part of the job. Syphon gives you flexibility to break out of single-app solutions and mix creative applications to suit your needs.

Features

Syphon provides an ecosystem for sharing imagery between applications and new media development environments. Syphon is designed to be efficient and will not duplicate resources unnecessarily, keeping your frame rate and best interests in mind.

  • Hardware accelerated surface sharing on the GPU where it belongs.
  • Zero latency.
  • Zero copy.
  • Support arbitrary resolutions up to your GPU’s limit. Typically 16k x 16k.
  • Support abritrary frame rates.
  • Support alpha-channels.
  • Compatible with MacOS X 10.6 (Snow Leopard) or later.
  • Compatible with Legacy OpenGL, Core Profile OpenGL, and Metal back ends.
  • Interoperable between renderers. Share frames between OpenGL and Metal Renders out of the box.
  • A simple SDK so developers can add Syphon to just about any application.

Applications

The list of Syphon enabled applications keeps growing. Here are is a sample of interoperable applications, inlcuding live performance, content creation, show control, visualizers, development, creative coding, live coding, patching environments, game engines, projection mapping, capture tools and broadcast playout.

You can mix these tools and more to find unique solutions to your creative problems.

Developer SDK

  • SDK Syphon.framework allows 3rd party developers to leverage frame-sharing in their applications or plugins. A simple Objective-C interface allows the publishing and acquisition of frames in very few lines of code. Under the hood, Syphon uses the power of IOSurface plus a selection of Cocoa and Core Foundation technologies to manage the communication between servers and clients. Download and documentation are available on our github.

  • Syphon Client and Server Simple Server/Client A pair of applications to test Syphon functionality (download)

If you’d like to get involved, join us at the GitHub projects for the framework and implementations.

Proudly Sponsored By

Syphon is designed for and by new media technologists, realtime video artists and visualists. It is a labor of love, developed in the spare time of the authors. It is open, free and a gift to the new media community. If Syphon is useful to you or an application you are developing, please consider contributing or sponsoring to help continue development and support the cause.

Contact and Support

Some common questions are answered in our FAQ. If you have questions about a product which integrates Syphon, please contact the developer of that produce for support. Developers can report issues or request features for the Syphon framework on GitHub.

Authors

Syphon.framework, test suite, and initial implementations are written by Tom Butterworth and Anton Marini with major support from Vidvox and Metal implementation input from Millumin

License

Syphon.framework, test suite, and our provided reference implementations are licensed under a Simplified BSD software license.