vfp7
Newbie-
Posts
10 -
Joined
-
Last visited
vfp7's Achievements
Explorer (1/14)
0
Reputation
-
Это не камера, это сервер видеонаблюдения на motion под FreeBSD, он выдает видеопоток используя ffmpeg в своем коде. Принцип работы motion в общем случае ( можно настроить как угодно ) - собираем потоки и ( или ) картинки с камер видеонаблюдения, обрабатываем на предмет движения, если есть движение - то запись на диск, а так же одновременно выдаем в видеопотоке обработанные данные, все это использует ffmpeg.
-
Такие варианты я тоже продумывал, но в том то и дело, что теоретически HTML5 через тэг video позволяет легко и красиво решить эту проблему. По спецификации тэга video autoplay должно АВТОМАТИЧЕСКИ начаться воспроизведение видеопотока, а в действительности - этого не происходит. Вручную все отрабатывает, autoplay - не работает, значит надо искать хитрый болт на 16 - java кодом с имитировать ручной запуск воспроизведения. А вот здесь моих знаний явно не хватает. Я думаю лучший вариант - по событию "завершение загрузки страницы" вызвать как то обработку video.play() Описание метода play с ресурса http://w3pro.ru/article/vvedenie-v-html5-video : Элементы <video> и <audio> являются экземплярами новых медиа-элементов HTML5 DOM, которые предоставляют мощный API, позволяя разработчикам управлять воспроизведением видео с помощью целого ряда новых методов и свойств JavaScript. Давайте взглянем на некоторые наиболее интересные из них, позволяющие создать собственный простой контроллер: play() и pause() Совершенно очевидно, эти методы начинают и останавливают воспроизведение видео. play() начнёт показ видео с текущей позиции воспроизведения. Когда фильм впервые загружен, этой позицией будет первый кадр ролика. Обратите внимание, что нет метода stop() — если вы хотите остановить воспроизведение и "перемотать" на начало ролика, вы должны использовать pause() и самостоятельно программно изменить текущую позицию воспроизведения.
-
Прилагаю один из текущих кодов системы видеонаблюдения, он то и ступорится на слабой машине из за использования img src : <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html dir="ltr" lang="ru"><head> <meta content="text/html;charset=UTF-8" http-equiv="Content-Type"> <title>Видеонаблюдение СМК</title> <script> window.onbeforeunload = function (oEvent) { document.getElementById('close').src = 'close.php'; oEvent.returnValue = " "; } </script><!--[if IE]> <script> window.onbeforeunload = function () { document.getElementById('close').src = 'close.php'; window.event.returnValue = " "; } </script> <![endif]--> <meta content="motion GUI" name="description"> </head><body style="overflow: visible; color: white; background-color: black;"> <div style="width: 100%; height: 100%;"> <table style="border: 1px solid ; width: 100%; height: 100%;" border="1" cellpadding="1" cellspacing="1"> <caption style="caption-side: right;"><br> </caption> <tbody> <tr> <td style="text-align: left; vertical-align: top;"> <a href="view.html?port=8083" target="newtab"> <img style="border: 1px solid ; width: 99%; height: 99%;" alt="Периметр 2" src="http://security:8083/stream.mjpg" align="middle" hspace="1" vspace="1"> </a> </td> <td style="text-align: left; vertical-align: top;"> <a href="view.html?port=8084" target="newtab"> <img style="border: 1px solid ; width: 99%; height: 99%;" alt="Периметр 3" src="http://security:8084/stream.mjpg" align="middle" hspace="1" vspace="1"> </a> </td> <td style="text-align: left; vertical-align: top;"> <a href="view.html?port=8081" target="newtab"> <img style="border: 1px solid ; width: 99%; height: 99%;" alt="Отгрузка" src="http://security:8081/stream.mjpg" align="middle" hspace="1" vspace="1"> </a> </td> </tr> <tr> <td style="text-align: left; vertical-align: top;"> <a href="view.html?port=8085" target="newtab"> <img style="border: 1px solid ; width: 99%; height: 99%;" alt="Периметр 4" src="http://security:8085/stream.mjpg" align="middle" hspace="1" vspace="1"> </a> </td> <td style="text-align: left; vertical-align: top;"> <a href="view.html?port=8086" target="newtab"> <img style="border: 1px solid ; width: 99%; height: 99%;" alt="Периметр 5" src="http://security:8086/stream.mjpg" align="middle" hspace="1" vspace="1"> </a> </td> <td style="text-align: left; vertical-align: top;"> <a href="view.html?port=8082" target="newtab"> <img style="border: 1px solid ; width: 99%; height: 99%;" alt="Проходная" src="http://security:8082/stream.mjpg" align="middle" hspace="1" vspace="1"> </a> </td> </tr> <tr> <td style="text-align: center; vertical-align: middle;"> <a href="ftp://security/" target="newtab"> архив записей </a> </td> <td style="text-align: center; vertical-align: middle;"> <a rel="contact" href="mailto:info@info.ru?subject=%D0%9E%D1%82+%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D1%8B+%D0%A1%D0%9C%D0%9A">сообщение по эл. почте </a> </td> </tr> </tbody> </table> </div> <iframe src="blank.html" id="close" style="border: 0pt none ; height: 0pt; width: 0pt;">&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp; amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;a mp;amp;amp;amp;amp;amp;amp;amp;lt;/body&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp; amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;a mp;amp;amp;amp;amp;amp;amp;amp;gt; &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp; amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;a mp;amp;amp;amp;amp;amp;amp;amp;lt;/html&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp; amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;a mp;amp;amp;amp;amp;amp;amp;amp;gt; </iframe> </body></html>
-
Почти, только используя img src мы будем использовать отображение потока в виде перегружаемых картинок, а при использовании video мы используем установленный в ОС проигрыватель, с поддержкой 2D и 3D ускорений ... Тег img src используется в текущей версии системы видеонаблюдения, и при 8 камерах начинаются затычки рендеринга, HTML5 с тэгом video как раз и должен исправить эту проблему, если удастся победить автопроигрывание
-
Вот код с реальными данными, это поток с сервера видеонаблюдения аквапарка (найдено в google), все совершено аналогично - нет автопроигрывания: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>Видеонаблюдение в HTML5</title> </head> <body onload="java script:video.play()"> <p><video class="video-stream" autoplay="autoplay" controls="controls" preload="none" src="http://video.kva-kva.ru:8081/stream.mjpg" type="video/mjpg; codecs=mjpg"> Смените Вашего осла на рыжика!</video></p> </body> </html>
-
Добрый день Вы меня можете помнить по теме видеонаблюдение ... (© Симсоны) Не могу победить маленькую для профи, но неразрешимую для ламеров, то есть для меня проблемку: нужно добиться автопроигрывания видеопотока с сервера видеонаблюдения, в коде ниже поток запустится только после правого клика на картинке "contlol" и выборе пункта "открыть видео", а надо чтобы сразу автоматически пошло отображение видеопотока. Код: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>Видеонаблюдение в HTML5</title> </head> <body onload="java script:video.play()"> ### здесь я пытался при загрузке страницы включить отображение видеопотока ### <p><video class="video-stream" autoplay="autoplay" controls="controls" preload="none" src="http://security:8081/stream.mjpg" type="video/mjpg; codecs=mjpg"> Смените Вашего осла на рыжика!</video></p> </body> </html>
-
Всем кому это интересно, конечный ( на данный момент ) работоспособный код (вызывается из родительской страницы по ссылке вида "view.html?port=8081" ), отображает вид с камеры в новой вкладке, при клике мышью - закрывается это окно. Тему можно считать закрытой, еще раз большое спасибо, продолжаю кодировать другие функции системы видеонаблюдения и отшлифовывать код этой страницы: <html dir="ltr" lang="ru"> <head> <meta content="text/html; charset=UTF-8" http-equiv="content-type"> <title>Просмотр камеры</title> <meta content="view ip camera" name="description"> </head> <body onclick="java script:window.close()" style="color: white; background-color: black;" alink="#000099" link="#000099" vlink="#990099"> <br> <script type="text/javascript"> /* <![CDATA[ */ document.write('<p><img style="width: 640px; height: 480px;" alt="camera" src="http://security:'+location.search.substring(1).split("=")[1]+'"></p>' ); /* ]]> */ </script> <br> <br> </body> </html>
-
Огромное спасибо! Дело в том, что с явой я мягко говоря не дружу, моя специализация сети, просто приходится как всегда быть универсалом, и лезть в не свои отрасли Я всегда придерживаюсь принципа кесарю - кесарево, но никто из моих знакомых кодеров не смог найти времени, что бы помочь разработать морду к пакету motion, который я использую в системах видеонаблюдения. Еще раз огромное спасибо, теперь дело пойдет дальше ...
-
Заковырка в том, что отдельно src="http://security:8081" и getparam(port) отрабатывают, а вот как их подружить между собой ... Перелопатил инет, и понял что никто еще не делал это
-
hi Хоть лопни, но не могу заставить заработать отображение данных с видеокамеры. На главной странице системы видеонаблюдения размещена таблица с уменьшенным изображением потока от камер наблюдения, при клике по картинке камеры, вызывается новое окно с передачей в виде параметра строки порта сервера ( для разных камер он разный, вида view.html?port=8081 ), которое должно отобразить увеличенную картинку с этой камеры Порт передается без проблем, а на странице не могу отобразить объект img src с url склееным из адреса сервера и переданного номера порта Код этой страницы: <html dir="ltr" lang="ru"> <head> <meta content="text/html; charset=UTF-8" http-equiv="content-type"> <title>view</title> <script> function getParam(sParamName){ var Params = location.search.substring(1).split("&"); // отсекаем «?» и вносим переменные и их значения в массив var variable = ""; for (var i = 0; i < Params.length; i++){ // пробегаем весь массив if (Params.split("=")[0] == sParamName){ // если это искомая переменная — бинго! if (Params.split("=").length > 1) variable = Params.split("=")[1]; // если значение параметра задано, то возвращаем его return variable; } } return ""; } </script> </head> <body> <br> <img style="width: 640px; height: 480px;" alt="camera" src="http://security:" +getparam(port) > // ЗДЕСЬ КАК Я ПОНИМАЮ И НЕ ОТРАБАТЫВАЕТ <br> </body> </html>