Revisions for Streaming Quartz Composer
Comparing two revisions:
Revision of Sat, 2012-08-04 00:16:
The streaming of digital imagery, including imagery associated specifically with Quartz Composer, typically involves an integration of several related but separate items of third party software, third party services and a variety of broadcasting motivations and techniques. The purpose of this topic is to aggregate appropriately related internet broadcasting resource information and to provide a discussion venue for Quartz Composer streaming advocacy and activities, with a focus on Quartz Composer related internet broadcasting activities which showcase software from kineme.net.
Regarding streaming on OS X in general: It should be clearly understood that high definition streaming is processor intensive. Common application requirements for high definition streaming on OS X may well include the simultaneous use of an audio routing utility, a virtual camera and an HD capable broadcasting encoder as well as whichever application(s) may be involved in initial imagery and audio generation.
Third party software which does the actual streaming. These tools access imagery provided by external cameras and built-in webcams, but they can also access output from virtual software cameras which are acting as hosts for Quartz Compositions and/or which are acting as capture tools for Quartz Composer related imagery generated by other applications.
Regarding Audio: Broadcasting encoders for OS X handle audio and video as separate entities. Audio from microphones is normally recognized by default but audio from other sources usually needs to be made available by either feeding the audio through the microphone or by utilizing an audio routing utility such as Soundflower (see Streaming Related).
Virtual cameras are software applications that simulate hardware camera output. They are recognized as a camera source by most broadcasting encoders and by many other applications. Acting alone or as intermediaries between hardware cameras and other applications, virtual cameras can be used for screen captures and for the addition of video, still images and various digital effects. Some are capable of realtime presentation of live Quartz Compositions either by hosting the compositions as effects, in which circumstances they can also be utilized as stand-alone hosts for Quartz Compositions, or by frame sharing with other applications via Syphon (see Streaming Related).
All the virtual cameras for OS X rely on a specialized QuickTime Component to perform their mimicry of hardware camera output. It's worth observing that the need for stand-alone virtual camera applications seems to be primarily attributable to issues of non-viability, for most developers, of directly integrating a similar camera mimicing functionality into their own individual applications. That said, it's also worth observing that if there's a need to stream imagery other than output from a hardware cam or dedicated audio/video conferencing client, the use of a virtual camera will probably be required.
Live Video Broadcast Hosting Services
Broadcast hosting services receive the stream and make it available online for viewing, typically by rebroadcasting output from the browser based Adobe Flash Player. Most hosting services also accept high definition streams from Flash Media Live Encoder and/or QuickTime Broadcaster and Wirecast. Links to host-specific encoder instructions, if known, are noted for each service:
Audio Video Conferencing Clients
Using the virtual cameras listed above, live quartz compositions can also be streamed from the Mac via most common AV conferencing clients. iChat is an exception in that it utilizes a private application programming interface to access camera imagery. iChat therefor does not currently access virtual cameras directly, but there is potential for a work-around using the ManyCam plugin.
QC Capable Visualist Accessories
While these tools don't directly input to broadcasting encoders, they are nonetheless capable of hosting and presenting live Quartz Compositions and are accessible for streaming via virtual camera using various screen capture techniques and/or Syphon:
Additional resources which may be useful in association with web broadcasting: