LINUX.ORG.RU

motion не проходит авторизацию на ip-камере TRENDnet TV-IP551WI

 , , ,


0

1

Камера пишет, но хотелось бы упростить передачу данных с камеры, повысив количество кадров в секунду и по возможности со звуком. Сейчас сама камера заливает через ftp протокол 3 кадра в секунду на сервер (функционал от производителя, больше 3 нельзя), то есть перезаписывает один и тот-же файл в jpg формате. На сервере стоит motion который, почему-то при netcam_url = file:///home/tadam/video/1cam.jpg не видит «пришедшую» локальную картинку, но работает через netcam_url = ftp://server.ip/tadam/video/1cam.jpg + авторизация (через «дебри» смотрит на свой же диск) и пишет видео из постоянно обновляющейся картинки.

Мне не хочется использовать ftp сервер вообще, но я не могу преодолеть авторизацию на камере с помощью «логина:пароля» в netcam_userpass, уже перепробовал все значения netcam_http (1.0, keep_alive, 1.1; судя по curl нужно использовать 1.0 об этом ниже), итог один и тот-же:

root:~# motion -n
[0] Processing thread 0 - config file /etc/motion/motion.conf
[0] Motion 3.2.12 Started
[0] ffmpeg LIBAVCODEC_BUILD 3547904 LIBAVFORMAT_BUILD 3544067
[0] Thread 1 is from /etc/motion/motion.conf
[0] motion-httpd/3.2.12 running, accepting connections
[0] motion-httpd: waiting for data on port TCP 8080
[1] Thread 1 started
[1] libjpeg decompression failure on first frame - giving up!
[1] Could not fetch initial image from camera
[1] Motion continues using width and height from config file(s)
[1] Resizing pre_capture buffer to 1 items
[1] Started stream webcam server in port 8081
[1] Retrying until successful connection with camera
[1] libjpeg decompression failure on first frame - giving up!
[1] Retrying until successful connection with camera
[1] libjpeg decompression failure on first frame - giving up!
Специально делал ошибку в логине для доступа к камере, чтобы проверить как поведет себя motion, вывод команды один и тот-же, соответственно сделал вывод, что дело в авторизации.

Хочу motion посылать за изображением к самой камере, в браузере текущее изображение можно получить по ссылке http://camera.my/image.jpg + авторизация. В идеале нужно писать видео и звук с камеры доступные по http://camera.ip/mjpeg.cgi + авторизация.

Через curl могу получить доступ к выше указанным ресурсам, что означает успешное прохождение авторизации, например:

root:/# curl -I --digest -v -u "SUPERlogin:SUPERpassword" -G "http://camera.ip/mjpeg.cgi"                                                                               * Hostname was NOT found in DNS cache
*   Trying camera.ip...
* Connected to camera.ip (camera.ip) port 80 (#0)
* Server auth using Digest with user 'SUPERlogin'
> HEAD /mjpeg.cgi HTTP/1.1
> User-Agent: curl/7.35.0
> Host: camera.ip
> Accept: */*
>
* HTTP 1.0, assume close after body
< HTTP/1.0 401 Authorization Required
HTTP/1.0 401 Authorization Required
< Server: alphapd
Server: alphapd
< Date: Tue Jan 20 23:32:40 2015
Date: Tue Jan 20 23:32:40 2015
< Pragma: no-cache
Pragma: no-cache
< Cache-Control: no-cache
Cache-Control: no-cache
< Content-type: text/html
Content-type: text/html
< WWW-Authenticate: Digest realm="TV-IP551WI",qop="auth", nonce="9ed0421b8a39b251d323f3c5ca068779"
WWW-Authenticate: Digest realm="TV-IP551WI",qop="auth", nonce="9ed0421b8a39b251d323f3c5ca068779"

<
* Closing connection 0
* Issue another request to this URL: 'http://camera.ip/mjpeg.cgi'
* Hostname was found in DNS cache
*   Trying camera.ip...
* Connected to camera.ip (camera.ip) port 80 (#1)
* Server auth using Digest with user 'SUPERlogin'
> HEAD /mjpeg.cgi HTTP/1.0
> Authorization: Digest username="SUPERlogin", realm="TV-IP551WI", nonce="9ed0421b8a39b251d323f3c5ca068779", uri="/mjpeg.cgi", cnonce="OTQzMzBlNTNkYzNiMmY3MDAwMDI2NTlkMDAwMjM1NzY=", nc=00000001, qop=auth, response="9cc98c30a599fb8bf7dea6e77eb571ba"
> User-Agent: curl/7.35.0
> Host: camera.ip
> Accept: */*
>
* HTTP 1.0, assume close after body
< HTTP/1.0 200 OK
HTTP/1.0 200 OK
< Server: alphapd
Server: alphapd
< Date: Tue Jan 20 23:32:41 2015
Date: Tue Jan 20 23:32:41 2015
< Pragma: no-cache
Pragma: no-cache
< Cache-Control: no-cache
Cache-Control: no-cache
< Content-Type: multipart/x-mixed-replace;boundary=--video boundary--
Content-Type: multipart/x-mixed-replace;boundary=--video boundary--

<
* Closing connection 1

Только 1 вопрос: как на motion пройти авторизацию на камере? Заранее спасибо за любую помощь!

+ авторизация — настройки в motion.conf: netcam_userpass и netcam_http.

Кому интересно, софт для FTP на сервере OpenVZ: vsftpd.

А ты посмотри через веб интерфейс от камеры, там наверняка пример строки авторизации есть. Насчет записи аудио, я перестал интересоваться этим когда ясно стало, что motion это не поддерживает.

Frost ★★★
()
Ответ на: комментарий от Frost

Нет там ничего, интерфейс очень простой. И повторю, через curl могу пройти авторизацию.

motion не поддерживает аудио запись совсем или в моем случае?

Спасибо за ответ!

web-user
() автор топика
Ответ на: комментарий от Frost

Это я видел. Где взять картинки и видео со звуком, я знаю. Вопрос другой, почему не проходит авторизацию motion.

web-user
() автор топика
Ответ на: комментарий от web-user

Eсли до субботы сам не разберёшься я посмотрю как у меня на даче сделано (там 4 разные ip камеры, 2 с авторизацией). Могу сказать что только с одной камерой мучения были, пришлось её через rtsp подключать, но завелось всё и сейчас работает какой месяц. Причем раньше пробовал zoneminder, тяжелый и глючный (запись видео не отключалась периодически).

Насчет аудио «из коробки» motion - не поддерживает. Но есть вот что: http://www.lavrsen.dk/foswiki/bin/view/Motion/SoundAudioRecording но я не пробовал.

Frost ★★★
()

как на motion пройти авторизацию на камере?

У меня это так:

netcam_url http://192.168.0.232/video1.mjpg
netcam_userpass USER:PASSWORD

В идеале нужно писать видео и звук с камеры

Насчет звука не уверен, что получится - поищи, конечно. У меня по событию с первого потока от камеры запускается ffmpeg, который пишет второй поток (с нормальной частотой кадров и со звуком, все в h264)

YAR ★★★★★
()
Ответ на: комментарий от Frost

Спасибо! Если не сложно попробуйте проверить у камер авторизацию с помощью curl, очень интересно какая у вас авторизация (digest или basic, а может что-то другое?), вот команды:

точно digest:

# curl -I --digest -v -u "SUPERlogin:SUPERpassword" -G "http://camera.ip/mjpeg.cgi"

точно basic:

# curl -I --basic -v -u "SUPERlogin:SUPERpassword" -G "http://camera.ip/mjpeg.cgi"

anyauth подбор авторизации (работает типа браузера):

# curl -I --anyauth -v -u "SUPERlogin:SUPERpassword" -G "http://camera.ip/mjpeg.cgi"

На основе результатов, можно будет приблизительно дать ответ на вопрос умеет ли motion проходить digest авторизацию.

web-user
() автор топика
Ответ на: комментарий от Frost

Ничего страшного, так я и не смог пройти авторизацию. Как сможите, дайте знать, пожалуйста.

web-user
() автор топика
28 марта 2015 г.

но работает через netcam_url = ftp://server.ip/tadam/video/1cam.jpg + авторизация

извини, только сейчас дорвался до камер... я настраивал именно так, как у тебя с авторизцией, захват раз в секунду, thread.conf с одной из камер в jpg:

locate_motion_mode on
locate_motion_style box
netcam_url http://192.168.10.21/IMAGE.JPG (например)
netcam_userpass admin: 123 (например)
Но это не совсем то, о чем ты спрашивал. А у тебя как успехи?

Frost ★★★
()
Последнее исправление: Frost (всего исправлений: 4)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.