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=b4b4bb43a4e4a46aab2c1b38cd0892c3
[[ ${bits} -eq 64 ]] && checksum=743b71f1af4d90b5ced59c02fcbc925f
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. Hussain Raabid says:

    Hi,

    Do you have Droidcam for OS X 10.10.5?
    or Is there any chance of Droidcam for Mac systems to be released soon?
    Unfortunately, I can only use MAC for my project due to some other limitations.

    Thanks

  2. Nobby says:

    Are tbere plans to bring an android CLIENT?

  3. Jason says:

    Tried free app with: sudo insmod /lib/modules/3.13.0-37-generic/kernel/drivers/media/video/v4l2loopback-dc.ko width=1280 height=720 over USB ADB. Seemed to work fine through VLC, video claimed was streaming at 30fps, but it was definitely not coming in at 30fps. Thought it was a limitation of free app, so bought paid version. After paying, I may have got a bit over-ambitious and set video to: sudo insmod /lib/modules/3.13.0-37-generic/kernel/drivers/media/video/v4l2loopback-dc.ko width=1920 height=1080, but now i get the message below (same when I change back to 720p):
    $ droidcam
    Device: BisonCam, NB Pro
    Device: Droidcam (v4l2loopback)
    Found driver: /dev/video1 (fd:5)
    connecting to 127.0.0.1:4747
    error: need a temp buffer, this shouldnt happen!
    error: need a temp buffer, this shouldnt happen!
    error: need a temp buffer, this shouldnt happen!
    error: Unexpected video image dimensions
    Error: Unexpected video image stream subsampling
    ….

    Works again when I set

  4. Ben says:

    When running “sudo apt-get install linux-headers-`uname -r` from my PiZero it gives the error “package linux-headers-4.4.11 could not be found”
    Any ideas how to get around this?

    Thanks

    • dev47 says:

      Hi,
      You’re gonna have to dig around for the equivalent. There is a chance the driver won’t compile on the Pi – I believe some people have tried in the past with little success.

Leave a Reply

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

captcha

Follow @dev47apps