On-Line видео через IP камеру

Главные вкладки

Аватар пользователя starcomputer starcomputer 2 апреля 2011 в 7:01

Возникло желание сделать трансляцию видео через IP-камеру.
Камера DSC-2121. Можно подключить напрямую к инету, в моем случае через домашний роутер DIR-320.
Далее пошли мучения с поиском и доработкой скрипта.
В результате получился такой код:

<DIV align=center>
<object id="xplugApplet" classid="java:xplug.class"
java_codebase="http://ХХХ.ХХХ.ХХХ.ХХХ"
type="application/x-java-applet"
archive="xplug.jar"
name="xplugApplet" height="480" width="640">
<param name="archive" value="xplug.jar">
<param name="code" value="xplug">
<param name="codebase" value="http://ХХХ.ХХХ.ХХХ.ХХХ/dcsclictrl.cab#version=1,0,0,2609">
<param name="scriptable" value="true">
<param name="name" value="cvcs">
<param name="type" value="application/x-java-applet;version=1.6">
<param name="menuheight" value="40"> <param name="RemotePort" value="80">
<param name="Timeout" value="10000"> <param name="mayscript" value="true">
<param name="xmode" value="preview"> <param name="productID" value="DCS-2121">
<param name="profileid" value="3"> <param name="bg" value="0xd5dfea">
<param name="inittrigger" value="0"> <param name="imageWidth" value="640">
<param name="imageHeight" value="480"> <param name="webEvent" value="0">
<param name="pageContext" value="Basic Z3Vlc3Q6">
<param name="microphone" value="0"> <param name="speaker" value="0">
<strong> Ваш браузер не имеет встроенной поддержки Java Plug-in. <br>
<a href="http://www.java.com/ru/download/manual.jsp">
Установите последнюю версию Java Plug-in отсюда.
</a>
</strong>
</object>
</DIV>

ХХХ.ХХХ.ХХХ.ХХХ - это IP Вашей камеры. Впрочем можно указывать и в "нормальном" виде - http://my_account.dlinkddns.com
На стороне клиента должна быть предустановлена Ява. Впрочем если ее не будет, появится сообщение с адресом закачки.
Проверял на ИЕ, Опере, Фоксе.
Пример реализации
(Не всегда работает. Для камеры нужен статический IP, а у меня псевдостатический, через www.dlinkddns.com)
В настройках камеры нужно создать пользователя guest с пустым паролем.

Комментарии

Аватар пользователя Shift-Web Shift-Web 2 апреля 2011 в 12:24

Ф топку Java, как клиентское приложение через браузер. Медленно инициализируется, долго устанавливается, дороже в реализации, весьма специфично.

Аватар пользователя starcomputer starcomputer 2 апреля 2011 в 14:58

Не заметил долготы особой. Тем паче ставится один раз и сама обновляется.
...........
Есть другие предложения ?
А чем дороже ? Она ж бесплатная Smile

Аватар пользователя starcomputer starcomputer 12 апреля 2011 в 19:58

Второй вариант решения:

<script language="JavaScript" type="text/javascript">
function InitActiveX(){
   dcscontrol1.RemoteHost="ХХХ.ХХХ.ХХХ.ХХХ";
   dcscontrol1.RemotePort="80";
   dcscontrol1.SetAuthentication('Basic Z3Vlc3Q6');
   dcscontrol1.ProfileID = "1";  //номер профиля
   dcscontrol1.LiveStreamIn (1); //включить видео
//   dcscontrol1.LiveStreamIn (2); //включить звук
}
function initForm(){
   var activeXSize = document.getElementById("dcscontrol1");
   InitActiveX();
   activeXSize.width  = '640';   //размер окна
   activeXSize.height = '480';
}
$(function(){ initForm(); });
</script>
<div align="center">
<object classid="clsid:721700FE-7F0E-49C5-BDED-CA92B7CB1245" codebase="http://ХХХ.ХХХ.ХХХ.ХХХ:80/dcsclictrl.cab#version=1.02,2224&#xA;"
id="dcscontrol1" width="0" height="0">
</object>
</div>
Аватар пользователя AI AI 12 апреля 2011 в 20:11

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

Аватар пользователя starcomputer starcomputer 12 апреля 2011 в 21:09

"AI" wrote:
А чем не нравится родной софт самой камеры???
Вплоть до веб-интерфейса самой камеры, в котором можно смотреть те самые картинки со звуком, ради которых вы городите огород...

И как этот интерфейс вставить в материал на сайте ?
"AI" wrote:
Портфорвардинг в роутере поднять слабо?

Если бы он не был настроен, оно бы вообще не работало.

Аватар пользователя Химический Али Химический Али 12 апреля 2011 в 22:17

"starcomputer" wrote:
И как этот интерфейс вставить в материал на сайте ?

Я просто выдрал код описания ява-апплета из страницы веб-интерфейса камеры и все.

Аватар пользователя starcomputer starcomputer 10 ноября 2015 в 11:47

"AI" wrote:
А чем не нравится родной софт самой камеры???

Тем, что он работает только под IE. Если заходить на камеру под Оперой или еще под чем-то, то все равно требует установки Явы.
...............
Еще один вариант. Годится (вроде) для любых камер. Пробовал под Оперой, IE, Фоксом.
Качаем java-апплет Cambozola http://www.charliemouse.com:8080/code/c ... latest.zip
и файл cambozola.jar из папки /dist распаковываем в ту же директорию, где расположена страница, на которой будет воспроизводиться поток, или в корень (public_html).
В страницу вставляем код:

<div align="center">
<applet code="com.charliemouse.cambozola.Viewer" archive="/cambozola.jar" width="640" height="480">
<param name="url" value="http://ххх.ххх.ххх.ххх:нн/video/mjpg.cgi">
</applet>
</div>

Неудобство в том, что требует ввода логина и пароля. (см. вложение).
Видимо перед апплетом нужен какой-то апплет авторизации. Никто не подскажет как побороть ?
Варианты типа http://login:password@xxx.xxx.xxx.xxx:yy не проходят.

Аватар пользователя starcomputer starcomputer 23 апреля 2011 в 11:17

Хочу добавить определение браузера в код.
Сама функция есть:

<?php
function user_browser($agent) {
    
preg_match("/(MSIE|Opera|Firefox|Chrome|Version|Opera Mini|Netscape|Konqueror|SeaMonkey|Camino|Minefield|Iceweasel|K-Meleon|Maxthon)(?:\/| )([0-9.]+)/"$agent$browser_info); // регулярное выражение, которое позволяет отпределить 90% браузеров
        
list(,$browser,$version) = $browser_info// получаем данные из массива в переменную
        
if (preg_match("/Opera ([0-9.]+)/i"$agent$opera)) return 'Opera '.$opera[1]; // определение _очень_старых_ версий Оперы (до 8.50), при желании можно убрать
        
if ($browser == 'MSIE') { // если браузер определён как IE
                
preg_match("/(Maxthon|Avant Browser|MyIE2)/i"$agent$ie); // проверяем, не разработка ли это на основе IE
                
if ($ie) return $ie[1].' based on IE '.$version// если да, то возвращаем сообщение об этом
                
return 'IE '.$version// иначе просто возвращаем IE и номер версии
        
}
        if (
$browser == 'Firefox') { // если браузер определён как Firefox
                
preg_match("/(Flock|Navigator|Epiphany)\/([0-9.]+)/"$agent$ff); // проверяем, не разработка ли это на основе Firefox
                
if ($ff) return $ff[1].' '.$ff[2]; // если да, то выводим номер и версию
        
}
        if (
$browser == 'Opera' && $version == '9.80') return 'Opera '.substr($agent,-5); // если браузер определён как Opera 9.80, берём версию Оперы из конца строки
        
if ($browser == 'Version') return 'Safari '.$version// определяем Сафари
        
if (!$browser && strpos($agent'Gecko')) return 'Browser based on Gecko'// для неопознанных браузеров проверяем, если они на движке Gecko, и возращаем сообщение об этом
        
return $browser.' '.$version// для всех остальных возвращаем браузер и версию
}
?>

А вот сложить все это вместе мозгов не хватает Sad

Аватар пользователя voip voip 25 апреля 2012 в 20:40

"AI" wrote:
Опубликовано AI в вт, 12/04/2011 - 20:11.А чем не нравится родной софт самой камеры???
Вплоть до веб-интерфейса самой камеры, в котором можно смотреть те самые картинки со звуком, ради которых вы городите огород...
Портфорвардинг в роутере поднять слабо?

С вами все понятно... одним словом линуксоид...(ирония а не похвала)

"starcomputer" wrote:
(Cambozola)
Неудобство в том, что требует ввода логина и пароля. (см. вложение).
Видимо перед апплетом нужен какой-то апплет авторизации. Никто не подскажет как побороть ?
Варианты типа http://login:password@xxx.xxx.xxx.xxx:yy не проходят.

Подскажу малеха вам. я тоже долго мучился с подобной авторизацией как http://login:password@xxx.xxx.xxx.xxx:yy решить проблемку возможно только отключив авторизацию юзеров в самой камере... в результате IE даже корректно начинает работать (с комбозай)
мой пример с DCS-923L