• Как программно работать с USB веб-камерой в Linux использую C/С++?

    @Viilture
    Разработчик С/С++/Python (Desktop/Embedded)
    Насколько я знаю OpenCV Не имеет функционала получения видео. Она использует кодеки вроде VLC, FFMEPG, Gstreamer.
    Исходники большинства кодеков доступны и лежат гитлабах, гитхабах, вы их легко найдете. Там весь этот исходный код есть.
    Но для использования в продуктах вручную ничего писать не советую, вы очень много чего не учтете. На это нужны годы и тысячи пользователей вашей библиотеки.
    А если вы хотите изучить это для опыта, то советую разобрать протокол RTSP. Веб камеры мало где применяются, а все остальные камеры обычно используют RTSP, UDP или Http протокол.
    RTSP насколько я представляю работает так: На камере ставить RTSP сервер, клиент на удаленной программе подключается к этому серверу и может отправить команду PLAY - начать проигрывание, после чего сервер начинает непрерывно посылать клиент кадры(Обычно сжатые), STOP, PAUSE.
    по UDP с камеры просто идут картинки в сжатом или не сжатом виде. Это быстро, но ошибки передачи не как не исправляются, иногда видео будет моргать.
    по HTPP также, как под UDP просто на GET запрос в ответ присылают картинки в ответ.
    Ответ написан
    Комментировать
  • С чего начать изучение ML, AI и т. д. чтобы успеть к сроку?

    @Viilture
    Разработчик С/С++/Python (Desktop/Embedded)
    Какая нейросеть? Скорее всего в интернете уже есть готовые гайды, можно сначало по ним пройтись, сделать курсач , а потом уже допиливать.
    Ответ написан
    Комментировать
  • Можно ли назвать это обучение?

    @Viilture
    Разработчик С/С++/Python (Desktop/Embedded)
    Личное мое мнение:
    При обучение программирования сначало нужно просто ставить себе задачу и выполнять её, как можно интенсивнее, не важно, что вы большую часть не понимаете, главное, чтобы программа работала, постепенно пробелы будут уменьшаться.
    Потом вы начнете понимать больше, потом все пойдет в память.
    После этого нужно начинать читать книги о том, как это все работает внутри на самом деле, а не как этим пользоваться. Это уже 2 этап обучения.
    Потом другие языки, матан, алгоритмы и тд. Новые технологии(Хотя их не так много на самом деле, лучше сконцентрироваться на чем то реально важном и ценном. Программист, который просто умеет писать на С++,Python,Java и C# менее ценный, чем программист с очень глубокими практическими познаниями вышмата и алгоритмов, физики(Смотря, что за отрасль))
    Ответ написан
    2 комментария