Tag Archives: webcam

I’ve been putting this off…

I’m sure that all of you are focused individuals.  I’m sure that all of you see tasks clearly laid before you and that you systematically work your way through them with the persistence of a census-taker… each one in turn until all the jobs are done.  How wonderful that must be.

I’ve always been full of curiosity.  I seek knowledge and experiences of all kinds, which has led me in many interesting directions.  It’s probably also the reason that I’m so drawn to open-source, because there is always something new to discover.  Recently, I came across this article:  Work Smart: How to Make Procrastination Productive

I like the way this person thinks.  Procrastination isn’t so much laziness, or fear of action.  It’s a sort of intuitive prioritization where things get done, just not in the way that some would consider logical.  Are there out there who suffer from my fascination with the next shiny thing moving at the corner of vision?  Does this broaden your reach or weaken your grasp?

One of the things that I’ve been exploring in my distraction is what one can do with a Web Cam.  (Great!  Some of you are already writing your own jokes.  Fine!  Laugh it up.)  I hadn’t looked to seriously at webcams because I just didn’t have a specific need for one.  Additionally, most equipment like that tends to be pretty Windows-centric and, while I can usually find the right piece and get it to run OK under Linux, I just wasn’t motivated.  Then, I’m in a big-box technology store beginning with an F where I normally don’t shop because I don’t find that the cheap prices are worth all of their other hassles.  (I might as well order on-line!)  Yet, there I am, looking for an adapter for my Droid, that I thought I need to have that day.  I happen by the webcam section and start looking at the different models.  I find a Creative Live! Cam Socialize HD, which actually lists Linux as an option under it’s system requirements!  I’m so pleased and surprised that I find myself taking it home.

I connect the camera and it works right out of the box!  Yay.  I talk to my dad and convince him to get a web cam as well.  The next night we experiment a little and decide that for bed time we’ll let Grandma and Grandpa join us for story time.  It’s pretty cool.  My daughter read her story (she always reads one to us too) and she would read the text and show the pictures to the camera.  Another night we did it again and Grandma and Grandpa had a story for us.  What a wonderful way to reach out and touch bases with each other.  As someone with a home-office I appreciated the value of being able to have some virtual presence and sharing seemingly insignificant things.

Now something weird has started.  Skype, which is what we were using, has suddenly decided to only use my camera at 15 FPS, rather than the 30 that it will do, and all of the settings and adjustments are shielded from me in Skype.  I can make it work fine with the other, open applications that talk to the camera.  I did some digging and found that this was not unusual for the Linux version of Skype.  I don’t know if they are behind on the video technology that’s available through the Linux kernel, or what.  Perhaps they are doing some of that intuitive prioritizing.  In the mean time I’m looking for other options that are more open that will also be easy for my dad to use.  I’ve even toyed with setting up my own SIP server using Kamailio, but I haven’t had a chance to learn the in and outs of how it works.  Too many shiny things… like getting articles done, drawing a paycheck and other things that.

Maybe soon my intuitive priorities will align and I’ll be able to share with you the secret formula for doing this yourself.  In the mean time I’ll share a little hint with you:  You don’t need a fancy service to connect to your computer from anywhere.  You can do it with SSH and a system that you leave connected to the Internet.  I’ll give the basics for the adventuresome and maybe write up a more substantial tutorial later:

  1. Set up the openssh server on your home system.  Make sure that you have a port opened to the Internet for ssh.  I recommend choosing something other than 22 or you’ll just get your log files clogged by script-kiddie attacks.  I also recommend setting it up so that you require key authentication for a good connection.  It’s a little bit of a pain to deal with the keys, but it makes your setup exponentially more secure.
  2. Get a dynamic DNS address and configure your home network to update that address whenever your home IP is reset.  Now you can get to the home system by domain name rather than having to know the IP.
  3. On your “work” system set up ssh and vnc.  Whenever you want your system to be reachable set up a reverse-port-forward (-R) of the vnc port (590x) back to your home system.  At that point, only your home system will be able to connect back to the work system through VNC.
  4. If you want to connect from another machine, establish another ssh connection from, say, your laptop to your home PC, doing a standard port forward (-L) to the same port that you reverse-forwarded.  Now you Use VNC to go from the laptop through the home PC to the work machine.  Here’s a brief example:

Connecting Work PC to home:
ssh -i mykey -R 35900:127.0.0.1:5900 myuser@mypc.dyndns.info
Connecting from Home PC to Work PC through encrypted channel:
vncviewer localhost::35900
Connecting from remote laptop to Work PC:
ssh -i mykey -L 35900:127.0.0.1:35900 myuser@mypc.dyndns.info
vncviewer localhost::35900

That’s the sort of expert view.  Maybe some of you can use it.  Selecting a higher port like 35900 helps avoid firewall issues where lower ports are blocked.

Ooo!  Something shiny!  I’m just going to take a moment and–