Afair, прирост размера на 10 кейфреймах у меня был где-то х2 от оригинального видео. Можно попробовать делать reencoding на девайсе (примерно ваш подход, но без overcomplicating'а решения).
Или, что поддерживают многие плееры, начать декодить и показывать результат до завершения загрузки оригинального видео.
Ну и никто не отменял гранулярность ответа) Можно иметь 3-5 разных по размеру форматов, и отдавать нужный в зависимости от девайса.
Ещё могу посоветовать руками в ffmpeg прописывать частоту вставки i-frame'ов. Если их явно ставить раз в 10-20 кадров, можно добиться flawless скраббинга, на всём, что умеет в hardware decoding.
Это не всегда будет оптимизацией. В случае больших сцен делать flattenedClone() всей статики может привести к тому, что она не будет оптимально клипаться, и, в результате, прийдётся рисовать гораздо больше геометрии.
Интересная мысль, но если у вас есть ноды-наследники от SCNNode, и вы не переопределили для них copy(), то эта скопированная нода может оказаться сломанной. Плюс, environment нужно копировать всё равно.
DOM, между прочим, вполне себе является проекцией из 3D в 2D. Как следствие, никто не запрещает использовать аппаратное ускорение для расчета тяжелых анимаций. Google Maps, между прочим, уже года два этим пользуется, и текущие десктопные карты перенесены на WebGL.
Afair, прирост размера на 10 кейфреймах у меня был где-то х2 от оригинального видео. Можно попробовать делать reencoding на девайсе (примерно ваш подход, но без overcomplicating'а решения).
Или, что поддерживают многие плееры, начать декодить и показывать результат до завершения загрузки оригинального видео.
Ну и никто не отменял гранулярность ответа) Можно иметь 3-5 разных по размеру форматов, и отдавать нужный в зависимости от девайса.
Ну, я регулярно вижу лишний варпинг и каты из-за того, что пользователи неравномерно ходят вокруг машины и держат её не по-центру)
NeRF'ы дадут возможность задавать плавную траекторию облёта, и современные подходы не требуют так уж много процессинга.
Ну и сейчас уже есть наработки от Nvidia, которые позволяют по NeRF'у скрафтить качественную 3D модельку с материалами)
Ещё могу посоветовать руками в ffmpeg прописывать частоту вставки i-frame'ов. Если их явно ставить раз в 10-20 кадров, можно добиться flawless скраббинга, на всём, что умеет в hardware decoding.
ffmpeg -i input.mp4 -vcodec libx264 -x264-params keyint=10:scenecut=0 -acodec copy output.mp4
Очень советую посмотреть в сторону NeRF'ов, которые позволяют сейчас на порядок лучше делать такие панорамы