Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
Copyright (c) 2012, Fuji Xerox Co., Ltd. All rights reserved. Author: Surendar Chandra, FX Palo Alto Laboratory, Inc. Contact: firstname.lastname@example.org 0.0 License: DisplayCast is released under the New BSD license. Specific licensing terms are described in the License.rtf file. This license agreement applies to the entire DisplayCast system. 1.0 Introduction: Screen sharing is an important collaboration feature. As a screencast, it is used to capture and archive screen contents for educational and training purposes. Real time screen sharing is widely used for remote logging, debugging and screen sharing. Some of the popular screen sharing applications include VNC (and variants such as Apple Remote Desktop), Microsoft Remote Desktop, Google Chrome Desktop and Cisco WebEx. Historically, real time screen sharing systems were designed to operate over constrained networks. This design choice does not lend itself to scenarios in which such bottlenecks are irrelevant. DisplayCast targets intranet scenarios in which the wired/wireless networks and computation resources are abundant. We envision a collaboration scenario in which many users share their screens with many other users in an intranet setting. Our primary design goal is to faithfully reproduce the screen contents. Users are not required to reconfigure their systems (e.g., lower screen resolution) in order to make them suitable for screen sharing. Users can use any application and expect good performance. We achieve many of these goals. Some remain unachievable because of processor limitations. For example, capturing, compressing and sharing full screen HD movies remain beyond reach even with the state of the art laptop processors. DisplayCast system currently includes three components: Streamer, Player and Archiver. a) Streamer: The streamer is the source component. It can either share the entire screen or a portion (using a configuration MASK region). It interacts with users using a task-bar interface (a windowed interface can be compiled using appropriate compile time flags specified in Globals.h). Streamers are available for Windows 7 and Mac OSX 10.6+. b) Player: The player is the real time receiver. The created windows can be dragged around using the GUI. It can also be remotely controlled. Players are available for Windows 7, Mac OSX 10.6+ and iOS 5.0. c) Archiver: This component captures a stream into a H.264 movie. Archiver requires OSX Mac 10.7+. We also provide a HTTP/REST service that runs under Windows 7. This service listens to the various Zeroconf advertisements and provides a synchronous means of controlling DisplayCast. 2.0 System Requirements: In Windows 7, DisplayCast requires: a) Apple Bonjour for naming and location management. Either the full SDK or the "Bonjour Print Services for Windows", both available at https://developer.apple.com/opensource/ will work. b) Demoforge mirror driver, available at http://www.demoforge.com/dfmirage.htm. c) 32feet.net, available at http://32feet.codeplex.com. In OSX, it uses the Packages application available at http://s.sudre.free.fr/Software/Packages/about.html. 3.0 Getting DisplayCast: 3.1 Prebuilt binaries are available at https://github.com/DisplayCast/Win7/downloads (Windows 7) and https://github.com/DisplayCast/OSX-IOS/downloads (OSX). 3.2 Source code is available in github at https://github.com/DisplayCast/Win7 (Windows 7) and https://github.com/DisplayCast/OSX-IOS (OSX) 4.0 Build Intructions: 4.1: Windows 7: We use Microsoft Visual Studio 2010. Visual Studio 2010 Express may also be used though the Express version does not support installer creation functionality. The source code for the various projects are available inside the "Sources" folder. Projects "Player" and "Streamer" create the corresponding DisplayCast executables. The project "Location" is an experimental feature that uses Cisco WiFi localization. "ControllerService" is a Windows service that listens to Bonjour services and provides a HTTP/REST service. By default, the service uses port 11223 and provides JSONP responses. "Shared" defines global parameters that are used by the entire system. "ZeroconfService" is the open source C# wrapper for Bonjour and is available at http://code.google.com/p/zeroconfignetservices/. You can download precompiled DLL from that link though I experienced some trouble in using the precompiled binaries. Building the solution builds the Streamer and Player applications. Installers can be built using the projects inside the Installers directory. The projects "ControllerServiceInstaller" and "DisplayCastInstaller" create installers for the Controller Service and the DisplayCast system respectively. The installers are availble in the Installers directory. 4.2: Mac OSX and iOS: We use Xcode 4.4. The license agreement, this README file and credits are available in the Documentation group. The source code for the OSX version of Streamer, Archiver, Players and Preferences are available in the Sources/OSX group. The source code for the iOS player is available in Sources/iOS. The global configuration file is available in the Sources/Shared group. An experimental feature that uses XMPP uses the xmppframework available in Sources/OSX/Extras/xmppframework. We downloaded the version that was available at https://code.google.com/p/xmppframework/. Recently, xmppframework is hosted at GitHub. With the Xcode 4.4 and Command Line tools addition, the system can be compiled and a disk image containing the release packages can be created by running the shell script OSX/Packager/pkmaker.sh from the command line. The DisplayCast.dmg is created in the OSX/Installers directory. The disk image also contains an AppleScript script called EnableAutoLogin.scpt that allows the DisplayCast system to be automatically started on a system boot. 5.0 Usage Instructions: 5.1 Windows 7: The Streamer and Player applications are installed in the FXPAL/DisplayCast application folder. These applications are automatically started on a system reboot. 5.2 OSX: The Streamer, Player and Archiver applications are installed in the /Applications/FXPAL directory. The Streamer and Player are automatically started on a system reboot. 6.0 Known Issues: 5.1: Windows 7 5.2: Mac OSX 6.0 Frequently asked questions: