Skype: Video: Difference between revisions
Jump to navigation
Jump to search
m (→Discussion) |
(Merged content to main skype page) |
||
Line 1: | Line 1: | ||
The content here has been merged with the main [[Skype|Skype page]]. |
|||
These instructions outline what I did to get (two-way) video chat working after [[Skype|installing Skype]] (Public Beta 2.0.0.27). After the basic Skype installation you should already be able to ''receive'' video chat; these instructions allow you to ''send'' video from the OLPCs camera to the person you're talking to. Sounds like this recipe is also [http://olpcnews.com/forum/index.php?topic=1038.0 working for others]. |
|||
The setup is based on code called 'gstfakevideo' (aka [http://forum.skype.com/index.php?showtopic=102838 skype video hijacker]) which uses the open source [http://gstreamer.freedesktop.org/ gstreamer] framework (coincidentally the [[GStreamer|XO's multimedia platform]]) to stream an arbitrary video source into Skype. This idea was first suggested in a [http://olpcnews.com/forum/index.php?topic=471.msg8542#msg8542 forum discussion]. |
|||
==Installation== |
|||
The basic recipe is: |
|||
* [[Skype|Install Skype]] |
|||
* Obtain a compiled version of the gstfakevideo package for the OLPC (see [[#Building gstfakevideo|below for details]] to build or download it) |
|||
* Open a terminal window |
|||
* Move /dev/video0 out of the way (as root): |
|||
su |
|||
mv /dev/video0 /dev/video1 |
|||
* Make sure the video pipeline is correct by editing the gstfakevideo script (e.g. vi gstfakevideo) and changing the 'export GST_PIPE=...' line to read: |
|||
export GST_PIPE="v4l2src device=/dev/video1 ! ffmpegcolorspace ! videoscale" |
|||
* Make sure 'skype' is on your path (which it will be if you installed correctly) |
|||
* Run the gstfakevideo script : |
|||
./gstfakevideo |
|||
* This launches skype normally (after forcing skype to first load the libgstfakevideo.so library which uses the GST_PIPE setting to provide a fake skype-compatible video source at /dev/video0) |
|||
At this point you should be able to use skype as usual, but video options are enabled, e.g. click the tiny camera icon once you start a chat to share your video, or modify the video preferences to start video automatically within calls (see [http://forum.skype.com/index.php?showforum=36 Skype Video forum]). |
|||
==Discussion== |
|||
I haven't used Skype with video extensively yet on the XO, but have had it working between an XO and a Mac. I noticed intermittent sound issues: perhaps to do with bandwidth or CPU? If so maybe we could dial down the framerate or something? Hopefully others who know more about all this stuff can contribute their thoughts. (My head is only barely above water at this point given my very limited knowledge of linux, skype, gstreamer, etc.) |
|||
You can test the video pipeline independently of Skype by trying things like this at a terminal prompt: |
|||
gst-launch videotestsrc \! ffmpegcolorspace \! videoscale \! autovideosink |
|||
This should create a test pattern on your XO display. (To quit, press the 'home' button - the key in the top row with circle containing a single dot - and either stop the unnamed activity or return to terminal and press ctrl-C.) Note you need backslashes before the exclamation marks when executing directly in the terminal to escape them, but not in the gstfakevideo script itself. Also the 'autovideosink' element is only needed when testing (it routes the pipeline to your screen, instead of /dev/video0 for skype like the fakevideo library does). |
|||
To test your video camera, try a pipeline like this: |
|||
gst-launch v4l2src device=/dev/video1 \! ffmpegcolorspace \! videoscale \! autovideosink |
|||
then you should see your own smiling visage. (Same instructions to quit.) |
|||
I'm not sure if you need to move /dev/video0 every time you boot the machine (probably?). It seems to be a requirement because the gstfakevideo library can only fake /dev/video0 (so you can't have your 'real' video source there). There is a setting in gstfakevideo to tell it what fake video device to provide but the doc says it doesn't work (I haven't actually tried). |
|||
A cleaner setup would probably be to install the gstfakevideo stuff alongside the skype install, and alias 'skype' to kick off the video stuff. But I haven't done that yet. It would also be good to sugarize the whole thing so you could kick off your video skype session from the toolbar. I might have a go at that if no one beats me to it. |
|||
==Building gstfakevideo== |
|||
Here's how you can build the gstfakelibrary from scratch. But note that all this work results in a library (libgstfakevideo.so ) that's only 14K in size. So I've posted a zip file on one of the forums which includes the compiled library; you should be able to get it from: http://olpcnews.com/forum/index.php?action=dlattach;topic=471.0;attach=172 (requires registration?). I'll happily post it elsewhere if there's somewhere more sensible, or can provide by email. To use it, get the zip file on to the XO (in my case I just copied it via a [[Support_FAQ#How_do_I_save_or_retrieve_files_from_a_USB_drive_or_SD_.28Secure_Digital.29_card.3F|USB stick]]), and then just: |
|||
unzip gstfakevideo.zip |
|||
If you do want to build it yourself, I recommend doing so in a [[QEMU]] emulator, since it requires a bunch of dependencies that you probably don't want/need on your real XO: |
|||
yum install subversion |
|||
yum install make |
|||
yum install gcc |
|||
yum install gstreamer-devel |
|||
(and probably some others I forgot). Then get the source code and build: |
|||
svn checkout http://gstfakevideo.googlecode.com/svn/trunk/ gstfakevideo |
|||
cd gstfakevideo |
|||
make |
Revision as of 20:13, 16 January 2008
The content here has been merged with the main Skype page.