Очень скоро мы будем работать над проектом с открытым исходным кодом, который выполняет множество задач, и один из модулей касается захвата прямой трансляции с камеры на основе USB в течение 48 часов и перезаписи в непрерывном цикле. Это будет происходить параллельно с другими операциями в приложении. Мы также должны отобразить захваченный канал за 48 часов пользователю в качестве опции меню.
Я хотел бы, чтобы вы все предложили подходящий стек технологий с открытым исходным кодом с учетом аудио / видео части модуля, без этой функции я определенно могу использовать Qt для своей работы, но с этой функцией становится трудным предложением. Я разработал приложения с графическим интерфейсом для Qt на платформе Linux, но не смог придумать что-то, что может записывать и отображать видео в приложении. У Qt есть фонон, но его настройка - это кошмар. Ранее некоторые из вас предлагали v4linux. Я попытался скомпилировать пример программы capture.c на компьютере RHEL 4, и он выдал следующие ошибки.
usr/src/kernels/2.6.9-5.EL-i686/include/linux/videodev2.h:436: warning: no semicolon at end of struct or union
/usr/src/kernels/2.6.9-5.EL-i686/include/linux/videodev2.h:436: error: syntax error before '*' token
/usr/src/kernels/2.6.9-5.EL-i686/include/linux/videodev2.h:438: error: syntax error before '*' token
/usr/src/kernels/2.6.9-5.EL-i686/include/linux/videodev2.h:438: warning: data definition has no type or storage class
/usr/src/kernels/2.6.9-5.EL-i686/include/linux/videodev2.h:439: error: syntax error before '}' token
/usr/src/kernels/2.6.9-5.EL-i686/include/linux/videodev2.h:810: error: field `win' has incomplete type
Так что зашел в тупик, к тому же я не нашел конкретных реальных примеров того же. Кроме того, веб-сайт не обновляется часто, что указывает на застой в процессе разработки.
Поскольку приложение будет графическим с пользовательским взаимодействием на основе меню, оно должно использовать Qt или что-то подобное для графической части. Головная боль в том, что я не смог понять, как я могу реализовать / интегрировать функцию захвата / отображения видео в фиктивном приложении (моя попытка была с Qt, возможно, некоторые из вас сделали это с какой-то другой библиотекой или языком) ,
EDIT:
Смог скомпилировать программу, импортировав локальную копию videodev2.h и добавив оператор define для включения макроса __user. Но теперь он не будет работать, так как не может найти устройство / dev / video. Так что опять застрял в тупике в video4linux