views:

204

answers:

5

Hi,

I am looking to create a video training program which records videos - via webcam, user screen capture and captures sound. Now the main problem is that I need a cross-platform (mac and windows) solutions.

I know its possible to use flash to record webcam + audio. But its not possible to record the user's screen via flash.

So am wonder if I should use Java (which i believe will work on mac & windows). I do not want to develop to separate versions because of the cost involved in developing two versions.

Please guide me as I am new to this.

Thank you.

UPDATE

Hello again,

I had a look at the following site: www.screencast-o-matic.com or www.screentoaster.com. I see that they have developed a java applet which helps interact with Windows/Mac to record the screen.

I am wondering how to go about developing something like that and integrating it with Flash (for webcam and audio recording).

Is this a better idea?

+1  A: 

Try CamStudio. I don't know, if it works on Mac, but on windows, it's the best solution I know. It's open source, so you can use it's source code, if you want to :)

furtelwart
Windows only by the looks of their blog. (It uses MFC71.dll for example)
Oli
+1  A: 

This is not an answer to your question, but I strongly recommend against using video for educational programmes. Our company delivers university courses on-line, and we long ago learned that video feeds are only effective under particular scenarios. In general, a talking head is a waste of bandwidth. You're much better off to put together a well designed powerpoint presentation, record a voice-over (and edit it!) and then assemble the whole thing as a flash presentation. This is a non-trivial amount of work, but it provides a much more interesting product for the student.

When to use video: 1) When you are demonstrating something dynamic - Mechanics or Chemistry for example. 2) When you are acting out a scenario or case as an illustration -- For example, threat de-escalation techniques for high school teachers.

When you solve the screen recording problem, seriously consider whether you need full motion or if you can get away with stills. Often the motion is distracting, and a still with good voice over can be more effective. (Hint: Replace mouse pointers with something HUGE before recording -- Like Fox did with hockey pucks)

chris
A: 

This is by no means a simple project. Lets get that said and out the way. There are open source (and cross-platform) options for each element, but nothing (I know of) that will do everything for you.

I think the "cleanest" option would be to use Flash for webcam and audio, as you said, and run a VNC server to send the screen video... The only closed-platform code will be the VNC launching code. That should be pretty simple to maintain!

That raises a problem because most people are behind NAT firewalls these days. Setting up port forwarding is a pain in the behind. I've used an app called Gitso before which allows people to connect to me and send their desktop to my screen (for tech support). Its VNC-based and all it really does is add another layer on top of the VNC connection so rather than me connecting to them, they connect to me. That makes the whole business of port forwarding a non-issue.

And once you've recorded everything, there's the final issue of syncing it all back together... Might not be so hard.

Oli
+1  A: 

If you're looking to build an application that does all of the recording and screen capture itself, then you might consider using Adobe AIR (essentially, Flash running on the desktop) in combination with Merapi. Merapi is essentially a bridge between Adobe AIR and Java. So for example, for your project, you might use Java to handle the lower-level (but still cross-platform) stuff you can't do natively in AIR, and use Merapi to wire the Java application to your AIR UI.

Christian Nunciato
i thought of merapi before... but its in alpha... dunno if it is the best option for an enterprise website...
Alec Smart
True, but it's just an implementation of the concept of using Java-AIR messaging for the problem -- two cross-platform VMs communicating to complete the loop the app requires. You could write everything yourself on both ends, but it's open source, so it's probably a good jumping-off point.
Christian Nunciato
A: 

Well, Camtasia provides the solution to get your problem done. It can record the onscreen activity and also the webcam video and put them in the same player template. Another screen recorder DemoCreator can publish the screen recording as Flash movie, but can not record the webcam.