Для экспериментов прикупил достаточно дорогую игрушку - камера D-Link DCS-2121 (ip wifi камера), стоимость порядка 7000р
Начал разбираться с потоками и натолкнулся на задачу которую пока не решил. Суть следующая: камера образует видеопоток и пересылает его по протоколу rtsp (в браузере ссылка вида rtsp://192.168.1.242/play1.sdp ), требуется некий драйвер который из этого потока съэмулирует локальную web камеру. Интернет пестрит подобными запросами, ссылаются на пару софтинок - "VH Multi Camera Studio" (софт был бесплатен но теперь перестал быть таковым) и webcamXP (бесплатен для одной камеры). Первый не нашел, со вторым пока не разобрался.
ip wifi камеру можно купить в два раза дешевле лично я её брал под двойную задачу - так же организовывать удаленное управление через web сейчас главное суть - изучить механизм использования ip камер
если интересно есть самодельный отличный плагин к GStreamer, который может выполнять на лету шейдеры. Тоесть можно на GPU делать всю видеобработку. Отличается от аналогичного GSTGL тем что не надо ничего компилить. Просто суешь текст шейдера как параметр..
CHANGELOG: * Some cleaning and bug fix * Already parsed variables are now loaded from cache * Added gst_gl_shadervariables_cache_delete(char* variables) method * Method renamed to gst_gl_shadervariables_parse(GstGLShader *shader,char *variables) * "uniform" property renamed to "vars" * "vars" property can be changed using gstcontroller, see helloworld.c: usage: mkfifo fifo ; helloworld rtsp://cam invert.fs & echo "vec4 color=vec4(1,0,0,0);" > fifo
KNOWN BUGS: * commented g_free() in gstglshadervariables.c
TODO: * The fragment shader could be parsed first so that datatypes don't have to be specified. * Allow to change the shader while the pipeline is playing
NOTES: * Every simple gl filter plugin using could be implemented with plugin glshader instead: glshader location=<fragment_shader_file> [ preset=<variables_file> ] [ vars=<vars> ]
* Other plugins can also use gst_gl_shadervariable_parse() so that parameters can be changed in the command line without modifying the plugin; or while the pipeline is playing, using gstcontroller.