Ответ 1
Ниже приведены ответы на ваши вопросы:
Quest. 1: Его личный выбор. Команда whatsapp пытается предложить пользователям пользовательский интерфейс (UX), который они могут использовать для пользователей своего приложения, поэтому они сохранили предел в 16 МБ для видеофайла. Представьте, сколько времени потребуется, чтобы загрузить файл размером около 125 МБ. Следовательно, приложение сжимает файл для более быстрой загрузки и без проблем.
Quest. 2: Думаю, вы уже сами ответили на этот вопрос - асинхронное программирование. Большой видеофайл, который вы его кормите, кодируется в сжатый формат в соответствии с алгоритмом, который они пишут для приложения. Как Devs., Мы все знаем об алгоритмах, и все мы знаем, что есть вещи, которые вы можете сделать, чтобы ускорить выполнение. Я предполагаю, что они реализовали свой собственный алгоритм, используя асинхронное программирование, которое ускоряет процесс. Библиотека ffmpeg, которую вы упомянули, я предполагаю, был закодирован в C, который, я думаю, не поддерживает асинхронный вызов (хотя это не так уж верно). После этого загрузка загружается.
Quest. 3 & Наконец: кодеки - это стандарты. Если вы кодируете видеофайл в MPEG4, попробуйте снова его перекодировать в MPEG4, даже используя другую программу, вы получите тот же результат, насколько обе программы используют одни и те же стандарты кодирования, то есть не реализовали конкретный алгоритм для их программ (это требует многолетней работы). Итак, когда ваш Whatsapp пытается закодировать файл, он дает тот же результат.
Надеюсь, что я смог ответить на ваши вопросы.
MichVeline