Jump to content
Sign in to follow this  
kom46

Захват кадра

Recommended Posts

"Аутентификация

Осуществляется посредством HTTP Digest Authentication. Имя пользователя и пароль ожидаются в кодировке UTF8."

непонятно зачем это сделано, вместо простого процесса аутентификации в запросе Get, этим Вы уменьшаете количество достоинств Вашей системы, в частности простоту.

Нельзя ли Выложить пример аутентификации посредством HTTP Digest Authentication на C#? Мало достойных источников информации.

Share this post


Link to post
Share on other sites

Web-server также поддерживает Basic Authentication, которая много проще Digest, но слаба почти также, как передача параметров в строке запроса.

Почти все современные средства разработки предоставляют готовые реализации этих видов авторизации.

Вот пример digest-авторизации для C#, но, за исключением синтаксических различий, он подойдет и для других языков, использующих .NET:

http://www.stickler.de/en/information/code-snippets/httpwebrequest-digest-authentication.aspx

Передача параметров авторизации в Get-запросе хуже даже чем просто доступ без авторизации, ибо в любом сегменте сети по пути запроса можно подсмотреть данные учетной записи, которые можно потом использовать и для подключения PC-версией.

Возможно, в будущем мы добавим и такой тип авторизации, но рекомендуем всем использовать, по возможности, наиболее защищенные способы доступа к источникам информации, связанной с обеспечением безопасности, коим является сервер видеонаблюдения.

Share this post


Link to post
Share on other sites

Спасибо, Иван!

А вот еще конкретный вопрос. В приведенном примере есть строка

myCredentialCache.Add(myUri, "Digest", myNetworkCredential);

Понятно, зачем она. Непонятно какие myUri писать. Например, что писать, если я хочу запросить список всех камер?Что писать, когда я запрашиваю свойства одной камеры. И самое главное что писать, когда я запрашиваю один jpeg снимок с камеры или mjpeg поток? В форуме есть ссылка на файл спецификаций, но там мутновато написано. Например для запроса снимка написано GET /ethieSho5ching4e?color=0&resolution=640x480 HTTP/. А что такое здесь ethieSho5ching4e?Аналогично для запроса потока что такое /cee9rahtoo4uRooh? Короче нужен конкретный текст (примеры) myUri для этих случаев.В интернете также пишут, что если прошел digest аутентификацию по приведенной Вами схеме для одного закрытого ресурса, то для другого закрытого ресурса это несрабатывает? Что скажите? (ссылка на источник [/color]http://stackoverflow...-httpwebrequest )

 

И наконец, чтобы не лепить свою декодировку потока можно было бы использовать из AForge.NET Framework компонент videoSourcePlayer. Ему надо только указать поток типа MJPEGStream mjpegSource = new MJPEGStream( form.URL ). Но как это все совместить с digest аутентификацией?

Заранее спасибо!

Share this post


Link to post
Share on other sites

Иван!

Взял текст предложенного Вами примера, создал Uri Вашего демонстрационного сервера Uri myUri = new Uri("http://demo.devline.ru:1780/"); Попытался аутентифицироваться, получил исключение.

{"Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.

 

В то же время если создать Uri Uri myUri = new Uri("http://demo.devline.ru/"); то все получатся, но конект возникает на порт 1818. Вот содержание ответа сервера

"<html>\r\n<head>\r\n<meta http-equiv=\"refresh\" content=\"3; url=http://46.38.56.85:1818\">\r\n</html>" Почему? Ведь порт 1818 это для мобильных телефонов, а 1870 для обычных компов. Почему коннект отвергается на порт 1870?

 

Попытка законнектиться с Uri myUri = new Uri("http://demo.devline.ru/cameras "); дает исключение "The remote server returned an error: (404) Not Found".

Share this post


Link to post
Share on other sites
Guest 110

Захват кадра идет через порт вебсервера. По умолчанию 9786, но на Демо он 1818. Порт 1870 на демо сервере используется для подключения клиентской части.

Share this post


Link to post
Share on other sites

То есть для захвата на ДЕМО надо подключаться к порту 1818?

А как команды писать? Какой текст для перечисления камер, для снимка, для видеопотока?

Share this post


Link to post
Share on other sites

То есть для захвата на ДЕМО надо подключаться к порту 1818?

А как команды писать? Какой текст для перечисления камер, для снимка, для видеопотока?

При работе с нашим демо сервером лучше используйте ip 46.38.56.85

port 1818

 

По умолчанию порт вебсервера 9786. Все альтернативные клиенты работают через него.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×