Intereting Posts
Использование намерений или шины событий для связи в одном приложении Есть ли слушатель, когда WebView отображает его содержимое? Как преобразовать Writer в String Открыть удаленный файловый менеджер устройства с помощью Bluetooth Пользовательская информация в Google карте android v2 Как остановить отслеживание GPS / местоположения, когда закончится моя активность? Usb-устройства android, c # Xamarin Совместимость подписи Jwplayer для Android и iOS Текущий маркер местоположения Google Maps и оверлей точности Android Eclipse DDMS> Куча> Причина GC greyed out Android: imeOption & imeActionLable не меняет клавиатуру Введите метку с помощью Next Android: должен ли listView Adapter быть частью вашего класса ViewModel? Должен ли я изменить размер растрового изображения перед добавлением в ImageView или позволить ImageView изменить размер растрового изображения? Получить текущие уведомления android Android: MediaRecorder @ Родной код

Сжимайте видео, как whatsapp

Я не специалист в области редактирования видео, но я хочу понять логику обработки видео Whatsapp.

Прежде всего я заметил, что независимо от файла, Whatsapp устанавливает предел загруженных видео на 16 МБ, после чего whatsapp обрезает видео, чтобы не превышать лимит. Это конвенция или это личный выбор?

Во-вторых , когда видео записывается с использованием камеры, оно по умолчанию не сжато, поэтому whatsapp сжимает его, используя FFMPEG я думаю, и это не требует времени. (Попробовал для видео 1мин 1920×1080 с размером 125 МБ, становится без изменений в размере 640×360 с 5 МБ размера, и загрузка начинается автоматически) .. как они могут это сделать? И почему выбор 640×360 , Мне кажется очень быстрым для двух асинхронных задач: Сжатие + Загрузка.

Когда я запускаю команду сжатия ffmpeg -y -i in.mp4 -codec:v libx264 -crf 23 -preset medium -codec:a libfdk_aac -vbr 4 -vf scale=-1:640,format=yuv420p out.mp4 требуется Приблизительно 1 мин, и видео поворачивается !! : D

Наконец , когда мы загружаем видео с Youtube, оно уже сжато (я думаю), и whatsapp даже не пытается сжать его. Поэтому я думаю, что он автоматически обнаруживает, что видео сжато. Как мы можем это обнаружить?

Спасибо.

Solutions Collecting From Web of "Сжимайте видео, как whatsapp"

Вот возможные ответы на ваши вопросы:

Quest. 1: Его личный выбор. Команда whatsapp пытается предложить пользователям User Experience лучший пользовательский интерфейс (UX) для пользователей своего приложения, поэтому они сохранили предел в 16 МБ для видеофайла. Представьте, сколько времени потребуется для загрузки файла размером около 125 МБ. Следовательно, приложение сжимает файл для более быстрой загрузки и бесшовной работы.

Quest. 2: Я думаю, вы уже сами ответили на этот вопрос – асинхронное программирование. Большой видеофайл, который вы его кормите, кодируется в сжатый формат в соответствии с алгоритмом, который они пишут для приложения. Как разработчики, мы все знаем об алгоритмах, и все мы знаем, что есть вещи, которые вы можете сделать, чтобы ускорить выполнение. Я предполагаю, что они реализовали свой собственный алгоритм, используя асинхронное программирование, которое ускоряет процесс. Библиотека ffmpeg, которую вы упомянули, я предполагаю, был закодирован в C, который, я думаю, не поддерживает асинхронный вызов (хотя это не так уж и понятно). После этого загрузка загружается.

Quest. 3 & Наконец: кодеки – это стандарты. Если вы кодируете видеофайл в MPEG4, попробуйте снова его перекодировать в MPEG4, даже используя другую программу, вы получите тот же результат, насколько обе программы используют одинаковые стандарты кодирования, т. Е. Не реализовали конкретный алгоритм Для их программ (это требует многолетней работы). Итак, когда ваш Whatsapp пытается закодировать файл, он дает тот же результат.

Надеюсь, я смог ответить на ваши вопросы.

MichVeline