Arahkan webcam nyata ke webcam virtual melalui terminal

15

Apakah ada cara untuk mengarahkan webcam nyata ke webcam virtual dari baris perintah, misalnya menggunakan v4l2loopbackmodul dengan ffmpeg?

Detail

Saya memiliki webcam lama yang berfungsi dengan sebagian besar perangkat lunak (vlc, keju, dll.), Tetapi tidak dengan yang lain (Skype).

Solusi yang memungkinkan untuk membuatnya berfungsi dengan perangkat lunak tersebut adalah dengan mengarahkan ulang ke webcam virtual menggunakan v4l2loopbackmodul, seperti yang dilakukan oleh Webcamoid , tapi saya perlu melakukannya dari baris perintah, misalnya via ffmpeg.

Saya yakin ini dimungkinkan ffmpegjuga, tetapi karena webcam nyata jarang diarahkan ke yang virtual, saya tidak menemukan contoh online (satu-satunya contoh yang saya temukan, seperti ini , mengarahkan tangkapan layar atau video yang ada ke webcam virtual sebagai gantinya) .

Kubuntuer82
sumber
1
@ LordNeckbeard Jawabannya memiliki kesamaan, tetapi pertanyaannya sangat berbeda. OP itu meminta untuk mengirim video yang sudah direkam ( input.mp4) ke perangkat fisik yang ada , dan penjawabnya menyarankan untuk menggunakan v4l2loopback sebagai gantinya. Di sini kita berbicara tentang mengirim webcam nyata langsung ke webcam virtual, karena ini dapat membuat webcam secara tidak langsung lebih kompatibel dengan beberapa aplikasi (misalnya Skype), yang tidak akan mengenalinya sebaliknya. Sebenarnya, jawaban untuk pertanyaan itu menyarankan untuk menggunakan sesuatu seperti ffmpeg -i input.mp4yang bukan yang saya cari di sini.
Kubuntuer82
1
@LordNeckbeard dan jawaban itu juga menunjukkan cara mengambil desktop, yang bukan hanya bukan yang saya cari di sini, tetapi juga sangat mirip dengan posting ini yang sudah saya sebutkan dalam pertanyaan saya. Saya mencari sesuatu yang berbeda, yaitu mengarahkan webcam lain, bukan desktop atau file (seperti yang juga saya katakan dalam pertanyaan). Saya menghargai bahwa solusinya didasarkan pada perangkat lunak yang sama, tetapi karena pertanyaannya sangat berbeda, saya pikir masih bagus untuk membagikan ini kepada orang-orang yang berjuang dengan masalah khusus ini .
Kubuntuer82

Jawaban:

19

Berdasarkan jawaban ini (sudah disebutkan dalam pertanyaan) Saya pikir saya telah menemukan solusi sendiri, dan itu bekerja dengan Skype!

Misalkan webcam sebenarnya ada /dev/video0. Ketika Anda berlari

modprobe v4l2loopback

modul ini membuat webcam (virtual) kedua, misalnya di /dev/video1. Pada titik ini, cukup untuk mengeksekusi:

ffmpeg -i /dev/video0 -vcodec rawvideo -pix_fmt yuv420p -threads 0 -f v4l2 /dev/video1

dan webcam virtual baru siap digunakan dan dipilih dengan Skype juga.

Kubuntuer82
sumber