FastMediaSorter VR-редакція
Що таке VR-редакція?
FastMediaSorter VR - виділена збірка FastMediaSorter для VR-шоломів: Meta Quest 3, Quest Pro, Quest 2 та пристроїв Android XR (Samsung Project Moohan та надалі). Використовує той самий код і ті самі функції, що й Standard, плюс OpenXR-заготовку для стереоскопічного рендерингу в шоломі.
VR-редакція - не окремий додаток, а той самий код, зібраний як vr product flavor з додатковим шаром OpenXR-рендерингу.
Як справи сьогодні: повноцінний per-eye іммерсивний режим у шоломі вже працює в sideload-збірці noLegal (див. Встановлення VR через sideload). Флейвор vr - той, що призначений для Meta Horizon Store / Google Play - збирає ту саму OpenXR-заготовку, але рендеринг у шоломі ще не підключений; ця робота заведена в епік S0773. Поки цього не зроблено, встановлення vr дає повний застосунок на шоломі без робочого іммерсивного режиму - для 3D-занурення сьогодні використовуйте noLegal.
Ключові відмінності від стандартної версії
| Функція | Standard | VR (vr / noLegal) |
|---|---|---|
| Crop 3D-контенту (SBS/OU/180/360) в одне око | Є, працює у звичайному плеєрі | Є, той самий код |
| Повний per-eye рендеринг у шоломі | Недоступний | noLegal: так, уже сьогодні. vr: у планах (епік S0773) |
| Ручний override формату + налаштування розпізнавання | Приховані | Активні (вкладка 3D у діалозі Control, блок VR/3D у налаштуваннях Медіа) |
| Wear OS companion | Включений | Не включений |
| Цільові пристрої | Телефони, планшети | Сьогодні - телефони/планшети; шоломи Quest та Android XR - після іммерсивної переробки |
Що ідентично
Все інше працює так само - файлові операції (копіювати, перемістити, видалити, перейменувати), сортування, обране, мережеві диски (SMB, SFTP, FTP), хмарні сховища (Google Drive, OneDrive, Dropbox), субтитри, вибір аудіодоріжки, таймер сну, слайд-шоу та всі елементи навігації. Трансляції включені повністю - відтворення інтернет-радіо та відеопотоків (http/HLS/DASH/RTSP), каталог трансляцій, вбудований аудіоміні-плеєр з ICY-метаданими (станція/трек) та фільтри за категорією і мовою працюють так само, як на телефоні.
Як це працює
-
Single-eye 3D - на будь-якому флейворі: контент SBS/OU/180/360 визначається автоматично (за маркерами в імені файлу, метаданими MP4/Matroska або опційною евристикою за співвідношенням сторін) і обрізається до одного ока, щоб нормально відтворюватися на будь-якому плоскому екрані - телефон, планшет чи звичайне 2D-вікно шолома. Працює з коробки, без VR-збірки.
-
Повне занурення - сьогодні в
noLegal: на Quest чи іншому OpenXR-шоломі зі збіркоюnoLegalзапуск 3D-контенту через бейдж VR у плеєрі, пункт «Open in VR Cinema» в меню файлу в Browse або кнопку «Test Immersive» в налаштуваннях відкриває виділену OpenXR-сесію зі справжнім per-eye рендерингом для SBS/OU/180/360. Перемикання між файлами всередині сесії - лише вперед/назад; будь-яка кнопка, клавіша чи клік закриває сесію і повертає до плоского екрана. -
Флейвор
vr: збирається і встановлюється, але рендеринг у шоломі ще не підключений - поки що працює як Standard, до іммерсивної переробки (епік S0773).
Підтримуваний контент
| Тип контенту | Рендеринг |
|---|---|
| SBS-відео (Side-by-Side) | Crop одного ока всюди; повне per-eye стерео в іммерсивному режимі (noLegal) |
| OU-відео (Over-Under) | Те саме |
| SBS/OU-фото | Crop одного ока всюди; per-eye стерео в іммерсивному режимі (noLegal) |
| 2D-відео / 2D-фото | Звичайне відтворення і показ, як у Standard |
| Аудіо | Стандартне відтворення (успадковане) |
| Інтернет-радіо (http/HLS, ICY) | Вбудоване відтворення через міні-плеєр Трансляцій |
| Відеопотік / RTSP | Повноекранний плеєр, як у Standard; всередині іммерсивної OpenXR-сесії поки недоступний |
Дистрибуція
Сьогодні робочий іммерсивний режим у шоломі є лише в sideload-збірці noLegal. Флейвор vr нижче - передбачуваний канал для магазинів, але рендеринг у шоломі там ще не підключений (епік S0773) - встановлення дає повний застосунок без робочого іммерсивного режиму.
| Магазин | Платформа | Збірка | Статус |
|---|---|---|---|
| Meta Horizon Store | Quest 3 / Quest Pro / Quest 2 | assembleVrRelease |
У планах - іммерсивний режим ще не підключений |
| Google Play | Пристрої Android XR | bundleVrRelease (AAB) |
У планах - іммерсивний режим ще не підключений |
Ім’я пакета: com.sza.fastmediasorter.vr
За робочим 3D-зануренням сьогодні - у sideload-збірку noLegal, див. Встановлення VR через sideload.
Команди збірки
# Debug
.\scripts\builders\build-vr-debug.ps1
# Debug + встановлення на Quest через ADB
.\scripts\builders\build-vr-device.ps1
# Release APK (Meta Horizon Store)
.\scripts\builders\build-vr-release.ps1
# Release AAB + APK (Google Play / Android XR)
.\scripts\builders\build-vr-aab.ps1
# Gradle безпосередньо
.\gradlew.bat assembleVrDebug
.\gradlew.bat assembleVrRelease
.\gradlew.bat bundleVrRelease
Технічні обмеження
- Підтримувана ABI: тільки
arm64-v8a. Meta Quest 2/3/Pro та гарнітури Android XR - виключно 64-бітний ARM; для VR-флейворів не збираються шариarmeabi-v7aчиx86_64. - Мінімальний Android: API 26 (Android 8.0). Quest 2 ≈ Android 10, Quest 3 ≥ Android 12.
- XR-рантайм: для входу в іммерсивний режим потрібен OpenXR 1.1.48+. Без виявленого XR-рантайму додаток працює як звичайно, у плоскому плеєрі - окремого екрана-заглушки немає.
- Нативний код: постачається OpenXR loader AAR плюс
openxr_native.so(C++ міст, зібраний CMake). Додає ~8 МБ нативного навантаження поверх стандартної збірки. - Немає Wear OS companion: у шоломів немає парного годинника, тому
SUPPORT_WEAR_COMPANION = false. - Package ID:
com.sza.fastmediasorter.vrналежить флейворуvr(Store-канал). Sideload-збірка з VR віддається через флейворnoLegalі використовуєcom.sza.fastmediasorter- на одному пристроїvrтаnoLegalможуть співіснувати. - DTS / розширені кодеки: завжди вшиті через
fms-ffmpeg-dts.aar. Hardware Quest скрізь arm64, тож single-ABI AAR достатньо кожному VR-користувачу.
Канали дистрибуції
Два флейвори збирають VR/XR-код, але робочий іммерсивний режим сьогодні є лише в одного:
noLegal- ADB sideload через Developer Mode. Універсальна sideload-збірка покриває телефони, планшети, Quest та Android XR одним APK. Завжди містить DTS, Python+yt-dlp+NewPipeExtractor та повний VR-рантайм незалежно від політики магазинів - це єдиний канал, де іммерсивне відтворення в шоломі справді працює сьогодні. VR-функціональність gate’иться по runtime: на пристроях без OpenXR-рантайму VR-контроли показуються як disabled з advisory-написом.vr- Meta Horizon Store / Google Play AAB. Залишається Store-clean: без GPL-екстракторів, без Python-рантайму, без yt-dlp. Збирає ту саму OpenXR-заготовку, що йnoLegal, але іммерсивний рендеринг там ще не підключений (епік S0773) - сьогодні в шоломі працює як Standard.
Історична нотатка. До 2026-05-19 для VR-only sideload існував окремий флейвор
vrUnlicensed. Його злито вnoLegalза тикетом S0250, боnoLegalвже ніс усі необхідні для VR залежності плюс ширшу sideload-поверхню. Поточний список VR / noLegal можливостей залишився в FEATURES_UK.md та DOCS_MAP.md.
Fallback на телефоні
Якщо APK vr запущено на звичайному телефоні, він працює точно як Standard - окремого екрана-заглушки сьогодні немає, бо іммерсивний рендеринг флейвора ще не підключений (епік S0773). Коли це станеться, телефон без XR-рантайму очікувано продовжить працювати у звичайному плоскому плеєрі.
Пов’язана документація
- Встановлення VR через sideload - як встановити VR APK на Quest без магазину
- Функції - повний перелік функцій
- Архітектура - огляд архітектури проекту