Mamy urządzenie z kamerą analogową. Mamy kartę, która pobiera i digitalizuje. Wszystko to odbywa się bezpośrednio. W tej chwili wymiana sprzętu nie jest opcją, ale musimy tak napisać kod, że widzimy ten kanał wideo w czasie rzeczywistym, niezależnie od jakiegokolwiek sprzętu lub zmian systemu operacyjnego w przyszłości.Implementacja kamery IP
W tej linii wybieramy Qt, aby zaimplementować graficzny interfejs użytkownika, aby wyświetlić ten kanał kamery. Jeśli jednak przejdziemy na platformę Linux lub inną platformę wbudowaną w przyszłości i zmienimy inny sprzęt (w tym fizyczne urządzenie, w którym znajduje się sampler kamery/wideo), będziemy musieli również zmienić oprogramowanie wyświetlania kamery, a to będzie ból, ponieważ musimy go zintegrować z naszym GUI.
Proponowałem migrację do bardziej abstrakcyjnego modelu, w którym dane są przesyłane przez gniazdo do GUI, a wideo jest wyświetlane na żywo po przeanalizowaniu ze strumienia gniazda.
Po pierwsze, czy to dobry pomysł, czy zły pomysł?
Po drugie, jak wprowadziłbyś taką rzecz? W jaki sposób samplery wideo dają zwykle użyteczne wyniki? Jak mogę wypchnąć to wyjście przez gniazdo? Kiedy znajduję się na końcu odbierającym analizującym dane wyjściowe, skąd mam wiedzieć, co zrobić z wyjściem (w jaki sposób uzyskać wyjście do renderowania)? Jedyne, co mogę wymyślić, to zapisanie każdej próbki do pliku, a następnie wyświetlenie zawartości pliku za każdym razem, gdy pojawi się nowa próbka. Wydaje mi się to nieskuteczne dla mnie rozwiązaniem, gdyby w ogóle zadziałało.
Jak polecasz poradzić sobie z tym? Czy są dostępne jakieś biblioteki międzyplatformowe?
Dziękuję.
edytuj: jestem skłonny zaakceptować sugestie czegoś innego, niż to, co jest wymienione powyżej.
Rozumiem, skąd pochodzisz, ale lokalna akceleracja sprzętowa może znajdować się całkowicie na innym urządzeniu lub na tym samym urządzeniu. W tej chwili sprowadza się przez USB do wyświetlacza. Jeśli rzucimy ideę gniazdek, co jest w porządku, czy znasz jakieś LGPL lub własnościowe wieloplatformowe biblioteki, które pomogą osiągnąć takie rzeczy w Qt? –
Proszę również dodać spację lub coś do swojej odpowiedzi, aby dać jej +1. mówi, że głosowanie jest zbyt stare, aby się zmienić. –