Тия дни се мъчих да включа камерата на умнофона към компютъра така, че да се вижда от всички линукс десктоп приложения, все едно че е е стандартна стационарна usb веб камера.
Например вижда се от Google Meet, което е много актуално при сегашното online обучение.
Разбира се всеки може да си купи обикновенна убс камера за 30-70лв., но не това е целта. Качеството на GSM камерата е съпоставимо (понякого и доста по-добро) с качеството на тези евтинийки. Разбира се ако някой иска наистина хубава камера, с висока светлочуствителност, нисък шум, висока революция, то трябва да похарчи около 170++лв за качествена век камера, запример това: Logitech C922 Pro Stream.
Инструкции има много по нета, но са разхвърляни..някои разчитат даже на специaлни прoграми, които трябва да се инсталират на компютъра и да емулират /dev/videoX
Как става:
––––––––
1. Необходимо е на GSM-a да се инсталира програма, която го превръща в IP wifi камера. Необходимо е и стабилен (домашен) wifi, който да държи поне до 1.5-2 МБaйта/сек. Необходимо е задаването на статичен ip адрес на телефона (не по DHCP) - тук в примерите е 192.168.1.16. Всички тези gsm апликации при стартирането си изписват адреса на стрима: например rtsp://192.168.1.16:8080/video/h264
CamON--------
https://play.google.com/store/apps/details?id=com.spynet.camon&hl=bg&gl=UShttp://192.168.1.16:8080/video/mjpegrtsp://192.168.1.16:8080/video/h264
http://192.168.1.16:8080 (веб интрфейс)
Работи много хубаво.
* поддържа 30 fps (950x530) на rtsp;//
* Не изкривявя цветовете на ръкописното писанe (синьо, не става черно) въпреки, че се гледа отдалече.
* има опция за задаване на Битрейта при rtsp:// (200k като че ли е оптимално)
IP Camera 沈垚 / ShenYao China - китайска , иконка мръсно жълто, охра !!!
---------------------
https://play.google.com/store/apps/details?id=com.shenyaocn.android.WebCam&hl=en_US&gl=USrtsp://admin:admin@192.168.1.16:8554/live
Стрима е с парола. Също работи много хубаво. Има много опции, поддържа големи режими.
DroidCam------------
https://play.google.com/store/apps/details?id=com.dev47apps.droidcam&hl=bg&gl=USИнтерфейс:
http://192.168.1.16Свободната версия е ограничена до 640x480
Всички в нета цитират само DroidCam, тя е нещо като стандарт, но не съм очарован. Ако някой иска да я пробва трябва да си я купи, но безплатната не става за нищо.
2. Инсталиране на драйвера v4l2loopback (наричат я още факе камера), който емулира/създава /dev/video0
modprobe v4l2loopback
lsmod | grep v4l2
v4l2loopback 45056 0
videodev 286720 1 v4l2loopback
в резултат на зареждането на драйвера v4l2loopback в /dev се появява факе файл /dev/video0
cd /dev
ls -l
crw------- 1 root root 10, 238 Nov 19 22:29 vhost-net
crw------- 1 root root 10, 241 Nov 19 22:29 vhost-vsock
crw-rw----+ 1 root video 81, 0 Nov 19 22:47 video0crw-rw-rw- 1 root root 1, 5 Nov 19 22:29 zero
naka@debian11:/dev$
su
chmod a+rw video0
(иначе някои клиентски приложения не работят, заради групата video)
3. Лепилото между Ip стрима и /dev/video0
CamON
--------
ffmpeg -i http://192.168.1.16:8080/video/mjpeg -r 30 -vf format=yuv420p -f v4l2 /dev/video0
ffmpeg -i rtsp://192.168.1.16:8080/video/h264 -r 30 -vf format=yuv420p -f v4l2 /dev/video0
IP Camera 沈垚 / ShenYao
----------------------------
ffmpeg -i rtsp://admin:admin@192.168.1.16:8554/live -r 60 -vf format=yuv420p -f v4l2 /dev/video0
4. Тестванеcheese или
Webcamoid,
но най-добре:
ffplay /dev/video0Вече трябва Google meet (или която и да друга програма) да опознае факе камерата като /dev/video0
4. Подробности/ощеОпцията !!!
-r 60 или -r 30 е много важна защото греши (изходния) фрeим рейт, забива или не се конектва. Без нея изходния фрейм рейт го дава много....хиляди и флудва драйвера!!!!
(входния фрейм рейт си е ок - такъв какъвто идва от стрима rtsp://....)
---
Други възможни колор формати за video for linux (-vf format=yuv420p)
Но смисъл от задаването им няма, няма да стане по-качeствено, защото входния ip стим, така и такa си е в yuv420p
-----------------------------------------------
yuv420p (хоризонталната хрома е 1/2 от яркостта, вертикална хрома липсва =0)
yuv422p (хоризонталната хрома е 1/2 от яркостта, вертикална хрома e 1/2 от яркостта)
rgb24 (без компресия на color-space-a)
---
В howto не е описано как да направим кърнелския модул v4l2loopback, да се зарежда автоматично при рестарт. Не е оправено и проблема с пермишъните на /dev/video0 (и групата video). Според системата всеки да се оправя.
---
В дебиан кърнелсия модул v4l2loopback идва от пакета v4l2loopback-dkms
---
В Центос7 и Федора <32 такъв пакет липсва. Има за Центос8 и Федора 32.
Има проект:
https://github.com/umlaeute/v4l2loopback но той не се компилира под кърнел 3.10.0 (Центос7) дава някава грешка с липсващи кърнелски хедъри за колорспейса.
За да се пусне под Центос7 може да се ползва това (мъничко по-стари версии):
http://sources.buildroot.net/v4l2loopback/v4l2loopback-0.12.2.tar.gz 2019-Jun-19 20:39:57 47.9K application/x-gtar-compressed
v4l2loopback-0.12.3.tar.gz 2020-Jan-21 20:44:47 48.8K application/x-gtar-compressed
v4l2loopback-0.12.4.tar.gz 2020-Apr-10 20:58:02 50.1K application/x-gtar-compressed
v4l2loopback-0.12.5.tar.gz 2020-Jun-17 06:40:09 50.2K application/x-gtar-compressed
v4l2loopback-v0.10.0.tar.gz 2017-Jun-21 00:05:09 45.8K application/x-gtar-compressed
v4l2loopback-v0.12.0.tar.gz 2018-Nov-08 20:06:43 47.5K application/x-gtar-compressed
v4l2loopback-v0.12.1.tar.gz 2019-Apr-07 14:08:49 47.7K application/x-gtar-compressed
v4l2loopback-v0.12.2.tar.gz 2019-Jun-01 12:45:59 47.9K application/x-gtar-compressedПоследната с която се компилира правилно и работи е:
v4l2loopback-0.12.4.tar.gz (2020-Apr-10)
---
Оптималният бит рейт за rtsp:// е около 200-300кбайта/сек Например в CamOn може да се задава. http:// стимовете обаче ползват mjpeg и при тях (при движение) бит рейта може да скочи до 1.2MB/сек. Оптималната резолюзия е малко по-малка от 1280x720
С тези приграми може да се постигне и 1280x720 X 30fps но му е малко тежичко...
---
Някои от андроидските пишат, че можело да пуснат и h265 (HEVC) стрим, но аз не можах да го пусна. Казва че тел. нямал хардуерните възможности... Може би платените версии.
---
Не успях да пусна да използва многото камери (3-4), дето са поникнали като пришки на гърба на новите телефони. Тези програми, разпознават само едната (втората). Би трябвало с всичките да стане много качествено. Може би някои други програми или платените им версии...... За китайската програма
IP Camera Pro 沈垚 но платената и версия пише:
It supports multi-lens selection on Android 9 and above.---
Ако някой знае друга алтернатива на ffmpeg.... ще се радвам ако я сподели. Аз не успях с mplayer/mencoder нито с vlc (конзолно) -- разправят, че можело също с графичното vlc.
КРАЙ