Liczba postów: 20
Liczba wątków: 7
Dołączył: Nov 2023
System: 21.1 Vera
Środowisko graficzne: Cinnamon
Architektura CPU: 64bit
Inny System: Debian, Windows,
Miernik podziękowań 0%
15-12-2023, 13:36
(Ten post był ostatnio modyfikowany: 15-12-2023, 13:38 przez Zefir88.)
0 Na serwerze mam skrypt
Kod: ffmpeg -i /dev/video0 /var/www/html/kamera/images/123.jpg
Za zwyczaj jest ok!
Wykonywany jest z crona co 2 minuty a jpg wyświetlany na stronie.
Czasem jednak skrypt przestaje działać.
Problem jest w tym, że system zmienia nazwę urządzenia.
Z /dev/video0 na /dev/video1
Serwer chodzi 24 na dobę nie jest restartowany.
Jak rozwiązać problem.
Na szybko rozwiązałem to tak.
Kod: ffmpeg -i /dev/video0 /var/www/html/kamera/images/123.jpg
ffmpeg -i /dev/video1 /var/www/html/kamera/images/123.jpg
Liczba postów: 138
Liczba wątków: 27
Dołączył: Sep 2023
Reputacja:
System: 22.0 Wilma
Środowisko graficzne: Cinnamon
Architektura CPU: 64bit
Inny System: Debian/Arch/Fedora
Miernik podziękowań 0%
15-12-2023, 13:51
(Ten post był ostatnio modyfikowany: 15-12-2023, 15:50 przez Xan666.)
0 Skorzystaj z tego poradnika: https://bugs.launchpad.net/mythbuntu/+bu...comments/5
Uzyskaj informacje o urządzeniu za pomocą:
Kod: udevadm info -a $(udevadm info -q path -n /dev/video0)
dla każdego urządzenia. Przejdź do /etc/udev/rules.d i utwórz nowy plik reguł (z niską liczbą, np. 11) i zmodyfikuj plik tak aby użyć nowego atrybutu i nadaj urządzeniu nową/stałą nazwę. To powinno rozwiązać problem.
Born to be root... not to reboot.
Liczba postów: 20
Liczba wątków: 7
Dołączył: Nov 2023
System: 21.1 Vera
Środowisko graficzne: Cinnamon
Architektura CPU: 64bit
Inny System: Debian, Windows,
Miernik podziękowań 0%
0 (15-12-2023, 13:51)Xan666 napisał(a): Skorzystaj z tego poradnika: https://bugs.launchpad.net/mythbuntu/+bu...comments/5
Uzyskaj informacje o urządzeniu za pomocą:
Kod: udevinfo -a -p $(udevinfo -q path -n /dev/video0)
dla każdego urządzenia. Przejdź do /etc/udev/rules.d i utwórz nowy plik reguł (z niską liczbą, np. 11) i zmodyfikuj plik tak aby użyć nowego atrybutu i nadaj urządzeniu nową/stałą nazwę. To powinno rozwiązać problem. Bądz uprzejmy i napisz mi z jakiego pakietu pochodzi to polecenie. Na serwerze nie mam go.
Muszę go zainstalować.
Liczba postów: 138
Liczba wątków: 27
Dołączył: Sep 2023
Reputacja:
System: 22.0 Wilma
Środowisko graficzne: Cinnamon
Architektura CPU: 64bit
Inny System: Debian/Arch/Fedora
Miernik podziękowań 0%
15-12-2023, 15:46
(Ten post był ostatnio modyfikowany: 15-12-2023, 15:48 przez Xan666.)
0 Mój błąd, udevinfo zostało zastąpione przez udevamd, a ten przez "udev" powinno być zainstalowane w Mint-cie. Wyedytowałem kwerendę. Spróbuj czy zadziała.
Born to be root... not to reboot.
Liczba postów: 20
Liczba wątków: 7
Dołączył: Nov 2023
System: 21.1 Vera
Środowisko graficzne: Cinnamon
Architektura CPU: 64bit
Inny System: Debian, Windows,
Miernik podziękowań 0%
16-12-2023, 14:56
(Ten post był ostatnio modyfikowany: 16-12-2023, 15:26 przez Zefir88.)
0 (15-12-2023, 13:51)Xan666 napisał(a): Skorzystaj z tego poradnika: https://bugs.launchpad.net/mythbuntu/+bu...comments/5
Uzyskaj informacje o urządzeniu za pomocą:
Kod: udevadm info -a $(udevadm info -q path -n /dev/video0)
dla każdego urządzenia. Przejdź do /etc/udev/rules.d i utwórz nowy plik reguł (z niską liczbą, np. 11) i zmodyfikuj plik tak aby użyć nowego atrybutu i nadaj urządzeniu nową/stałą nazwę. To powinno rozwiązać problem. w /etc/udev/rules.d i tam zrobic plik 11??
Dodano po pewnym czasie:
(15-12-2023, 15:46)Xan666 napisał(a): Mój błąd, udevinfo zostało zastąpione przez udevamd, a ten przez "udev" powinno być zainstalowane w Mint-cie. Wyedytowałem kwerendę. Spróbuj czy zadziała. Zainstalowałem to na serwerze.
Serwer Debian 12
jaka składnia dla tego polecenia "udev" dla /dev/video0
Liczba postów: 368
Liczba wątków: 6
Dołączył: Feb 2019
Reputacja:
Miernik podziękowań 4%
16-12-2023, 17:09
(Ten post był ostatnio modyfikowany: 16-12-2023, 20:10 przez mati75.)
0 Kod: ID_VENDOR_ID=$(udevadm info /dev/video0 | grep ID_VENDOR_ID | sed -e 's#.*=\(\)#\1#') ; ID_MODEL_ID=$(udevadm info /dev/video0 | grep ID_MODEL_ID | sed -e 's#.*=\(\)#\1#') ; ID_V4L_PRODUCT=$(udevadm info /dev/video0 | grep ID_V4L_PRODUCT | sed -e 's#.*=\(\)#\1#'); echo SUBSYSTEMS=="\"usb"\", ENV{ID_VENDOR_ID}=="\"$ID_VENDOR_ID"\", ENV{ID_MODEL_ID}=="\"$ID_MODEL_ID"\", ENV{ID_V4L_PRODUCT}=="\"$ID_V4L_PRODUCT"\", ENV{DEVNAME}=="\"/dev/video0"\"
To co wypluje wrzuć do pliku:
Kod: /etc/udev/rules.d/50-kamera-usb.rules
reboot dla pewności i sprawdzić czy dobrze zaczytało:
Kod: udevadm test $(udevadm info -q path -n /dev/video0)
Prowadzę to forum od roku 2007. Przez ten czas projekt minta bardzo negatywnie się zmienił, stąd mogą w moich postach być opinie z którymi można się nie zgadzać.
Liczba postów: 20
Liczba wątków: 7
Dołączył: Nov 2023
System: 21.1 Vera
Środowisko graficzne: Cinnamon
Architektura CPU: 64bit
Inny System: Debian, Windows,
Miernik podziękowań 0%
0 (16-12-2023, 17:09)mati75 napisał(a): Kod: ID_VENDOR_ID=$(udevadm info /dev/video0 | grep ID_VENDOR_ID | sed -e 's#.*=\(\)#\1#') ; ID_MODEL_ID=$(udevadm info /dev/video0 | grep ID_MODEL_ID | sed -e 's#.*=\(\)#\1#') ; ID_V4L_PRODUCT=$(udevadm info /dev/video0 | grep ID_V4L_PRODUCT | sed -e 's#.*=\(\)#\1#'); echo SUBSYSTEMS=="\"usb"\", ENV{ID_VENDOR_ID}=="\"$ID_VENDOR_ID"\", ENV{ID_MODEL_ID}=="\"$ID_MODEL_ID"\", ENV{ID_V4L_PRODUCT}=="\"$ID_V4L_PRODUCT"\", ENV{DEVNAME}=="\"/dev/video0"\"
To co wypluje wrzuć do pliku:
Kod: /etc/udev/rules.d/50-kamera-usb.rules
reboot dla pewności i sprawdzić czy dobrze zaczytało:
Kod: udevadm test $(udevadm info -q path -n /dev/video0)
Czekam na druga kamerę
to samo zrobić z drugą?
Nazwa pliku zapewne musi być inna?
Kod: /etc/udev/rules.d/51-kamera-usb.rules
Liczba postów: 368
Liczba wątków: 6
Dołączył: Feb 2019
Reputacja:
Miernik podziękowań 4%
0 Zmienić video0 na video1 i można dopisać do tego samego pliku. Ewentualnie po prostu używać konfiguracji z /dev/v4l/by-id/ zamiast /dev/camera*
Prowadzę to forum od roku 2007. Przez ten czas projekt minta bardzo negatywnie się zmienił, stąd mogą w moich postach być opinie z którymi można się nie zgadzać.
|