재부팅 후에도 v4l2 USB 카메라를 동일한 장치 이름에 바인딩하는 방법은 무엇입니까?

재부팅 후에도 v4l2 USB 카메라를 동일한 장치 이름에 바인딩하는 방법은 무엇입니까?

PC에 3개의 USB 카메라가 있는데 그 중 하나는 사용되지 않으며 무시해도 됩니다. 두 개의 동일한 카메라를 상수 장치 이름(예: /dev/video1및 ) 에 매핑해야 합니다 /dev/video2. 카메라는 순서를 변경해서는 안 됩니다(카메라 1이 video1카메라 2 로 설치되었다고 가정하면 연결을 끊은 후 카메라 1 --> , 카메라 2 -->가 video2아닌 동일한 순서여야 합니다 . 이 설정을 어떻게 작동하게 합니까?/dev/video2/dev/video1

카메라 출력을지스트리머. 사용중인 카메라v4l2그리고자외선드라이버 인터페이스. 문제의 Linux 배포판은 다음과 같습니다.아치리눅스, 카메라 - 일부 Logitech 웹캠.

답변1

/devUSB 카메라의 고유 속성(일련번호? 포트 번호?)을 사용하여 심볼릭 링크를 자동으로 생성하는 것이 좋습니다 . udev이것을 보세요(Arch에서도 작동해야 함)udev 규칙 튜토리얼. 또는어쩌면 이 튜토리얼이 더 명확할 수도 있습니다..

다음을 사용하여 장치의 속성 목록을 얻을 수 있습니다.

sudo udevadm info --query=all --name=/dev/video1

그 다음에

sudo udevadm info --query=all --name=/dev/video2

차이점을 찾아 .rules그 안에 파일을 만듭니다 /etc/udev/rules.d(예를 들어 파일 이름으로 사용할 수 있음 99-myvideocards.rules). 일련 번호를 사용한다고 가정하면 다음과 같은 규칙 세트가 생성됩니다.

ATTRS{ID_SERIAL}=="0123456789", SYMLINK+="myfirstvideocard"
ATTRS{ID_SERIAL}=="1234567890", SYMLINK+="mysecondvideocard"

장치를 분리했다가 다시 연결한 후(또는 재부팅한 후) /dev/myfirstvideocard항상 /dev/mysecondvideocard동일한 장치를 가리키게 됩니다.

답변2

/dev/v4l/by-id/usb-046d_0819_92E84F10-video-index0Patrice Levesque의 방법은 잘 작동하지만 Linux에는 이미 폴더에 같은 심볼릭 링크가 있으므로 /dev/v4l/by-id/프로그램이 /dev/videoX.

관련 정보