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
+7
View File
@@ -39,6 +39,13 @@
<span class="small text-muted">(0 = keep forever)</span>
</div>
<div class="invalid-feedback" data-error-for="local_video_retention_days"></div>
<div class="form-check form-switch mt-3">
<input class="form-check-input" type="checkbox" role="switch" id="video-convert-enabled">
<label class="form-check-label" for="video-convert-enabled">
Convert imported videos for web playback
<span class="text-muted small d-block">Re-encodes MOV→MP4 using hardware encoder in background after import. Original deleted when done.</span>
</label>
</div>
</div>
</div>