Skip to main content

Enabling Single Webcam for Multiple Applications Access in Linux

A webcam can not be accessed by two or more applications simultaneously. The solution is you can duplicate the video stream and make it available for any application. In short, you create virtual webcam.
First, a webcam is commonly detected on /dev/video*. Before you go through the steps to duplicate video stream, you should check whether your webcam is working. You can try to capture video using VLC by this command. (For example, your webcam is on /dev/video0)

$ vlc v4l2:///dev/video0

If it doesn't work, you can try to change its mode to 0777 and make sure there's no other applications accessing it. If it still doesn't work, you can buy a new webcam. Seriously. Don't buy cheap and unknown-brand webcam. I have $5 webcam and it had wasted my time.

$ apt-get install ffmpeg linux-generic v4l2loopback-dkms

FFmpeg is main application that will access your webcam and duplicate its video stream. V4L2loopback is needed to create multiple virtual capture devices (loopback devices) in Linux which is used by FFmpeg to store duplicated video stream and accessed by other applications. For example, I want to enable two loopback devices. The new devices will be available on /dev/video* in a sequence.

$ modprobe v4l2loopback devices=2

Then, you can duplicate your webcam.

$ ffmpeg -f v4l2 -i /dev/video0 -f v4l2 /dev/video1 -f v4l2 /dev/video2

Or, you can also set the video resolution.

$ ffmpeg -f video4linux2 -s 800x600 -i /dev/video0 -codec copy -f v4l2 /dev/video1 -codec copy -f v4l2 /dev/video2

After you don't need the loopback devices, you can remove it.

$ modprobe -r v4l2loopback



If there any question or suggestion about this article, just leave it at comment field below. If you think this article is usefull, please share it with your colleagues.

Comments

Popular posts from this blog

Rangkaian Sensor Infrared dengan Photo Dioda

Keunggulan photodioda dibandingkan LDR adalah photodioda lebih tidak rentan terhadap noise karena hanya menerima sinar infrared, sedangkan LDR menerima seluruh cahaya yang ada termasuk infrared. Rangkaian yang akan kita gunakan adalah seperti gambar di bawah ini. Pada saat intensitas Infrared yang diterima Photodiode besar maka tahanan Photodiode menjadi kecil, sedangkan jika intensitas Infrared yang diterima Photodiode kecil maka tahanan yang dimiliki photodiode besar. Jika  tahanan photodiode kecil  maka tegangan  V- akan kecil . Misal tahanan photodiode mengecil menjadi 10kOhm. Maka dengan teorema pembagi tegangan: V- = Rrx/(Rrx + R2) x Vcc V- = 10 / (10+10) x Vcc V- = (1/2) x 5 Volt V- = 2.5 Volt Sedangkan jika  tahanan photodiode besar  maka tegangan  V- akan besar  (mendekati nilai Vcc). Misal tahanan photodiode menjadi 150kOhm. Maka dengan teorema pembagi tegangan: V- = Rrx/(Rrx + R2) x Vcc V- = 150 / (150+10) x Vcc V- = (150/160) x 5

Beli Bahan Tekstil dan Jasa Jahit di Bandung

Acara wisuda akan dilaksanakan pada Juli 2012 dan untuk acara tersebut saya memerlukan jas. Saya langsung googling  untuk mencari tempat yang menjual jas. Sebelumnya saya sempat berpikir untuk menyewa jas saja namun karena tampaknya jas akan cukup penting nantinya dan harga penyewaan yang umumnya tidak murah maka saya memutuskan membeli. Saya mencari tempat yang menjual jas yang murah di Bandung. Hasilnya beberapa artikel menyebutkan Pasar Baru Bandung menjual berbagai bahan tekstil dan pakaian termasuk jas. Saya langsung membuka Google Maps dan mencari lokasi Pasar Baru Bandung. Berikut adalah lokasi Pasar Baru Bandung. View Pasar Baru Bandung in a larger map Setelah mengetahui lokasi tersebut, saya memutuskan pergi sendiri ke Pasar Baru Bandung. Tidak lupa saya menyiapkan GPS berhubung sangat lemah soal arah jalan. Alhasil, setelah sampai di dekat jembatan, sebelum jalan Suniaraja saya sempat mengambil arah yang salah dan akhirnya berputar-putar di daerah sekitar Pasar Baru

Kerusakan pada Motherboard

1. Sering terjadi hang memory tidak cocok --- ganti memory ada virus di harddisk --- scan harddisk over clock --- seting kembali clock prosesor ada bad sector di harddisk --- partisi harddisk dengan benar 2. Pembacaan data menjadi lambat memori tidak cukup --- tambah memori harddisk penuh atau ada virus --- kurangi isi harddisk, scan harddisk, atau ganti hardisk 3. CMOS failure baterai habis --- ganti baterai CMOS seting BIOS berubah --- seting kembali BIOS 4. Tidak bisa booting cache memory rusak --- disable eksternal cache memory di BIOS memori tidak cocok --- ganti memori boot sector pada harddisk rusak --- masukkan operating system baru ada bad sector pada trek awal harddisk --- partisi harddisk 5. Suara bip panjang berkali-kali memori rusak --- periksa kedudukan memori memori tidak cocok --- ganti memori memori tidak masuk slot dengan sempurna --- periksa kembali kedudukan memori 6. Suara bip bagus tetapi tidak ada tampilan / bip dua kali VGA card

Itachi Uchiha

The Real Hero of Konoha

Sariawan dan Vitamin B12

Beberapa hari yang lalu, saya yang kebetulan sedang sariawan diminta teman saya di FKG Unpad yang sedang mencari pasien sariawan, untuk datang ke tempat praktek FKG yang berada di Sekeloa (dekat Dipati Ukur). Awalnya sempat malas, tapi karena saat itu saya sedang tidak ada kerjaan dan FKG tampaknya cukup 'menarik', akhirnya saya memutuskan pergi ke sana. Saya mendaftar jadi pasien di rumah sakit FKG terlebih dahulu, kemudian baru saya diajak ke tempat prakteknya. Saat ditanya apa penyebab sariawan saya, saya tidak ingat. Mulut saya pun kemudian diperiksa. Kaca mulut, sonde, pinset, dll sudah masuk ke mulut saya. Beberapa kali seriawan saya tersentuh. Seorang temannya Gema membantu mencatat data hasil pemeriksaan. Setelah itu, giliran dosennya yang memeriksa mulut saya. Pada bagian akhir sariawan saya diberi suatu obat cair. Pesan dari teman saya untuk memperbanyak minum air dan konsumsi vitamin B12 . Menurut Dosen Gizi dari Departemen Gizi Masyarakat Sumber Daya dan Kelu

Raspberry Pi Bluetooth Connection

Raspberry Pi 3 provides built-in bluetooh module. Latest Raspbian has been bundled with tools for enabling bluetooth connection. Bluetooth icon will be showed up on top right corner of the desktop. It's a tool to discover available bluetooth devices and connect Pi with bluetooth devices. It is easy to connect any bluetooth-enabled electronic device with Pi. But, sometimes Pi will fail to make a connection especially for bluetooth device which has no standarized services. From terminal, we can use bluetoothctl tool to scan and connect with a bluetooth device. You should make sure that BlueZ protocol stack has been installed by running $ apt-get install bluez Run bluetoothctl to enter the tool command window Turn the power on by running power on (Optional) You can set AutoEnable=true in /etc/bluetooth/main.conf if you want to make the bluetooth auto power-on after reboot. Run devices to see which devices have been paired Run scan on if your desired device has not pair