GoCast.it is an angel funded start up focusing on video communications. We will be contributing new services and video functionality shortly built on top of WebRTC.
We're hiring top notch programmers and white box testers with 3+ years of C++, Javascript, and video background.
Drop us a resume at
jobs@gocast.it if you are interested. We're located in Palo Alto CA.
Overall project features:
- NEW: Adding video support for Mac platform. Now Mac and Linux able to do multi-person video calls! If you're not building from the source, grab the binaries here (Mac, Linux) and then proceed to the Video and audio web page example using our server or yours.
- cmdline_video_peer and cmdline_audio_peer are now interoperable. This extends to the plugins as well.
- Video now supported on Linux. After building and linking to the plugin give it a try by opening src/examples/GoCastVideo.html. (If you're having issues getting the plugin to work restart the browser.)
- New command line video client on Linux - cmdline_video_peer (same options as cmdline_audio_peer)
- Audio echo cancellation in conference mode.
- Pretty web page for testing your audio-only plugin and server. You may use your own server or test with ours at 50.18.56.81 on port 8888.
- Automated build scripts
- Implementation/example of setup & management for peer to peer audio connections
- Ability to play with WebRTC functionality with no 'canary' builds of Chrome (standard production browsers)
- Ability for developers to link to the complex myriad of WebRTC libraries without difficulty via the single monolithic static link library created by the build scripts.
- Project is housed on github.
The WebRTC project is a large body of work which is currently in flux and in many cases difficult to build and/or use. Since its intent is to be used directly inside browsers via its Javascript interface, a browser is conspicuously missing at the moment. This leaves the project in a state where it can be a challenge even for the more experienced developers to compile, link, and utilize the code. It is our intention to grant access to developers who wish to use the body of WebRTC from within a browser without having to use an alpha-build or dev-build of the browser itself. To this end, we are producing this Open Source project which places WebRTC into a plugin that can be used for a variety of purposes which are in line with its original intent; and which also, hopefully, offers developers a more automated set of build and prep scripts, and allows them to make their own off-shoot projects which link to WebRTC without the confusion of the tremendous number of libraries in the standard build.
Join us in our forums and follow the discussion about WebRTC.org at the WebRTC RSS feed. Follow the main project source at source code.
How to build
This release provides:
- peerconnection_server - The example signin server, which is part of the WebRTC source. The signaling protocol has been left unaltered for the initial release and trials.
- cmdline_audio_peer - Command line program that works in conjunction with peerconnection_server connecting 2 or more cmdline_audio_peer clients together in an audio conference call using WebRTC libraries. Options and commands are discussed later.
- cmdline_video_peer - (For Linux only currently) Command line program that works in conjunction with peerconnection_server connecting 2 or more clients together in a conference call.
- Plugin - A plugin built on FireBreath which mimics command line client. Provides simple javascript API's to sign in, sign out, call and hangup. This plugin is intended to give developers the ability to develop EARLY on multiple browsers while WebRTC's built-in browser integration is still evolving. In future releases it will allow the use of WebRTC APIs for browsers which do not directly support WebRTC integration.
- Monolithic static libraries - WebRTC static libraries created as a single debug or release archive. This aids developers in using WebRTC at the C++ level without worrying about complex dependencies.
RoadMap
This first product is our own internal proof of concept for using WebRTC. It is our hope that it will be useful for many people wondering how to use it themselves. This first product also organizes and packages the WebRTC static library. This is valuable to developers wanting to utilize WebRTC at the C++ level.
Our next goal is to provide a plugin which emulates the W3C Javascript API being set forth for WebRTC within a browser. Our plugin will enable developers to build WebRTC applications in production browsers during WebRTC's evolution. The WebRTC group is prepping a canary build of Chrome which supports the webkit interface to the WebRTC API. But many people will have issues doing WebRTC development in such an environment. Our plugin will fill that gap allowing the full use of the API set in a standard browser. Additionally, in the future, if a browser (like IE) does not support WebRTC directly, this plugin will enable vendors of WebRTC based applications to support IE by having users install the plugin rather than simply not supporting an entire browser base. We believe direct browser integration of WebRTC is the future - and is very important. But these things take time to gain energy. Our plugin fills this gap and we hope it will also raise the popularity of a technology that is in its infancy.
Our next addition will allow video on the Mac. The reason for not doing Mac video at this time were technical (WebRTC's Mac video implementation currently has issues in our experience).
Support
As this is an Open Source project, we are intending to have the community support this along with us. Initially, we'll do our best to answer questions and fix bugs as well as advance things along in a timely manner. Please use the discussion forums to ask questions and pose problems. Also, please use the issue tracking system to log issues.