Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Kamera Ip, Adresy Ip, Sieci .. - dostęp do kamery z poza sieci lokalnej

vic_rattlehead 21 Nov 2012 10:10 5166 6
Optex
  • #1
    vic_rattlehead
    Level 9  
    Witam,
    Sytuacja jest troszkę skomplikowana, generalnie chodzi o dostęp do kamery IP z poza sieci lokalnej aczkolwiek nie jest to takie proste.
    Najpierw napiszę co chcę uzyskać.
    Klient kupuje dowolną kamerę IP (z listy rekomendowanych przeze mnie/ współpracujących z moimi appsami). Klient wtyka kamerkę do swojej lokalnej sieci i praktycznie na tym się kończy dla niego zabawa. Teraz odpalając aplikację powinien widzieć obraz zarówno będąc w sieci lokalnej jak i poza nią.
    Teraz napiszę czym dysponuję.
    Dysponuję aplikacją która chodzi w jego sieci lokalnej, czyli mogę na bieżąco namierzyć ip kamery (kamera podłączona po dhcp) i przekazać je dalej.
    Kolejna aplikacja jest na smartphonie, służy ona między innymi do wyświetlania obrazu z kamery, jeżeli jesteśmy w sieci lokalnej obraz się wyświetla, tutaj nie ma problemu.
    Mam jeszcze serwer ze stałym adresem IP który może w razie potrzeby uczestniczyć w komunikacji pomiędzy aplikacjami.
    W tym momencie za pomocą serwera jestem w stanie przesyłać pewne informacje pomiędzy aplikacją na smartphonie a aplikacją na pececie znajdującą się w innej sieci. Do obrazu z kamerki dobieram się za pomocą takiego adresu:
    "http://" + IP + "/videostream.cgi?rate=0&user=" + login + "&pwd="+ pass +"&resolution=8"

    W jaki sposób mogę się połączyć z kamerką ?

    (Idealnym rozwiązaniem byłoby (gdyby coś takiego istniało) podwójne adresowanie, w sensie, łączyłbym się z adresem "http://" + IPzew + "/" + IPwewkam + "/video....")

    Może ktoś ma jakiś pomysł jak to wszystko zaprojektować, ewentualnie podrzucić link do jakiegoś bardziej zaawansowanego forum
  • Optex
  • #2
    piterus99
    Level 43  
    Mógłbyś skorzystać z mechanizmu UPnP, który przekieruje Ci porty sam, ale nie wszystkie routery to potrafią i jest to dość śliski mechanizm.
    Quote:
    "http://" + IPzew + "/" + IPwewkam + "/video....")

    Raczej nie bardzo wchodzi w grę, dlatego klienta mógłbyś poprosić o zdalny dostęp do routera.
    Nie uwzględniłeś sytuacji, w której klient w ogóle nie ma zewnętrznego adresu, a z tego co kojarzę, żadna z kamer nie ma opcji "wdzwaniania" się do jakiegoś VPNa, a to jest jedyna sytuacja, która Cię ratuje.

    Popatrz za tym UPnP, klienci nie są na tyle nieogarnięci, żeby zgodnie z instrukcją nie przekierować sobie portu. A jak są, to mają zazwyczaj tyle kasy, żeby poprosić lokalnego speca o pomoc i dać mu 20 zł na paliwo.
  • Optex
  • #3
    vic_rattlehead
    Level 9  
    Klient niestety nie może nic robić samemu no i płacenie komuś też niestety nie wchodzi w grę, nie ten target.
    Jeżeli chodzi o aplikacje to łączę je ze sobą za pomocą serwera z zewnętrznym ip. Jedna aplikacja coś nadaje, serwer przekazuje do drugiej, druga odpowiada, serwer przekazuje do pierwszej. Czy da się jakoś ten serwer wykorzystać żeby dobrać się do kamery?
  • #4
    piterus99
    Level 43  
    Quote:
    Dysponuję aplikacją która chodzi w jego sieci lokalnej,

    Ta aplikacja pracuje cały czas? Jeśli tak, to ona może być pośrednikiem w transmisji obrazu do serwera. Wtedy aplikacja sama (pierwsza) łączy się do serwera, połączenie jest już nawiązane, więc komunikacja będzie dwustronna. Pytanie tylko, czy możesz pozwolić sobie na to, żeby ten program chodził non stop - myślę, że nie taka jest idea tej wpinanej do LANu kamerki.

    Możesz do kamery ewentualnie dokładać jakiś router nawiązujący połączenie VPN i przez nie tunelować kamerę, ale wtedy aplikacja kliencka nie będzie mieć jej w swojej podsieci.
  • #5
    vic_rattlehead
    Level 9  
    Ta aplikacja będzie chodziła non stop. Tylko pytanie, jakim obciążeniem będzie dla tej apki pośredniczenie w przesyłaniu obrazu. Apka będzie chodzić na windowsie CE.
    Na jakiej zasadzie te pośredniczenie by działało
  • #6
    piterus99
    Level 43  
    To już pytanie dla programisty, który będzie tą aplikację pisał. Musi ona odebrać strumień z kamery i przesłać poprzez już nawiązane połączenie do serwera - można coś kombinować z transportem przez SSH, zestawiając odwrotny tunel, ale trzeba być pewnym tego, co się robi.
  • #7
    vic_rattlehead
    Level 9  
    no właśnie ja jestem programistą, tylko że sieciowe sprawy to nie moja działka, nie znam się na tym, dopiero się tego uczę, aplikacja na windowsie ce będzie robiła wiele rzeczy, pytanie tylko czy przesyłanie tego obrazu nie obciąży procka (pewnie 400-500mhz) zbyt mocno :/