Git Product home page Git Product logo

droidcam's Introduction

DroidCam for Ubuntu

DroidCam – Use your Android phone as a wireless webcam or an IP Cam!

DroidCam Image

Installation

  • Install client app on your PC from my PPA with:
sudo apt-get install linux-headers-$(uname -r) build-essential
sudo apt-add-repository ppa:paolorotolo/droidcam
sudo apt-get update
sudo apt-get install droidcam

How to use

  • Open DroidCam on your Android device;
  • Open DroidCam on your PC;
  • Select if you want to stream via WiFi (insert your phone/tablet IP adress) or USB (ADB);
  • Open on PC a webcam specific app (like Cheese).
  • Enjoy!

Licensed under the GPL-3.0+
Original project by Dev47Apps.
Packaged by Paolo Rotolo.

droidcam's People

Contributors

paolorotolo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

droidcam's Issues

PPA not found

I just tried to add the PPA as mentioned in README.md but I got this:

Err:8 http://ppa.launchpad.net/paolorotolo/droidcam/ubuntu bionic Release                                    
  404  Not Found [IP: 91.189.95.83 80]
Reading package lists... Done 
E: The repository 'http://ppa.launchpad.net/paolorotolo/droidcam/ubuntu bionic Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.

Keeps disconnecting on ubuntu 14.04

Compiled, connected, all works, thanks. There is an issue though - it keeps disconnecting with error:
[mjpeg @ 0x17294c0] EOI missing, emulating

Probably some frame is incorrect so it crashes. Maybe needs some error handling implemented.

Quick workaround for me was doing bash loop to reinitialize connection, but it would be much better to fix it if possible.

Workaround:
while true; do droidcam-cli X.X.X.X 4747; done

For android 2.3.6

Is there a droidcam version for 2.3.6 , if yes then can somebody pls give the .apk file

Error compiling droidcam on Fedora

Hello, I tried installing droidcam on my Fedora 32 computer and got the following error upon running the install script. I installed all dependencies: linux header files, libspeex, libspeexdsp, libjpeg-turbo, libavutil-dev and libswscale.

Webcam parameters: '640' and '480'
Building v4l2loopback-dc.ko
make: Entering directory '/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback'
make -C /lib/modules/`uname -r`/build M=`pwd`
make[1]: Entering directory '/usr/src/kernels/5.6.0-0.rc7.git0.2.fc32.x86_64'
  CC [M]  /home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.o
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c:38:41: warning: ‘struct timeval’ declared inside parameter list will not be visible outside of this definition or declaration
   38 | static inline void get_timestamp(struct timeval *tv) {
      |                                         ^~~~~~~
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c: In function ‘get_timestamp’:
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c:41:7: error: invalid use of undefined type ‘struct timeval’
   41 |     tv->tv_sec = (time_t)ts.tv_sec;
      |       ^~
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c:41:19: error: ‘time_t’ undeclared (first use in this function); did you mean ‘ktime_t’?
   41 |     tv->tv_sec = (time_t)ts.tv_sec;
      |                   ^~~~~~
      |                   ktime_t
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c:41:19: note: each undeclared identifier is reported only once for each function it appears in
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c:41:26: error: expected ‘;’ before ‘ts’
   41 |     tv->tv_sec = (time_t)ts.tv_sec;
      |                          ^~
      |                          ;
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c:42:7: error: invalid use of undefined type ‘struct timeval’
   42 |     tv->tv_usec = (suseconds_t)(ts.tv_nsec / NSEC_PER_USEC);
      |       ^~
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c: In function ‘vidioc_qbuf’:
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c:1541:19: error: passing argument 1 of ‘get_timestamp’ from incompatible pointer type [-Werror=incompatible-pointer-types]
 1541 |     get_timestamp(&b->buffer.timestamp);
      |                   ^~~~~~~~~~~~~~~~~~~~
      |                   |
      |                   struct __kernel_v4l2_timeval *
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c:38:50: note: expected ‘struct timeval *’ but argument is of type ‘struct __kernel_v4l2_timeval *’
   38 | static inline void get_timestamp(struct timeval *tv) {
      |                                  ~~~~~~~~~~~~~~~~^~
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c: In function ‘v4l2_loopback_write’:
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c:1989:17: error: passing argument 1 of ‘get_timestamp’ from incompatible pointer type [-Werror=incompatible-pointer-types]
 1989 |   get_timestamp(&b->timestamp);
      |                 ^~~~~~~~~~~~~
      |                 |
      |                 struct __kernel_v4l2_timeval *
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c:38:50: note: expected ‘struct timeval *’ but argument is of type ‘struct __kernel_v4l2_timeval *’
   38 | static inline void get_timestamp(struct timeval *tv) {
      |                                  ~~~~~~~~~~~~~~~~^~
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c: In function ‘init_buffers’:
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c:2093:19: error: passing argument 1 of ‘get_timestamp’ from incompatible pointer type [-Werror=incompatible-pointer-types]
 2093 |     get_timestamp(&b->timestamp);
      |                   ^~~~~~~~~~~~~
      |                   |
      |                   struct __kernel_v4l2_timeval *
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c:38:50: note: expected ‘struct timeval *’ but argument is of type ‘struct __kernel_v4l2_timeval *’
   38 | static inline void get_timestamp(struct timeval *tv) {
      |                                  ~~~~~~~~~~~~~~~~^~
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c: At top level:
/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.c:2448:1: fatal error: opening dependency file /home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/.v4l2loopback-dc.o.d: Permission denied
 2448 | }
      | ^
cc1: some warnings being treated as errors
compilation terminated.
make[2]: *** [scripts/Makefile.build:268: /home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback/v4l2loopback-dc.o] Error 1
make[1]: *** [Makefile:1683: /home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback] Error 2
make[1]: Leaving directory '/usr/src/kernels/5.6.0-0.rc7.git0.2.fc32.x86_64'
make: *** [Makefile:4: all] Error 2
make: Leaving directory '/home/matheus/Downloads/droidcam/droidcam-64bit/v4l2loopback'

altered webcam resolution is non-permament

steps to reproduce

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

  2. Re-load it with new resolution:
    sudo insmod /lib/modules/uname -r/kernel/drivers/media/video/v4l2loopback-dc.ko width=1280 height=720

  3. Restart the droidcam client: Works with 720p resolution.

  4. Edit the text file /etc/modprobe.d/droidcam.conf with the new options to make the change stick:
    options v4l2loopback_dc width=1280 height=720

  5. reboot

actual behaviour

Despite the droidcam.conf entries, the resolution falls back to 640 x 480.

expected behaviour

The changes in resolution should be permanent.

version number
DroidCamX 6.7.3
latest Linux client from https://www.dev47apps.com/files/linux/droidcam_latest.zip

operating systems
Android 9
openSUSE Leap 15.1 w/ KDE and kernel 5.3.8
mobile:

Can't find droidcam

After running the following commands, I get this message: "E: Unable to locate package droidcam"

sudo apt-get install build-essential linux-headers-$(uname -r)
sudo apt-add-repository ppa:paolorotolo/droidcam
sudo apt-get update
sudo apt-get install droidcam

Thanks for the help.

Can't install PPA in recent Ubuntu version

I'mu using ZorinOS 17 (based upon Ubuntu 22), and when I try to install your PPA I get the following message

sudo apt-add-repository ppa:paolorotolo/droidcam
[sudo] Mot de passe de nicolas :       
Dépôt : « deb https://ppa.launchpadcontent.net/paolorotolo/droidcam/ubuntu/ jammy main »
Description :
DroidCam – Use your Android phone as a wireless webcam or an IP Cam!
Plus d'informations : https://launchpad.net/~paolorotolo/+archive/ubuntu/droidcam
Ajout du dépôt.
Appuyez sur [ENTRÉE] pour continuer ou Ctrl-c pour annuler
Adding deb entry to /etc/apt/sources.list.d/paolorotolo-ubuntu-droidcam-jammy.list
Adding disabled deb-src entry to /etc/apt/sources.list.d/paolorotolo-ubuntu-droidcam-jammy.list
Adding key to /etc/apt/trusted.gpg.d/paolorotolo-ubuntu-droidcam.gpg with fingerprint D749D17AF7CA097CEC26F479857F87147B9B74AA
Err :19 https://ppa.launchpadcontent.net/paolorotolo/droidcam/ubuntu jammy Release      
  404  Not Found [IP : 2620:2d:4000:1::81 443]
E: Le dépôt https://ppa.launchpadcontent.net/paolorotolo/droidcam/ubuntu jammy Release n'a pas de fichier Release.
N: Les mises à jour depuis un tel dépôt ne peuvent s'effectuer de manière sécurisée, et sont donc désactivées par défaut.
N: Voir les pages de manuel d'apt-secure(8) pour la création des dépôts et les détails de configuration d'un utilisateur.
W: http://ppa.launchpad.net/appimagelauncher-team/stable/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
W: http://ppa.launchpad.net/diodon-team/stable/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
W: https://download.docker.com/linux/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
N: Le fichier configuré « stable/binary-i386/Packages » ne sera pas pris en compte car le dépôt « https://download.docker.com/linux/ubuntu jammy InRelease » ne prend pas en charge l'architecture « i386 »
W: http://ppa.launchpad.net/lutris-team/lutris/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
W: http://ppa.launchpad.net/lyzardking/ubuntu-make/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
W: http://ppa.launchpad.net/phoerious/keepassxc/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
W: https://paulcarroty.gitlab.io/vscodium-deb-rpm-repo/debs/dists/vscodium/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
W: http://ppa.launchpad.net/touchegg/stable/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
W: http://ppa.launchpad.net/xtradeb/apps/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.

All that to say that your PPA is not ready for Jammy. Can you add the required files ?

Settings Error in Ubuntu 14.04

Just installed from the repo in Ubuntu 14.04 and when I start client on desktop I get the windows of Droidcam appears and then above a Settings Error popup stating no file or folder of this type exists but I can't validate the error popup :(
slection_001

Vincèn

Ubuntu 14.04 Droidcam installation v4l2loopback-dc.ko built error

OS: Ubuntu 14.04 (Trusty..)
I am trying to install droidcam with apt-get but terminal prompts me this error. How could get ride of this?
make: *** [all] Error 2 -- INSTALL: v4l2loopback-dc.ko not built.. Failure dpkg: error processing package droidcam (--configure): subprocess installed post-installation script returned error exit status 1 E: Sub-process /usr/bin/dpkg returned an error code (1)

Not compatible with current DroidCam android app

Things used to work for me, but after the android app updated, I now get:

connect IP='ca01a8c0' (192.168.1.202); p:4747
Error: Connection reset!
DroidCam is probably busy with another client
settings error: No such file or directory
Device: Droidcam (v4l2loopback)
Found driver: /dev/video0 (fd:3)
connect IP='ca01a8c0' (192.168.1.202); p:4747

... repeated over + over in my console, and:

"Request failed: PC client is outdated!"

... in the android app.

Installation fails at --configure on Elementary OS Luna

OS: Elementary OS Luna (Ubuntu 12.04)
So, I added the repositories and did

$sudo apt-get install droidcam

The result:

Configurando droidcam (1.3-0ubuntu0) ...
icon.png
v4l2loopback/v4l2loopback-dc.c
v4l2loopback/Makefile
README
v4l2loopback/
droidcam-cli
install
droidcam
-- INSTALL: Webcam parameters: '320' and '240'
-- INSTALL: Building v4l2loopback-dc.ko
make -C /lib/modules/uname -r/build M=pwd
make[1]: se ingresa al directorio «/usr/src/linux-headers-3.2.0-61-generic»
LD /opt/droidcam/v4l2loopback/built-in.o
CC [M] /opt/droidcam/v4l2loopback/v4l2loopback-dc.o
Building modules, stage 2.
MODPOST 1 modules
CC /opt/droidcam/v4l2loopback/v4l2loopback-dc.mod.o
LD [M] /opt/droidcam/v4l2loopback/v4l2loopback-dc.ko
make[1]: se sale del directorio «/usr/src/linux-headers-3.2.0-61-generic»
-- INSTALL: Moving driver and executable to system folders..
-- INSTALL: Registering webcam device
insmod: error inserting '/lib/modules/3.2.0-61-generic/kernel/drivers/media/video/v4l2loopback-dc.ko': -1 Invalid parameters
dpkg: error al procesar droidcam (--configure):
el subproceso instalado el script post-installation devolvió el código de salida de error 1
Se encontraron errores al procesar:
droidcam
E: Sub-process /usr/bin/dpkg returned an error code (1)

Then the app looks like it opens up, but with one error message after the other:

captura de pantalla de 2014-07-04 23 43 38

"Folder not found"

captura de pantalla de 2014-07-04 23 43 50

"Device not installed"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.