Files
CoRE.Vision/frontend/mobile.html
T
git_admin 6f9142a795 mobile: both modes use the branded .pjs player
Replace the split mobile UI (live = round pause button, archive = native
<video controls>) with one branded player for both modes, ported from the
desktop ArchivePlayer (.pjs) and kept self-contained in the mobile bundle
so the live desktop is untouched.

- Live: branded player with pause/play + fullscreen only (no seekbar).
- Archive: branded player with full seek (transcode virtual timeline,
  seek = restart transcode with -ss) + playback speed (0.5/1/2/5x).
- H.264 server transcode path unchanged; touch-friendly always-on bar.

Verified end-to-end on .79: live.mp4 200 video/mp4, play.mp4 200,
duration_s present for the seek timeline.

VERSION 0.0.153 -> 0.0.154

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 00:08:55 +05:00

46 lines
1.9 KiB
HTML

<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover">
<meta name="theme-color" content="#161a22">
<title>CoRE.Vizion+ — Mobile</title>
<link rel="stylesheet" href="/static/mobile.css">
</head>
<body>
<div class="m-app">
<header class="m-head">
<button class="m-burger" id="m-burger" aria-label="Меню"></button>
<span class="m-title" id="m-title">Live</span>
</header>
<!-- бутерброд-меню: выбор режима (Live / Архив) -->
<div class="m-scrim" id="m-scrim" hidden></div>
<aside class="m-drawer" id="m-drawer">
<div class="m-drawer-head"><span class="m-brand">CoRE<span>.Vizion+</span></span></div>
<button class="m-nav active" data-view="live"><span class="i"></span>Live</button>
<button class="m-nav" data-view="arch"><span class="i">🗄</span>Архив</button>
</aside>
<!-- LIVE: одна камера + выбор камеры (плеер только пауза/плей) -->
<section class="m-view" id="view-live">
<div class="m-bar">
<select id="m-live-cam" class="m-sel" title="Камера"></select>
</div>
<div class="m-stage"><div class="player-wrap" id="m-live-box"></div></div>
</section>
<!-- АРХИВ: камера + дата + список записей (плеер с перемоткой) -->
<section class="m-view" id="view-arch" hidden>
<div class="m-bar">
<select id="m-arch-cam" class="m-sel" title="Камера"></select>
<input type="date" id="m-arch-date" class="m-date" title="Дата">
</div>
<div class="m-stage"><div class="player-wrap" id="m-arch-box"></div></div>
<div class="m-seglist" id="m-seglist"></div>
</section>
</div>
<script src="/static/mobile.js"></script>
</body>
</html>