Skip to main content

Создание виртуальной камеры из RTSP потока


You can easily do it on Ubuntu, Debian, Raspian, and Ubuntu Linux for Windows subsystems using the following method,

  1. Installing required libraries, v4l2loopback-dkms and ffmpeg:
sudo apt install v4l2loopback-dkms
sudo apt install ffmpeg
  1. Emulate a video device:
sudo modprobe v4l2loopback card_label="Webcam Stream Name" exclusive_caps=1
  1. Streaming from RTSP uri to the created virtual device:
ffmpeg -stream_loop -1 -re -i rtsp://uri -vcodec rawvideo -threads 0 -f v4l2 /dev/video0

You can replace the '0' at the end of /dev/video0 with the number of the available and playable video device.

 Второй вариант

Хочу rtsp с IP камеры пустить на видеотелефон. Проблема в том, что любой SIP клиент просит указать реальные (локальные) устройства, например USB камеру, но это можно обойты. Вопрос с Видео решил, осталось понять как сделать loopback со звуком, может кто-то помочь?

RTSP to /dev/videoX (Кому интересно)


(Нажмите, чтобы показать/скрыть)
1. Ставим FFMPEG, я с исходников ставил
2. Ставим v4l2loopback, это я тоже с исходников ставил
3. Выполняем sudo modprobe v4l2loopback devices=4, проверяем через ls /dev/ есть новые устройства или нет
4. Выполняем ffmpeg -i rtsp://192.168.1.106/0 -f v4l2 /dev/video1
** ffmpeg -i rtsp://IP:PORT/_number_of_stream -f v4l2 /dev/videoX_number_of_video_device


RTSP to /dev/videoX and hw:X,X (Кому интересно)


(Нажмите, чтобы показать/скрыть)
1. Выполняем sudo modprobe snd-aloop
2. Запускаем поток ffmpeg -i rtsp://192.168.1.106/0 -map 0:0 -f v4l2 /dev/video1 -map 0:1 -f alsa hw:2

P.S.: После выполнения modprobe snd-aloop я получил два устройства, hw:2,0 и hw:2,1. Как я понял они работаю по следующему принципу, если при запуске потока указать hw:2,0, то снимать звук нужно с hw:2,1, т.е. если указываем, что hw:2,0 - это вход, то hw:2,1 - выход и наоборот.


Используя эти виртуальный устройства, можно подключить IP cam к Skype или Вайбер или SIP или еще куда-то.

Спасибо всем, кто заходил, читал и хотел помочь!