The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Устойчивая Webcam, !*! mikra1, 29-Июл-10, 22:11  [смотреть все]
Здравствуйте, друзья.

Есть у меня вебкамера, есть VLC.
Делаю чтобы велась круглосуточная запись видео в файлы.
Устройство /dev/video0, запись ведется, все чудесно. Если интересно, расскажу в деталях,а пока главное.

Если выдернуть вебкамеру из USB, а затем повторно вставить, то произойдет следующее:
1. VLC выругается, запись прекратит, но не сдохнет.
2. Появится новое устройство /dev/video1, а старое /dev/video0 будет занято, пока VLC не остановишь.
3. VLC перезапускается за счет параметра --run-time и цикла в скрипте каждый час, чтобы ролики были не дольше часа и вменяемых размеров. Если произойдет такое выключение-включение камеры, то будет потеряна запись на срок до 1 часа, что неприемлемо.

Подкиньте идею, как сделать чтобы VLC убивался при отключении вебкамеры.
Строка запуска:

/usr/bin/cvlc v4l2://$dev :input-slave="alsa://hw:1,0" :v4l2-fps=25 :v4l2-caching=300 :v4l2-aspect-ratio=16\:9 --sout '#transcode{vcodec=mp4v,vb=6000,acodec=mp4a,ab=128,channels=1,fps=25,audio-sync,venc=ffmpeg{keyint=30}} :duplicate{dst=std{access=file,mux=mp4,dst='$filmpath$fn'.m4v}}' --run-time $filmlen vlc://quit

При отключении вебкамеры выдает

[0xb6d050c0] v4l2 demux error: Failed to unlock (VIDIOC_QBUF)
[0xb6d050c0] v4l2 demux error: Failed to unlock (VIDIOC_QBUF)
[0xb6d050c0] v4l2 demux error: Failed to wait (VIDIOC_DQBUF)
[0xb6d050c0] v4l2 demux error: Failed to wait (VIDIOC_DQBUF)

  • Устойчивая Webcam, !*! allez, 09:01 , 30-Июл-10 (1)
    >Здравствуйте, друзья.
    >
    >Есть у меня вебкамера, есть VLC.
    >Делаю чтобы велась круглосуточная запись видео в файлы.
    >Устройство /dev/video0, запись ведется, все чудесно. Если интересно, расскажу в деталях,а пока
    >главное.
    >Если выдернуть вебкамеру из USB, а затем повторно вставить, то произойдет следующее:

    Встречный вопрос: а кто и зачем выдергивает камеру из USB-порта?

    • Устойчивая Webcam, !*! mikra1, 19:32 , 30-Июл-10 (2)
      >>Здравствуйте, друзья.
      >>
      >>Есть у меня вебкамера, есть VLC.
      >>Делаю чтобы велась круглосуточная запись видео в файлы.
      >>Устройство /dev/video0, запись ведется, все чудесно. Если интересно, расскажу в деталях,а пока
      >>главное.
      >>Если выдернуть вебкамеру из USB, а затем повторно вставить, то произойдет следующее:
      >
      >Встречный вопрос: а кто и зачем выдергивает камеру из USB-порта?

      Ну всяко может быть, камера на домашнем сервере работает. ТэЗэ вобщем такое :)

      Как решить красиво не придумал. Сделал watchdog скрыпт, который каждую секунду проверяет, не появилось ли нового девайса /dev/videoX, где X от 0 до 9. Если появился, то убивает старый VLC и поднимает новый на новом девайсе. Конечно подключение второй вебкамеры зациклит механизм, но пока можно и так.

      Новые идеи все еще актуальны, пишите свои предложения :)

      • Устойчивая Webcam, !*! anonymous, 20:09 , 30-Июл-10 (3)
        >[оверквотинг удален]
        >Ну всяко может быть, камера на домашнем сервере работает. ТэЗэ вобщем такое
        >:)
        >
        >Как решить красиво не придумал. Сделал watchdog скрыпт, который каждую секунду проверяет,
        >не появилось ли нового девайса /dev/videoX, где X от 0 до
        >9. Если появился, то убивает старый VLC и поднимает новый на
        >новом девайсе. Конечно подключение второй вебкамеры зациклит механизм, но пока можно
        >и так.
        >
        >Новые идеи все еще актуальны, пишите свои предложения :)

        Ну можно попробовать с помощью udev пускать скрипт при появлении/удалении камеры.

        • Устойчивая Webcam, !*! mikra1, 07:28 , 01-Авг-10 (4)
          >Ну можно попробовать с помощью udev пускать скрипт при появлении/удалении камеры.

          Почитаем, почитаем...

        • Устойчивая Webcam, !*! mikra1, 08:00 , 01-Авг-10 (5)
          >Ну можно попробовать с помощью udev пускать скрипт при появлении/удалении камеры.

          udevadm info говорит про камеру следующее
            looking at device '/devices/pci0000:00/0000:00:1d.7/usb2/2-6/2-6:1.0/video4linux/video0':
              KERNEL=="video0"
              SUBSYSTEM=="video4linux"
              DRIVER==""
              ATTR{name}=="UVC Camera (046d:080a)"
              ATTR{index}=="0"

          Эх, если бы тут выдавался серийник моей камеры... А тож ведь от недостатков моего решения это избавиться не поможет.
          Но эстетически несомненно красивее :)




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру