Logika działania programu streamującego obraz z kamerki

0

Witam, mam zagwostkę odnośnie streamingu obrazu z kamerki internetowej przez internet. Chcę napisać coś podobnego do Skype.

W jaki sposób przesłać obraz video z kamerki przez internet? Czy ta logika jest ok?

  1. Pobieram obraz z kamerki klatka po klatce w postaci bitmap
  2. Wysyłam każdą klatkę z osobna z użyciem socketów do serwera, a serwer do innych klientów (W tym przypadku do innych rozmówców)
  3. Rozmówcy odbierają klatki i tworzy się efekt video z kamerki.

Czy da się przesłać obraz z kamerki przez internet w jakiś lepszy sposób?

1

Wszystkie profesjonalne sposoby kompresują dane. Należy założyć, że każdą klatkę samą w sobie, ale na pewno klatkę PO klatce (różnice między klatkami itd). Naiwny algorytm będzie miał fatalną wydajność

Użyj któregoś ze standardów (nie podpowiem ci konkretnego - w necie znajdziesz wszystko)

0

Czy ta logika jest ok?

Zróbmy szybkie wyliczenie dla kamerki Full HD:

24 [fps] * 1920*1080 * 3 [bajty na piksel] = 142 [megabajty na sekundę]

Ludzie mający dotęp do gigabitowego światłowodu są w stanie z niego maksymalnie wycisnąć 128 megabajtów na sekundę, stąd - jak już możesz przypuszczać - takie rozwiązanie nie ma prawa działać nawet w najbardziej optymalnych warunkach ;-)

Czy da się przesłać obraz z kamerki przez internet w jakiś lepszy sposób?

Obraz wysyłany kamerką musi być kompresowany i musi to następować już po stronie klienta.

1 użytkowników online, w tym zalogowanych: 0, gości: 1