Форум русскоязычного сообщества Ubuntu


Автор Тема: v4l2 error: cannot open device '/dev/video0': Operation not permitted  (Прочитано 7646 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Yura

  • Автор темы
  • Участник
  • *
  • Сообщений: 148
  • От Ubuntu 5.04 до Ubuntu 20.04 LTS
    • Просмотр профиля
    • Я на ВКонтакте
Имеется USB устройство видеозахвата (телевизор) D-Link DUB-T210, Ubuntu 20.04, VLC.

При попытке воспроизвести видео с помощью VLC через устройство захвата в логе видим сабжевую фразу. При этом, согласно dmesg, система устройство отчетливо видит и определяет как /dev/video0. Программа tvtime с ним успешно работает. Юзер в группу видео успешно добавлен с помощью команд:

sudo adduser username video
sudo usermod -a -G video username

Система после добавления перезагружена. Что  еще надо сделать чтобы эта чертова хрень vlc смог получить доступ к устройству?

Пользователь добавил сообщение 17 Апреля 2021, 08:14:09:
При обращении vlc к /dev/video0, в dmesg появляются следующие фразы:

[10486.963917] audit: type=1326 audit(1618636266.504:71): auid=1000 uid=1000 gid=1000 ses=3 subj=snap.vlc.vlc pid=6846 comm="glxinfo" exe="/snap/vlc/2103/usr/bin/glxinfo" sig=0 arch=c000003e syscall=203 compat=0 ip=0x7f2f9c16fc7f code=0x50000
« Последнее редактирование: 17 Апреля 2021, 08:14:09 от Yura »

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 3026
    • Просмотр профиля
Re: v4l2 error: cannot open device '/dev/video0': Operation not permitted
« Ответ #1 : 17 Апреля 2021, 11:40:49 »
Ещё посмотрите, какие права у /dev/video0 командой
ls -l /dev/video0Чтобы пользователь из группы video мог его читать, должны быть хотя бы 440.
Если там 600 или 400, то он читать не сможет. Если так, то проще всего в /etc/rc.local вставить команду
/bin/chmod 0660 /dev/video0но правильнее сделать это в udev-правиле.
Пётр.

Оффлайн Yura

  • Автор темы
  • Участник
  • *
  • Сообщений: 148
  • От Ubuntu 5.04 до Ubuntu 20.04 LTS
    • Просмотр профиля
    • Я на ВКонтакте
Re: v4l2 error: cannot open device '/dev/video0': Operation not permitted
« Ответ #2 : 17 Апреля 2021, 11:48:22 »
Ещё посмотрите, какие права у /dev/video0 командой

crw-rw----+ 1 root video 81, 0 апр 17 15:47 /dev/video0

Пользователь добавил сообщение 17 Апреля 2021, 11:48:46:
но правильнее сделать это в udev-правиле.

А как это сделать ?

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 3026
    • Просмотр профиля
Re: v4l2 error: cannot open device '/dev/video0': Operation not permitted
« Ответ #3 : 17 Апреля 2021, 12:41:58 »
У /dev/video0 и сейчас права 660, т.е. изменятаь не надо. Вот почему в конце вывода "+"?
Что выведет команда
getfacl /dev/video0Я vlc не пользуюсь, но в нём много настроек, м.б., в нём надо просто правильно выбрать источник видео?
Пётр.

Оффлайн Yura

  • Автор темы
  • Участник
  • *
  • Сообщений: 148
  • От Ubuntu 5.04 до Ubuntu 20.04 LTS
    • Просмотр профиля
    • Я на ВКонтакте
Re: v4l2 error: cannot open device '/dev/video0': Operation not permitted
« Ответ #4 : 17 Апреля 2021, 13:17:21 »
Что выведет команда

brunen-g@LEXX:/var/log$ getfacl /dev/video0
getfacl: Удаление начальных '/' из абсолютных путей
# file: dev/video0
# owner: root
# group: video
user::rw-
user:brunen-g:rw-
group::rw-
mask::rw-
other::---


Пользователь добавил сообщение 17 Апреля 2021, 13:18:23:
Я vlc не пользуюсь, но в нём много настроек, м.б., в нём надо просто правильно выбрать источник видео?

Ну я как бы по материалам из сети делал, но все равно попробовал разные варианты - везде тот же результат.

Пользователь добавил сообщение 17 Апреля 2021, 14:33:43:
Попробовал программой cheese - все работает. Получается вопрос к vlc? Я тогда сейчас сформулирую вопрос по другому с иллюстрацией настроек vlc.

Может специалисты по vlc подскажут ?

Пользователь добавил сообщение 17 Апреля 2021, 14:44:31:
Вобщем предыстория выше. Задача - оцифровать видео с кассет. Настройки vlc на фото. Что надо поменять чтобы работало?

« Последнее редактирование: 17 Апреля 2021, 14:44:31 от Yura »

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 3026
    • Просмотр профиля
Re: v4l2 error: cannot open device '/dev/video0': Operation not permitted
« Ответ #5 : 17 Апреля 2021, 18:01:32 »
Не знаю, я не специалист по VLC. Попробуйте для "Стандарт видео" выбрать "Все" или конкретно тот,
в котором идёт видеопоток с камеры.
Ещё для сравнения можно попробовать воспросизвести через mpv, "man mpv", там есть пример с подключением /dev/video0,
но этого я тоже никогда не делал.

« Последнее редактирование: 17 Апреля 2021, 18:04:48 от Peter_I »
Пётр.

Оффлайн SergeyIT

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5583
  • Все по палатам!
    • Просмотр профиля
Re: v4l2 error: cannot open device '/dev/video0': Operation not permitted
« Ответ #6 : 17 Апреля 2021, 18:24:25 »
Vlc в снеп запускается, судя по выводу. Может в этом проблема
Извините, я все еще учусь

Оффлайн Yura

  • Автор темы
  • Участник
  • *
  • Сообщений: 148
  • От Ubuntu 5.04 до Ubuntu 20.04 LTS
    • Просмотр профиля
    • Я на ВКонтакте
Re: v4l2 error: cannot open device '/dev/video0': Operation not permitted
« Ответ #7 : 17 Апреля 2021, 18:29:04 »
Не знаю, я не специалист по VLC. Попробуйте для "Стандарт видео" выбрать "Все" или конкретно тот,
в котором идёт видеопоток с камеры.

Пробовал.



Пользователь добавил сообщение 17 Апреля 2021, 18:31:46:
Ещё для сравнения можно попробовать воспросизвести через mpv, "man mpv", там есть пример с подключением /dev/video0,
но этого я тоже никогда не делал.

Да воспроизвести не проблема. tvtime справляется. Задача - записать. Пробовал mplayer - воспроизводит,но звука нет. Бился с ним и так и так, но звука нет.

brunen-g@LEXX:~/.tvtime$ mplayer -ao alsa:device=hw=1.0 tv:// -tv driver=v4l2:device=/dev/video0:width=640:height=480:norm=pal-dk:amode=1:input=1
MPlayer 1.3.0 (Debian), built with gcc-9 (C) 2000-2016 MPlayer Team
do_connect: could not connect to socket
connect: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing tv://.
TV file format detected.
Selected driver: v4l2
 name: Video 4 Linux 2 input
 author: Martin Olschewski <olschewski@zpr.uni-koeln.de>
 comment: first try, more to come ;-)
Selected device: D-Link DUB-T210 TV Tuner
 Tuner cap:
 Tuner rxs:
 Capabilities:  video capture  tuner  audio  read/write  streaming
 supported norms: 0 = NTSC; 1 = NTSC-M; 2 = NTSC-M-JP; 3 = NTSC-M-KR; 4 = NTSC-443; 5 = PAL; 6 = PAL-BG; 7 = PAL-H; 8 = PAL-I; 9 = PAL-DK; 10 = PAL-M; 11 = PAL-N; 12 = PAL-Nc; 13 = PAL-60; 14 = SECAM; 15 = SECAM-B; 16 = SECAM-G; 17 = SECAM-H; 18 = SECAM-DK; 19 = SECAM-L; 20 = SECAM-Lc;
 inputs: 0 = Television; 1 = Composite; 2 = S-Video;
 Current input: 1
 Current format: YUYV
v4l2: current audio mode is : STEREO
Failed to open VDPAU backend libvdpau_va_gl.so: cannot open shared object file: No such file or directory
[vdpau] Error when calling vdp_device_create_x11: 1
==========================================================================
Opening video decoder: [raw] RAW Uncompressed Video
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
Movie-Aspect is undefined - no prescaling applied.
[swscaler @ 0x55caa3ae04c0] bicubic scaler, from yuyv422 to yuv420p using MMXEXT
[swscaler @ 0x55caa3ae04c0] using unscaled yuyv422 -> yuv420p special converter
VO: [xv] 640x480 => 640x480 Planar YV12
Selected video codec: [rawyuy2] vfm: raw (RAW YUY2)
==========================================================================
Audio: no sound
Starting playback...
V:   0.0 5740/5740 ??% ??% ??,?% 0 0
No bind found for key 'MOUSE_BTN2'.
V:   0.0 5788/5788 ??% ??% ??,?% 0 0
No bind found for key '`'.
V:   0.0 5890/5890 ??% ??% ??,?% 0 0
v4l2: 5892 frames successfully processed, 5 frames dropped.

Exiting... (Quit)

В tvtime звук есть, но он записывать не умеет.

Пользователь добавил сообщение 17 Апреля 2021, 18:32:11:
Vlc в снеп запускается, судя по выводу. Может в этом проблема

А как по другому ?
« Последнее редактирование: 17 Апреля 2021, 18:32:11 от Yura »

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 3026
    • Просмотр профиля
Re: v4l2 error: cannot open device '/dev/video0': Operation not permitted
« Ответ #8 : 17 Апреля 2021, 18:53:16 »
Так mpv - это плейер. Если надо сохранить, воспользуйтесь ffmpeg.
Вот здесь человек вроде бы добился сохранения и видео и звука через mpv:
https://archlinux.org.ru/forum/topic/20452/
А вообще поищите в Интернете что-нибудь вроде "захватить видео с /dev/video0", или "захват|запись видео с веб-камеры".

« Последнее редактирование: 17 Апреля 2021, 20:45:28 от Peter_I »
Пётр.

Оффлайн Yura

  • Автор темы
  • Участник
  • *
  • Сообщений: 148
  • От Ubuntu 5.04 до Ubuntu 20.04 LTS
    • Просмотр профиля
    • Я на ВКонтакте
Re: v4l2 error: cannot open device '/dev/video0': Operation not permitted
« Ответ #9 : 17 Апреля 2021, 19:00:50 »
Так mpv - это плейер. Если надо сохранить, воспользуйтесь ffmpeg.

Нет, спасибо :-) Я не программист :-) При попытке разобраться - мозги свернул :-)

У меня был опыт давно-давно с fmpeg, пытался сконвертить смонтированное видео в более-менее качественный формат. Убил месяц, толку не добился. С техз пор фмпег вызывает только рвотный рефлекс :-)

Ну и при оцифровке смотреть бы надо что видик крутит чтобы вовремя стоп нажать.

Цитировать
Вот здесь человек вроде бы добился сохранения и видео и звука через mpv:
https://archlinux.org.ru/forum/topic/20452/
А вообще поишите в Интернете что-нибудь вроде "захватить видео с /dev/video0", или "захват|запись видео с веб-камеры".

Искал. Самое внятное именно с vlc: https://yklinux.blogspot.com/2013/10/linux-mintubuntu.html?m=1

Но у него почему-то даже меню настроек vlc другое и все работает.

Пользователь добавил сообщение 17 Апреля 2021, 19:35:05:
Победил MPlayer:

mplayer tv:// -tv driver=v4l2:device=/dev/video0:width=640:height=480:norm=pal-dk:forceaudio:alsa:amode=1:audioid=1:gain=100:input=1:immediatemode=0

Фишка была в последнем параметре: immediatemode=0

Цитировать
immediatemode=<логическое>
                      Значение 0  означает  совместный  захват  и  буферизацию
                      звука  и  видео (по умолчанию для MEncoder).  Значение 1
                      (по умолчанию для MPlayer) означает захват только  видео
                      и прохождение звука через кабель от TV карты к звуковой.

Теперь как-то надо попробовать это все записать...

Пользователь добавил сообщение 17 Апреля 2021, 20:24:50:
Удалось записать с помощью mencoder

mencoder -tv driver=v4l2:device=/dev/video0:width=640:height=480:fps=25:norm=pal:buffersize=1000:brightness=0:contrast=0:alsa:adevice=hw.1,0:audiorate=48100:volume=100:forceaudio:amode=1:input=1 tv:// -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=4000 -srate 48100 -oac mp3lame -of avi -o output.avi
Качество видео и звука соответствует тому что на кассете. Правда не проверил на длинной записи. Записывал минуту. На длинной записи может отставать звук. Проверю завтра. У нас поздно уже.

В любом случае - всем спасибо за помощь и за подсказки.

Если найдется специалист по vlc - будет очень здорово, потому что без просмотра записываемого очень неудобно.
« Последнее редактирование: 17 Апреля 2021, 20:24:50 от Yura »

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 3026
    • Просмотр профиля
Re: v4l2 error: cannot open device '/dev/video0': Operation not permitted
« Ответ #10 : 17 Апреля 2021, 20:44:55 »
Не такая уж трудная вещь ffmpeg. Надо понять её логику - как нумеруются входные файлы, аудио- и видеопотоки - с нуля,
и как применять опцию -map. Я пользуюсь ffmpeg. Для хорошего качества надо применять пресеты, обеспечивающие это качество.
Например, veryslow. Правда, я для перекодирования получаю слабосжатый видеопоток, а кодирую не ffmpeg, а утилитой x264.
https://forum.ubuntu.ru/index.php?topic=314422.0
Пётр.

Dzhoser

  • Гость
Re: v4l2 error: cannot open device '/dev/video0': Operation not permitted
« Ответ #11 : 17 Апреля 2021, 21:23:26 »
покажите вывод
sudo snap listЕсли vlc будет в списке, то ограничения связаны с технологией snap.
Выход из этой ситуации удалить vlc в snap и установить его через репозиторий
sudo snap remove vlcsudo apt install vlc -y
« Последнее редактирование: 19 Апреля 2021, 17:55:44 от Dzhoser »

Оффлайн Yura

  • Автор темы
  • Участник
  • *
  • Сообщений: 148
  • От Ubuntu 5.04 до Ubuntu 20.04 LTS
    • Просмотр профиля
    • Я на ВКонтакте
Re: v4l2 error: cannot open device '/dev/video0': Operation not permitted
« Ответ #12 : 18 Апреля 2021, 05:53:10 »
Не такая уж трудная вещь ffmpeg. Надо понять её логику - как нумеруются входные файлы, аудио- и видеопотоки - с нуля,
и как применять опцию -map. Я пользуюсь ffmpeg. Для хорошего качества надо применять пресеты, обеспечивающие это качество.
Например, veryslow. Правда, я для перекодирования получаю слабосжатый видеопоток, а кодирую не ffmpeg, а утилитой x264.
https://forum.ubuntu.ru/index.php?topic=314422.0

Спасибо за информацию. У меня куча еще несмонтированного видео - все руки не доходят. Как-нибудь займусь. Так что пригодится.

Пользователь добавил сообщение 18 Апреля 2021, 06:04:34:
Dzhoser, да, он был в списке snap. Удалил, поставил и ура ! Уже не ругается. Но все равно ничего не показывает. Внизу бегает бегунок, как будто что-то ожидает, а на экране ничего нет. В логах vlc:

main: Запуск vlc с интерфейсом по умолчанию. Используйте 'cvlc' для запуска vlc без интерфейса.
main: playlist is empty
v4l2 error: cannot set format: No such device
v4l2 error: cannot open device '/dev/video0': No such file or directory
v4l2 error: cannot open device '/dev/video0': No such file or directory
-- logger module stopped --

ЗЫ: вот тут вот опечаточка:

sudo ap install vlc -y
надо

sudo apt install vlc -y
« Последнее редактирование: 18 Апреля 2021, 06:46:16 от Yura »

Оффлайн SergeyIT

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5583
  • Все по палатам!
    • Просмотр профиля
Re: v4l2 error: cannot open device '/dev/video0': Operation not permitted
« Ответ #13 : 19 Апреля 2021, 14:03:14 »
Yura, попробовал у себя vlc
Есть AverMedia EZMaker PCI на 2 компах.
На одном компе используется вход Copmosite1 - Vlc работает.
На другом - вход S-Video - Vlc не показывает.
Извините, я все еще учусь

Dzhoser

  • Гость
Re: v4l2 error: cannot open device '/dev/video0': Operation not permitted
« Ответ #14 : 19 Апреля 2021, 18:02:44 »
Yura, покажите lsusb

 

Страница сгенерирована за 0.039 секунд. Запросов: 22.