mirror of
https://github.com/tiyn/wiki.git
synced 2025-04-02 15:07:45 +02:00
android: added ip webcam and follow ups
This commit is contained in:
parent
e081dbb0a3
commit
48307410ce
38
wiki/android/ip_webcam.md
Normal file
38
wiki/android/ip_webcam.md
Normal file
@ -0,0 +1,38 @@
|
||||
# IP Webcam
|
||||
|
||||
[IP Webcam](https://play.google.com/store/apps/details?id=com.pas.webcam&hl=de&gl=US) is an App
|
||||
developed and published by Pavel Khlebovich for [Android](/wiki/android.md) systems.
|
||||
It enables a [smartphone](/wiki/smart_devices.md) to be used as [webcam](/wiki/webcams.md).
|
||||
|
||||
## Setup
|
||||
|
||||
On [Android](/wiki/android.md) IP Webcam is available on the
|
||||
[Google Play Store](/wiki/android.md#app-store) in a package called
|
||||
[IP Webcam](https://play.google.com/store/apps/details?id=com.pas.webcam&hl=de&gl=US).
|
||||
|
||||
## Usage
|
||||
|
||||
To initiate a connection between the [smartphone](/wiki/smart_devices.md) and the computer first
|
||||
start the app on the smartphone.
|
||||
Make sure to be connected to the same W-LAN as the computer or alternatively connect them with an
|
||||
USB-cable.
|
||||
After starting the application an IPv4 link be displayed.
|
||||
This link can be pasted into a [browser](/wiki/web_browser.md).
|
||||
There the video aswell as various settings will be available.
|
||||
An example link will look like the following.
|
||||
|
||||
```txt
|
||||
http://192.168.178.66:8080
|
||||
```
|
||||
|
||||
Additionally it can be piped into [OBS](/wiki/obs.md) to edit it or into
|
||||
[ffmpeg](/wiki/linux/ffmpeg.md) on [Linux](/wiki/linux.md) systems to create a virtual webcam
|
||||
device as explained in the
|
||||
[ffmpeg entry](/wiki/linux/ffmpeg.md#create-a-virtual-camera-using-an-ip-video-stream).
|
||||
The link used for applications like this will be the previously displayed IPv4 link aswell as an
|
||||
appended `/videofeed`.
|
||||
An example link will look like the following.
|
||||
|
||||
```txt
|
||||
http://192.168.178.66:8080/videofeed
|
||||
```
|
@ -63,3 +63,20 @@ Note that the bitrate for videos is split amongst a bitrate for video and a
|
||||
bitrate for audio.
|
||||
The target bitrate has to be equal to or greater than the sum of both video
|
||||
bitrate and audio bitrate.
|
||||
|
||||
### Create a Virtual Camera Using an IP Video Stream
|
||||
|
||||
The following section will create a virtual [webcam](/wiki/webcams.md) from an IP video stream like
|
||||
the one provided by [IP Webcam](/wiki/android/ip_webcam.md) [Android](/wiki/android.md) app.
|
||||
For this a free [V4L2](/wiki/linux/v4l2.md) video device will be needed.
|
||||
To information on how to create it navigate to the V4L2 entry and its sections on
|
||||
[permanent](/wiki/linux/v4l2.md#create-permanent-v4l2-devices) and
|
||||
[temporary creation of V4L2 video devices](/wiki/linux/v4l2.md#create-temporary-v4l2-devices).
|
||||
The following command will create a video device using the pixel format planar YUV 4:2:0.
|
||||
In this example it is assumed that the IP link is `http://192.168.178.66:8080/videofeed` and the
|
||||
V4L2 video device that is not used but exists is `/dev/video8`.
|
||||
If any of those differs on a given system adjustments are needed.
|
||||
|
||||
```sh
|
||||
ffmpeg -i http://192.168.178.66:8080/videofeed -f v4l2 -pix_fmt yuv420p /dev/video8
|
||||
```
|
||||
|
@ -13,11 +13,21 @@ The following section is based on a
|
||||
[v4l2loopback](https://github.com/umlaeute/v4l2loopback) is a utility to create
|
||||
a virtual video device.
|
||||
One use of it is in [OBS Virtual Camera](/wiki/obs.md#virtual-camera).
|
||||
|
||||
### Setup
|
||||
|
||||
To use v4l2loopback an according
|
||||
package needs to be installed.
|
||||
Some distributions have a package named `v4l2loopback-dkms` in the package
|
||||
manager, making the manual installation process unnecessary.
|
||||
Afterwards v4l2loopback can be manually started by running:
|
||||
|
||||
### Usage
|
||||
|
||||
This section focusses on various use-cases for the v4l2loopback software.
|
||||
|
||||
### Create Temporary V4L2 Devices
|
||||
|
||||
v4l2loopback can be manually started by running:
|
||||
|
||||
```sh
|
||||
modprobe v4l2loopback card_label='V4L2 Loopback' video_nr=7 exclusive_caps=1
|
||||
@ -28,6 +38,15 @@ modprobe v4l2loopback card_label='V4L2 Loopback' video_nr=7 exclusive_caps=1
|
||||
This can be changed according to the needs.
|
||||
It is important that the device is not already in use by another application.
|
||||
|
||||
To create more than one device more labels or numbers can be appended.
|
||||
An example command with 2 V4L2 video devices will look like the following command.
|
||||
|
||||
```sh
|
||||
modprobe v4l2loopback card_label='OBS Virtual Camera','IP Webcam' video_nr=7,8 exclusive_caps=1
|
||||
```
|
||||
|
||||
### Create Permanent V4L2 Devices
|
||||
|
||||
For an automatic start at boot via [SystemD](./systemd.md) a service can be
|
||||
created - as described in [the SystemD entry](./systemd.md#run-command-on-boot).
|
||||
For v4l2loopback create the file `/etc/systemd/system/v4l2loopback.service`
|
||||
@ -40,15 +59,15 @@ Description=V4L2 Loopback
|
||||
[Service]
|
||||
Type=simple
|
||||
RemainAfterExit=yes
|
||||
ExecStart=/bin/modprobe v4l2loopback card_label='V4L2 Loopback' video_nr=7 exclusive_caps=1
|
||||
ExecStart=/bin/modprobe v4l2loopback card_label='OBS Virtual Camera' video_nr=7 exclusive_caps=1
|
||||
ExecStop=/bin/rmmod v4l2loopback
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
```
|
||||
|
||||
Note the line starting with `ExecStart=/bin/` is the same line described above
|
||||
to change the device path.
|
||||
Note the line starting with `ExecStart=/bin/` is the same line described in the
|
||||
[above section](#create-temporary-v4l2-devices).
|
||||
Make sure to change it if needed.
|
||||
|
||||
Afterwards enable the service to start at every boot process by running:
|
||||
|
@ -27,3 +27,5 @@ A [smartphone](/wiki/smart_devices.md) and its camera aswell as flashlight can b
|
||||
replacement for a webcam.
|
||||
For [Android](/wiki/android.md) smartphones this can be easily achieved by using
|
||||
[DroidCam](/wiki/android/droidcam.md).
|
||||
An alternative to DroidCam with a with decidedly better resolution is
|
||||
[IP Webcam](/wiki/android/ip_webcam.md).
|
||||
|
Loading…
x
Reference in New Issue
Block a user