Перейти к содержимому
Compvision.ru
Qubert

Передача потока видео по интернету (OpenCV)

Recommended Posts

Здравствуйте!

Проблема заключается в самой теме:

можно ли вообще передать видео в режиме live на какой-то сервер или нет?

при этом, не используя ffmpeg или live555

Большое спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Что-то вроде этого?

http://nashruddin.com/Streaming_OpenCV_Videos_Over_the_Network

Тут MJPG-Streamer + OpenCV:

http://roboforum.ru/forum51/topic11554.html

А почему не хотите использовать сторонние библиотеки, если не секрет?

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Что-то вроде этого?

http://nashruddin.com/Streaming_OpenCV_Videos_Over_the_Network

Тут MJPG-Streamer + OpenCV:

http://roboforum.ru/forum51/topic11554.html

А почему не хотите использовать сторонние библиотеки, если не секрет?

первая ссылка абсолютно в точку, большое спасибо!

вторая тоже очень интересна

просто сейчас хотел бы еще больше разобраться с самой OpenCV, тем более я думал, что там возможно пригодится PHP, с которым бы еще хотелось больше практики, а так против ffmpeg да и live555 ничего против не имею, но их буду использовать, если ничего так не получится, либо, только когда получится )

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Хороший подход :)

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А не могли бы Вы подсказать насчет первой ссылки http://nashruddin.com/Streaming_OpenCV_Videos_Over_the_Network ?

просто я не совсем понял:

не подскажете, намного ли она отличается от библиотеки Winsock2 и будет ли она работать через роутер?

Большое спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не, сокеты и в Африке сокеты, pthread можно скачать для VS отдельно (а можно использовать потоки windows), так что все вроде бы собираемо (при некоторой обработке напильником). Через роутер должно работать (если порт профорвардить).

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

вот у меня всегда была проблема работы с роутером, даже, когда делал простой чат еще на делфи даже)

я ставил программу-сервер на свой ПК, а программу-клиент отсылал другу. так ведь и вправду удобней? не нужно узнавать IP-адрес человека, которому посылаешь прогу

а как можно профардить? тоесть не могли бы Вы скинуть ссылку, где объяснено, как Вы делаете?

а то я, скорее всего, неправильно открывал порты, поэтому ничего не работало

большое спасибо !!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А как же Вы узнаете IP, связь то через внешний адрес идет?

Удачный, по моему пример здесь: http://www.wowwee.com/static/support/rovio/manuals/Rovio_Manual.pdf

на 38 странице.

И здесь:

http://www.dlink.ru/ru/faq/68/275.html

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо!

ну IP - то я свой точно могу узнать! можно, ведь, если к ПК подключен роутер ( у меня выделенка, знаю, что роутеры ее "убивают"), узнать свой IP с помощью таких сервисов как: http://2ip.ru/ ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А что то типа такого не хотите приспособить: http://www.no-ip.com/services/managed_dns/free_dynamic_dns.html ?

иногда это удобно (personal use бесплатно).

Уточнил ссылку.

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ух ты, вот это да!

а, так как я говорил можно делать, тоесть это реально?

или все-таки неправильно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можно, но надо каждый раз узнавать оба IP, и сообщать друг другу, чтобы установить соединение.

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

но это ведь только на самом сервере должно быть установлено?

или я могу поставить себе на ПК, скинуть прогу-клиент другу, и все ок?)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а зачем узнавать оба IP? ведь даже в этом примере IP нужен только клиенту:

memset(&server, 0, sizeof(server));


    server.sin_family = AF_INET;


    server.sin_addr.s_addr = inet_addr(server_ip);


    server.sin_port = htons(server_port);


а серверу просто открыть доступ: 


memset(&server, 0, sizeof(server));


    server.sin_family = AF_INET;


    server.sin_port = htons(PORT);


    server.sin_addr.s_addr = INADDR_ANY;

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну хотя наверное я ошибаюсь, давно этим занимался :)

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

:lol:

а можно последний мелкий вопрос:

мне нужно профардить порты только на ПК,где прога - сервер или нужно еще и на ПК, где висит сам клиент?

Большое Вам спасибо ! :lol:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так Вы же открываете порт на сервере (запрос на соединение обычно ведь клиент посылает) тоже, комп может воспринять это как сетевую атаку и отсечь "вредные пакеты", если Вы ему не втолкуете обратное.

Так что думаю что нужно (но что Вам мешает проверить, включить/отключить форвардинг 2 мин. делов).

Да и еще, не попадите на какой-нибудь стандартный порт, могут быть проблемы.

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×