Linux

The GNU/Linux module (prototype) is a combination of a Video4Linux2 device driver, and an executable app that will transfer the stream from the phone to the driver.

It’s assumed you are somewhat familiar with the system and how to use the Terminal. Also please keep in mind other posts on the blog are Windows oriented.

Install

1. You must first remove any old versions of the client you have. Scroll down to the “Removal” section below.

2. If you are using an older Android device, check the version of DroidCam that was installed from the play store and run the appropriate commands from below.

For DroidCam & DroidCamX version 6 and above (newest):
cd /tmp/
sudo apt-get install linux-headers-`uname -r`
bits=`getconf LONG_BIT`
wget https://www.dev47apps.com/files/600/droidcam-${bits}bit.tar.bz2
[[ ${bits} -eq 32 ]] && checksum=c8baa64b3f1e1d9b9051ece23474e58f
[[ ${bits} -eq 64 ]] && checksum=ad14437f0556d80f981d1027766afe29
echo "${checksum}  droidcam-${bits}bit.tar.bz2" | md5sum -c --
# OK?
tar xjf droidcam-${bits}bit.tar.bz2
cd droidcam-${bits}bit/
sudo ./install

For DroidCam & DroidCamX below 6: [show]

Please download one the following packages to /tmp, extract and run sudo ./install 640 480
64-bit (f937c3510615af68c007b8c72deadb14), or 32-bit (73c6b9d853a0a6ab7c6d15174450a3f1).

* If you are running the newest Linux kernel (version 4 or above) and seeing errors, make sure your installed gcc version is 4.9 or above:
uname -r # prints linux version
gcc -v # prints gcc version


3. Once everything goes without error, you can ensure the device is installed with lsmod. Look for ‘v4l2loopback_dc’.

Open up a V4L2 compatible program (VLC player, Skype, Cheese, etc) and you should see DroidCam listed as a video device.

4. Start droidcam via the Terminal, or create a launcher if you’re using gnome. You can also try droidcam-cli -h.

5. Check the connection post on how to connect. If all goes well, you should see the output in the chat application, and you’re done!

A note about USB connections: The latest version of the client will try to invoke ‘adb’ automatically, provided the executable is found via the $PATH environment variable (ie. export PATH=$PATH:/path/to/adb).
The following commands are automatically executed:
adb start-server
adb devices # Look in output for a connected device
adb forward tcp:$port tcp:$port # $port = specified port on the client

The Linux client is open source.

Update webcam resolution

You may change the webcam output resolution as follows:

1. Close any programs using the droidcam webcam. Unload the device driver:
sudo rmmod v4l2loopback_dc

2. Re-load it as follows (WIDTH and HEIGHT are numbers). :
sudo insmod /lib/modules/`uname -r`/kernel/drivers/media/video/v4l2loopback-dc.ko width=WIDTH height=HEIGHT
Recommended resolutions: 320×240, 480×360, 640×480, 960×720 or 1280×720.

3. Restart the droidcam client to reload the settings, and test it out. You can keep changing the resolution.

4. Edit the text file /etc/modprobe.d/droidcam.conf with the new options to make the change stick.

Removal

To remove the DroidCam client (or existing old version):
Close any running programs. Run one of the following (depends which version of the linux client you got)
sudo /opt/droidcam-uninstall
# OR
sudo ~/.droidcam/uninstall
  1. Phil says:

    Linux downloads? The file doesn’t exist when I try the download from the install page and last version I had was version 4. Any assistance would be appreciated.

    Regards,
    Phil

    • dev47 says:

      Hi Phil,
      Version 4 of the app, or the client?
      Assuming you have the latest app, the commands under the install section on this page will get you the right client (32-bit vs 64-bit).

  2. Stuart says:

    Ok so this doesnt build correctly on the raspi so I had to change your make file from this

    LIBS = -lgthread-2.0 -l:/usr/lib/libswscale.a -l:/usr/lib/libavutil.a -l:/opt/libjpeg-turbo/lib`getconf LONG_BIT`/libturbojpeg.a

    to

    LIBS = -lgthread-2.0 -l:libswscale.a -l:libavutil.a -l:libturbojpeg.a

  3. Stuart says:

    Even tho I have successfully built this on the raspi using raspbian I am getting a segmentation fault when trying to connect to the android device.

    • dev47 says:

      Sorry, you’re on your own on this one.
      You can add a few log lines in the code of the client to try and poinpoint where it trips up. But it might turn into a rabbit hole with one problem after another, be warned.

  4. rami says:

    I have Android 4.0.4 and I can not connect, and I want the old version
    please.

  5. Sasha says:

    It works for me and my 1+1 + ubuntu. Thanks a lot 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

captcha

Follow @dev47apps