Где бы вы реализовали сжатие изображения и видео (сервер или клиент)?

Последовательные действия пользователя:
1) Фотографирует / снимает объект (ограничение на видео 10 секунд)
(Почему нельзя просто сказать камере, в каком качестве снимать? По тому что не на всех устройствах приложение "камера" понимает эти ограничения, по крайней мере так говорят, например, на stackoverflow (нет, я не задавал там этот вопрос, просто проверял разные варианты))
2) Нажимает на кнопку, после которой происходит магия

Магия:
1) Отправка изображения на сервер
2) Рассылка изображения на устройства ~5 других людей

Стоит вопрос - где производить фото/видео сжатие? С 1 стороны делать её на клиенте "не хорошо", по тому что он выступает в роли "интерфейса", что-то типа "тонкого клиента", с другой делать её на сервере - затратно.

В силу своей неопытности (студент) я не могу точно сказать на сколько затратны данные операции (если они слишком ресурсоемки, то проводить на клиенте их категорически нельзя), посему стоит вопрос - на сколько трудозатратны данные операции?

PS Стоит так же учесть и интернет-соединение клиента, для которого сжатие фото/видео несомненно является плюсом (в основном мобильный интернет).
  • Вопрос задан
  • 433 просмотра
Пригласить эксперта
Ответы на вопрос 3
Fahrenhe17
@Fahrenhe17
Ruby on Rails developer
Я тут вообще проходом и как раз таки бэк - энд разработчик, но позволю себе ответить. Как вы представляете передачу пусть даже 10 секунд 4к видео по мобильному интернету? Да, есть lte у девайсов умеющих 4к, но тем не менее, я думаю это не целесообразно. Хотя я в клиент сайд программировании полный ноль, так что не воспринимайте всерьез.
Ответ написан
Комментировать
@hubramubr
На клиенте сжатие еще более затратно. Батарейка будет жраться - мама не горюй. Плюс неприятное ожидание и тормоза у пользователя

С другой стороны - каналы связи. Если ваше приложение только на Wi-Fi, то можете и не сжимать на клиенте.

Короче, дилемма.

Что касается серверного сжатия - то оно нисколько не затратно. Есть специализированные сервисы (не Youtube, а сырые, для создания своих видеосервисов), которые за небольшую денежку на своем специальном железе будет и сжимать и хранить и отдавать видео в нескольких разрешениях и форматах.

Написать серверную часть самому - очень затратно.
Ответ написан
orcDamnar
@orcDamnar
Java, C/C++, Android SDK
Я не видел такого, чтобы можно было получить raw с камеры. Чтобы пережать на устройстве - вам сначала придется распаковать, потом опять запаковать. Резонный вопрос - зачем? Имхо, если нужно сжимать - то только серверсайд. На устройстве это будет до боли в зубах затратно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы