feat(dashcam): mobile layout fix + optional hw-encode conversion on import

- yaris.css: on mobile (<576px) hide file/size/date/upload cols, show
  filename inside thumb cell, icon-only buttons, dash-actions-td nowrap
- local-videos.js: filename in thumb cell for mobile; Converting badge with
  spinner; auto-refresh every 10s while any file is converting
- app_video.py: CONVERT_SETTING, is_convert_enabled(), queue_convert(),
  _convert_bg() — h264_v4l2m2m + aac faststart, deletes original on success
- app_dash.py: call queue_convert() after each successful copy on import
- app_settings.py: expose video_convert_enabled in get/save settings
- settings.html: toggle for 'Convert imported videos for web playback'

Co-authored-by: Copilot <[email protected]>
This commit is contained in:
Mathieu Moran
2026-08-10 00:30:59 -04:00
co-authored by Copilot
parent dd2f95b9c1
commit 01704d5429
7 changed files with 130 additions and 18 deletions
+3
View File
@@ -520,6 +520,9 @@ def copy_files(source_folder, destination_folder, relative_paths=None):
try:
shutil.copy2(abs_path, dest_path)
copied += 1
# Queue background conversion if enabled (import app_video lazily to avoid circular import)
from modules import app_video as _app_video
_app_video.queue_convert(rel_path)
except OSError as e:
errors.append(f"{rel_path}: {e}")