summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--localwebsite/handlers/MiscHandler.php89
-rw-r--r--localwebsite/templates-web/cams.twig21
2 files changed, 0 insertions, 110 deletions
diff --git a/localwebsite/handlers/MiscHandler.php b/localwebsite/handlers/MiscHandler.php
index efaca22..4e7291e 100644
--- a/localwebsite/handlers/MiscHandler.php
+++ b/localwebsite/handlers/MiscHandler.php
@@ -19,95 +19,6 @@ class MiscHandler extends RequestHandler
$this->tpl->render_page('sensors.twig');
}
- public function GET_cams() {
- global $config;
-
- list($hls_debug, $video_events, $high, $camera_ids) = $this->input('b:hls_debug, b:video_events, b:high, id');
- if ($camera_ids != '') {
- $camera_param = $camera_ids;
- $camera_ids = explode(',', $camera_ids);
- $camera_ids = array_filter($camera_ids);
- $camera_ids = array_map('trim', $camera_ids);
- $camera_ids = array_map('intval', $camera_ids);
- } else {
- $camera_ids = array_keys($config['cam_list']['labels']);
- $camera_param = '';
- }
-
- $tab = $high ? 'high' : 'low';
-
- // h264
- $js_hls_config = [
- 'opts' => [
- 'startPosition' => -1,
-
- // // https://github.com/video-dev/hls.js/issues/3884#issuecomment-842380784
- 'liveSyncDuration' => 2,
- 'liveMaxLatencyDuration' => 3,
- 'maxLiveSyncPlaybackRate' => 2,
- 'liveDurationInfinity' => true,
- ],
- 'debugVideoEvents' => !!$video_events,
- ];
- if ($hls_debug)
- $js_hls_config['debug'] = true;
-
- // h265
- $js_h265webjs_config = [
- // https://github.com/numberwolf/h265web.js/blob/master/README_EN.MD#freetoken
- 'token' => 'base64:QXV0aG9yOmNoYW5neWFubG9uZ3xudW1iZXJ3b2xmLEdpdGh1YjpodHRwczovL2dpdGh1Yi5jb20vbnVtYmVyd29sZixFbWFpbDpwb3JzY2hlZ3QyM0Bmb3htYWlsLmNvbSxRUTo1MzEzNjU4NzIsSG9tZVBhZ2U6aHR0cDovL3h2aWRlby52aWRlbyxEaXNjb3JkOm51bWJlcndvbGYjODY5NCx3ZWNoYXI6bnVtYmVyd29sZjExLEJlaWppbmcsV29ya0luOkJhaWR1',
- ];
-
- $js_config = [
- 'isLow' => $tab == 'low',
- 'proto' => config::get('cam_hls_proto'),
- 'host' => config::get('cam_hls_host'),
- 'camIds' => $camera_ids,
- 'camLabels' => array_map(fn($id) => $config['cam_list']['labels'][$id], $camera_ids)
- ];
-
- $cams_by_type = [];
- $include_h264 = false;
- $include_h265 = false;
- foreach ($camera_ids as $camera_id) {
- $var_name = 'include_'.$config['cam_list']['full'][$camera_id]['type'];
- $cams_by_type[$camera_id] = $config['cam_list']['full'][$camera_id]['type'];
- $$var_name = true;
- }
- if ($include_h264) {
- $js_config['hlsConfig'] = $js_hls_config;
- $this->tpl->add_static('hls.js');
- }
- if ($include_h265) {
- $js_config['h265webjsConfig'] = $js_h265webjs_config;
- $this->tpl->add_static('h265webjs-dist/missile.js');
- $this->tpl->add_static('h265webjs-dist/h265webjs-v20221106-reminified.js');
- }
-
- $js_config['camsByType'] = $cams_by_type;
-
- $hls_key = config::get('cam_hls_access_key');
- if ($hls_key)
- setcookie_safe('hls_key', $hls_key);
-
- // $cam_filter = function($id) use ($config, $camera_ids) {
- // return in_array($id, $camera_ids);
- // };
-
- $this->tpl->set([
- 'js_config' => $js_config,
-
- // 'hls_access_key' => $config['cam_hls_access_key'],
-
- 'camera_param' => $camera_param,
- // 'cams' => array_values(array_filter($config['cam_list'][$tab], $cam_filter)),
- 'tab' => $tab,
- 'video_events' => $video_events
- ]);
- $this->tpl->set_title('Камеры');
- $this->tpl->render_page('cams.twig');
- }
-
public function GET_cams_stat() {
global $config;
list($ip, $port) = explode(':', $config['ipcam_server_api_addr']);
diff --git a/localwebsite/templates-web/cams.twig b/localwebsite/templates-web/cams.twig
deleted file mode 100644
index 38b2954..0000000
--- a/localwebsite/templates-web/cams.twig
+++ /dev/null
@@ -1,21 +0,0 @@
-{% include 'bc.twig' with {
- history: [
- {text: "Камеры" }
- ]
-} %}
-
-<nav>
- <div class="nav nav-tabs" id="nav-tab">
- <a href="/cams/{{ camera_param ? camera_param~"/" : "" }}" class="text-decoration-none"><button class="nav-link{% if tab == 'low' %} active{% endif %}" type="button">Low-res</button></a>
- <a href="/cams/{{ camera_param ? camera_param~"/" : "" }}?high=1" class="text-decoration-none"><button class="nav-link{% if tab == 'high' %} active{% endif %}" type="button">High-res</button></a>
- </div>
-</nav>
-
-<div id="videos" class="camfeeds"></div>
-
-{% js %}
-if (isTouchDevice()) {
- addClass(ge('videos'), 'is_mobile');
-}
-Cameras.init({{ js_config|json_encode|raw }});
-{% endjs %} \ No newline at end of file