Перенаправить реальную веб-камеру на виртуальную веб-камеру через терминал

15

Есть ли способ перенаправить настоящую веб-камеру на виртуальную веб-камеру из командной строки, например, с помощью v4l2loopbackмодуля с ffmpeg?

Детали

У меня есть старая веб-камера, которая работает с большинством программного обеспечения (VLC, сыр и т. Д.), Но не с другими (Skype).

Возможный обходной путь, чтобы заставить это работать с таким программным обеспечением, состоит в том, чтобы перенаправить это к виртуальной веб-камере, используя v4l2loopbackмодуль, как сделано Webcamoid , но мне нужно сделать это из командной строки, например через ffmpeg.

Я уверен , что это возможно с помощью , ffmpegкак хорошо, но так как реальные вебкамеры редко перенаправлены на виртуальные, я не нашел примеров онлайн (единственные примеры , которые я нашел, как это , переадресованные снимки экрана или существующих видео на виртуальный веб - камеру вместо) ,

Kubuntuer82
источник
1
@LordNeckbeard Ответы имеют что-то общее, но вопросы очень разные. Этот OP запрашивает отправку предварительно записанного видео ( input.mp4) на существующее физическое устройство, и отвечающий предлагает вместо этого использовать v4l2loopback. Здесь речь идет об отправке живого реального веб - камеры для виртуального веб - камеры, так как это может сделать веб - камеру косвенно более совместимы с некоторыми приложениями (например , Skype), которые не признают его иначе. На самом деле, ответ на этот вопрос предлагает использовать что-то вроде ffmpeg -i input.mp4того, что я не искал здесь.
Kubuntuer82
1
@LordNeckbeard и этот ответ также показывает, как захватить рабочий стол, что не только не то, что я искал здесь, но также очень похоже на этот пост, который я уже упоминал в своем вопросе. Я искал что-то другое, то есть перенаправление другой веб-камеры вместо рабочего стола или файла (как я также говорю в вопросе). Я ценю, что решения основаны на одном и том же программном обеспечении, но, поскольку вопросы очень разные, я думаю, что все же было бы хорошо поделиться этим с людьми, которые борются с этой конкретной проблемой.
Kubuntuer82

Ответы:

19

Основываясь на этом ответе (уже упоминавшемся в вопросе), я думаю, что нашел решение самостоятельно, и оно работает со Skype!

Предположим, что настоящая веб-камера работает /dev/video0. Когда ты бежишь

modprobe v4l2loopback

модуль создает вторую (виртуальную) веб-камеру, например, в /dev/video1. На этом этапе достаточно выполнить:

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

и новая виртуальная веб-камера готова к использованию и выбору вместе со Skype.

Kubuntuer82
источник