Emulacja kamerki.

dział ogólny

Emulacja kamerki.

Nowy postprzez Undefined2 » środa, 29 grudnia 2010, 18:59

Witam. Znam podstawy C++ ale chciałbym napisać dość skomplikowany program. Pomoże - podpowie mi ktoś?? mianowicie program ma działać w następujący sposób: Odczytywać pliki w formacie gif ewentualnie w formacie filmu np. mpg. Odczytany obraz ma być, tak jak w temacie, obrazem z kamerki internetowej. Program ma być znacznie bardziej skomplikowany ale resztę postaram się sam napisać. Jest w ogóle możliwe napisanie takiego programu w domowym zaciszu?? Proszę o pomoc
Avatar użytkownika
Undefined2
Bladawiec
Bladawiec
 
Posty: 5
Dołączył(a): środa, 29 grudnia 2010, 18:50
Podziękował : 0
Otrzymał podziękowań: 0
System operacyjny: brak systemu
Kompilator: DEV ewentualnie inne...
Gadu Gadu: 0
    Windows 7Firefox

Re: Emulacja kamerki.

Nowy postprzez Cyfrowy Baron » czwartek, 30 grudnia 2010, 12:12

Z Twojego opisu zrozumiałem tylko, że chcesz napisać program do obsługi kamerki internetowej. Nie posiadasz jeszcze żadnego kodu, nie masz nawet pomysłu na to jak ten kod stworzyć, więc trudno będzie Tobie uzyskać konkretną pomoc. Od czegoś musisz zacząć, więc może przerób ten tutorial: "Łapanie" obrazu z kamery . Jeżeli stworzysz program opisany w tym tutorialu, to dalej będzie już łatwo i wtedy ewentualnie możesz uzyskać bardziej konkretną pomoc na tym forum.


Odczytywać pliki w formacie gif ewentualnie w formacie filmu np. mpg.


Obsługa formatu gif wymaga dodatkowych bibliotek, co się zaś tyczy formatu mpeg, to środowisko C++Builder zawiera biblioteki obsługujące ten format. Nie wiem jednak jak to się na do środowiska DEV, którego uzywasz.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Emulacja kamerki.

Nowy postprzez Undefined2 » czwartek, 30 grudnia 2010, 22:41

Dziękuje za odpowiedź. Nie chodzi mi o "Łapanie" obrazu z kamery ", tylko odwrotnie "rzucanie do kamery". Po prostu chcę aby obrazek gif był wyświetlany jako obraz z kamerki np. na Skype. Znam naprawdę podstawy C++, wiec proszę o właśnie jakiegoś fachowca który by napisał taki program. Bardzo mi na tym zależy i to prawda, że nawet nie mam pomysłu jak zacząć.
Avatar użytkownika
Undefined2
Bladawiec
Bladawiec
 
Posty: 5
Dołączył(a): środa, 29 grudnia 2010, 18:50
Podziękował : 0
Otrzymał podziękowań: 0
System operacyjny: brak systemu
Kompilator: DEV ewentualnie inne...
Gadu Gadu: 0
    Windows 7Firefox

Re: Emulacja kamerki.

Nowy postprzez Cyfrowy Baron » czwartek, 30 grudnia 2010, 23:05

To wymaga znajomości protokołów SKYPE. Poza tym nie wiem czy można wrzucić (grafiki raczej nie) plik wideo w miejsce obrazu z kamery ze SKYPE, gdyż protokoły sieciowe zwyczajnie tego nie dopuszczą.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Emulacja kamerki.

Nowy postprzez polymorphism » piątek, 31 grudnia 2010, 12:14

Protokoły sieciowe nie mają z tym zbyt wiele wspólnego, bo to nie one decydują o źródle danych, tylko klient (aplikacja). Według mnie jedynym sensownym rozwiązaniem jest napisanie jakiegoś drivera wirtualnej kamerki, który podstawiałby jakiś konkretny obraz. Sprawa oczywiście nie jest prosta, być może jest jakieś prostsze rozwiązanie, ale nie wydaje mi się. Na Twoim miejscu poszukałbym w sieci gotowych rozwiązań.
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Emulacja kamerki.

Nowy postprzez Cyfrowy Baron » piątek, 31 grudnia 2010, 12:35

Zgodzę się co do tego, że o źródle danych nie decydują protokołu sieciowe, jednak by cokolwiek wysłać na SKYPE potrzebna jest znajomość tych protokołów. Poza tym chyba SKYPE jest w jakiś sposób zabezpieczony przed komunikacją z programami innymi niż SKYPE. Jak jednak rozumiem Ty sugerujesz żeby napisać jakiś program - driver, który będzie udawał kamerkę, a w SKYPE będzie można go wybrać jako kamerkę.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Emulacja kamerki.

Nowy postprzez polymorphism » piątek, 31 grudnia 2010, 12:49

(...) jednak by cokolwiek wysłać na SKYPE potrzebna jest znajomość tych protokołów.

Tak, ale Ty piszesz o komunikacji z klientem skype poprzez sieć, coś jak serwer. A tu nie o tym mowa. Chodzi o to, żeby taki schemat:

    kamera -> driver -> klient skype -> sieć (serwer)

zamienić na:

    driver wirtualnej kamery -> klient skype -> sieć (serwer)

Protokół, jak i klient, nie ma tu żadnego znaczenia.
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Emulacja kamerki.

Nowy postprzez Cyfrowy Baron » piątek, 31 grudnia 2010, 12:57

Wszak podobnie napisałem:

Cyfrowy Baron napisał(a):Jak jednak rozumiem Ty sugerujesz żeby napisać jakiś program - driver, który będzie udawał kamerkę, a w SKYPE będzie można go wybrać jako kamerkę.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Emulacja kamerki.

Nowy postprzez Undefined2 » piątek, 31 grudnia 2010, 18:16

Wirtualny sterownik to jest właśnie to o co mi chodziło:) jednak nie mogę nigdzie znaleźć kodu źródłowego - nadal szukam jeśli coś znajdę to wrzucę. Ehh
Avatar użytkownika
Undefined2
Bladawiec
Bladawiec
 
Posty: 5
Dołączył(a): środa, 29 grudnia 2010, 18:50
Podziękował : 0
Otrzymał podziękowań: 0
System operacyjny: brak systemu
Kompilator: DEV ewentualnie inne...
Gadu Gadu: 0
    Windows 7Firefox

Re: Emulacja kamerki.

Nowy postprzez polymorphism » piątek, 31 grudnia 2010, 19:06

A po co szukasz źródeł? Szukaj gotowych rozwiązań, jak np. to -> http://www.soundmorning.com/index.php. Jak dobrze poszukasz, to może znajdziesz wersję freeware tego typu softu.
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Emulacja kamerki.

Nowy postprzez Undefined2 » piątek, 31 grudnia 2010, 19:14

Mam ten program ale nie spełnia moich oczekiwań. Tak jak napisałem w pierwszym poście "program ma być znacznie bardziej skomplikowany ale resztę postaram się sam napisać".
Avatar użytkownika
Undefined2
Bladawiec
Bladawiec
 
Posty: 5
Dołączył(a): środa, 29 grudnia 2010, 18:50
Podziękował : 0
Otrzymał podziękowań: 0
System operacyjny: brak systemu
Kompilator: DEV ewentualnie inne...
Gadu Gadu: 0
    Windows 7Firefox

Re: Emulacja kamerki.

Nowy postprzez polymorphism » piątek, 31 grudnia 2010, 19:24

Wprawdzie nie wiem, jakie są te Twoje podstawy C++, ale wydaje mi się, że porywasz się z motyką na słońce. Pisanie, czy modyfikowanie driverów to wyższa szkoła jazdy. I żeby bawić się w to, trzeba znać więcej niż podstawy C++.
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Emulacja kamerki.

Nowy postprzez Undefined2 » piątek, 31 grudnia 2010, 20:05

Wiem że mało wiem ale myślę że warto spróbować.Znam instrukcję warunkowe, działania na zmiennych,tablicach umiem pisać pętle itp. Nie znam za bardzo bibliotek i wyszukanych funkcji. Jeśli mam gotowy program mogę go zmodyfikować inaczej nic nie zdziałam. Znalazłem taki kod.. Może mi go ktoś wyjaśnić?? tzn skąd bierze źródło wyświetlanego obrazu. Proszę :|
Avatar użytkownika
Undefined2
Bladawiec
Bladawiec
 
Posty: 5
Dołączył(a): środa, 29 grudnia 2010, 18:50
Podziękował : 0
Otrzymał podziękowań: 0
System operacyjny: brak systemu
Kompilator: DEV ewentualnie inne...
Gadu Gadu: 0
    Windows 7Firefox

Re: Emulacja kamerki.

Nowy postprzez polymorphism » piątek, 31 grudnia 2010, 20:45

No tak, zapomniałem, że można to jeszcze zrealizować poprzez filtry DirectShow, a nie drivery WDM, co znaaacznie upraszcza sprawę. Ogólnie rzecz biorąc, żeby to skompilować, musisz mieć zainstalowane SDK DirectX'a. Oczywiście musisz także przelecieć dokumentację, żeby zrozumieć architekturę DirectShow'a - bez tego nawet nie podchodź do modyfikowania źródeł.

Cały czas uważam, że to ponad Twoje możliwości.

tzn skąd bierze źródło wyświetlanego obrazu.

Z metody CVCamStream::FillBuffer.
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Emulacja kamerki.

Nowy postprzez masnyk » sobota, 8 stycznia 2011, 01:55

ew nagrać film na wideo i wpiąć je do karty tv, która będzie się legitymować jako kamera WWW ? bo o taki efekt chodzi? chcesz stworzyć wirtualny sprzęt i podrzucić mu fikcyjny stream obrazu ?
Avatar użytkownika
masnyk
Bladawiec
Bladawiec
 
Posty: 5
Dołączył(a): piątek, 7 stycznia 2011, 16:20
Podziękował : 1
Otrzymał podziękowań: 0
System operacyjny: Windows7
Kompilator: bcb6
Gadu Gadu: 0
    Windows 7Firefox

Następna strona

  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Google [Bot] i 4 gości