В 2019 году бренды смартфонов добились огромных успехов в развитии камер, особенно если говорить о масштабировании и слабом освещении. С другой стороны, качеству видео не уделялось столько же внимания. Даже несмотря на то что смартфоны Android имеют большую внутреннюю память и более быстрые модемы с поддержкой сетей 5G, старое ограничение не позволяет большинству этих телефонов сохранять видеофайлы размером более 4 ГБ. Однако это может измениться в версии Android 11, выпуск которой запланирован на 2020 год.
Попытаемся простым языком объяснить причины этого ограничения. По сути, Google решила, что классы Android MediaMuxer и MPEG4Writer, которые отвечают за мультиплексирование (объединение) видеофайлов и сохранение их в формате MP4 соответственно, должны поддерживать вывод готового MP4-файла с максимальным размером в 232 - 1 байт, что приблизительно составляет 4 ГБ. Это решение было принято в начале 2014 года, когда Google Nexus 5 с максимальным объёмом внутренней памяти в 32 ГБ всё ещё был на рынке, SD-карты всё ещё широко использовались, а первые телефоны с записью видео 4K только появлялись (Galaxy Note 3). Таким образом, не было особого спроса в сохранении видеофайлов размером более 4 ГБ: большинству устройств не хватало места для хранения; SD-карты, отформатированные в FAT32, в любом случае не поддерживали бы их; и лишь немногие телефоны записывали с таким высоким качеством. Перенесёмся на 5 лет вперёд, и увидим, что многое изменилось: теперь появились телефоны с 1 ТБ памяти, SD-карты стали скорее исключением, чем нормой, а запись видео в 4К повсеместна.
Сегодня, если вы записываете видео 4K на Pixel 4, файл достигнет 4 ГБ за 12 минут; это по умолчанию настройки качества в 30 кадров в секунду и битрейтом в 48 Мбит/с. Примерно через 12 минут записи приложение камеры сохранит видео и сразу же начнёт запись другого — без уведомления пользователя. Когда вы проверите папку DCIM вашего телефона, вы заметите, что то, что должно было быть одной непрерывной видеозаписью, было разделено на несколько видеофайлов.
Разработчики запрашивали способ записи видеофайлов размером более 4 ГБ в течение многих лет, и, похоже, в Android 11 наконец-то могут произойти изменения. Google обновляет вышеупомянутые классы для удаления ограничения размера 32-битного файла. В частности, теперь Android «будет использовать 64-битное смещение в mpeg4writer», что позволяет Android «создавать файлы размером более 4 ГБ». Во время тестирования Google успешно скомпилировал файл размером около 32 ГБ, и в отдельном тесте удалось заполнить весь объём памяти телефона с помощью одной записи. Максимальный размер файла 264 - 1 байт является невероятно большим и никогда не будет достигнут, поэтому мы ожидаем, что Google ограничит API MediaRecorder или OEM-производителей, чтобы ограничить приложения стандартной камеры для поддержки более разумного максимального размера файла. Однако приложения, такие как OpenCamera, которые используют Camera2API, должны по-прежнему иметь возможность произвольно устанавливать любой максимальный размер файла, который им нужен, не беспокоясь об ограничении 32-битного размера файла.
Ожидается, что это изменение будет реализовано в Android 11. Первая бета-версия Android 10 была выпущена в марте этого года, так что ожидайте увидеть бета-версию Android 11 в марте 2020 года, а затем стабильный выпуск — в августе 2020 года. Поскольку телефоны от Xiaomi и Samsung должны будут поддерживать запись видео в 8K, эти изменения приветствуются, хоть и с опозданием.
Попытаемся простым языком объяснить причины этого ограничения. По сути, Google решила, что классы Android MediaMuxer и MPEG4Writer, которые отвечают за мультиплексирование (объединение) видеофайлов и сохранение их в формате MP4 соответственно, должны поддерживать вывод готового MP4-файла с максимальным размером в 232 - 1 байт, что приблизительно составляет 4 ГБ. Это решение было принято в начале 2014 года, когда Google Nexus 5 с максимальным объёмом внутренней памяти в 32 ГБ всё ещё был на рынке, SD-карты всё ещё широко использовались, а первые телефоны с записью видео 4K только появлялись (Galaxy Note 3). Таким образом, не было особого спроса в сохранении видеофайлов размером более 4 ГБ: большинству устройств не хватало места для хранения; SD-карты, отформатированные в FAT32, в любом случае не поддерживали бы их; и лишь немногие телефоны записывали с таким высоким качеством. Перенесёмся на 5 лет вперёд, и увидим, что многое изменилось: теперь появились телефоны с 1 ТБ памяти, SD-карты стали скорее исключением, чем нормой, а запись видео в 4К повсеместна.
Сегодня, если вы записываете видео 4K на Pixel 4, файл достигнет 4 ГБ за 12 минут; это по умолчанию настройки качества в 30 кадров в секунду и битрейтом в 48 Мбит/с. Примерно через 12 минут записи приложение камеры сохранит видео и сразу же начнёт запись другого — без уведомления пользователя. Когда вы проверите папку DCIM вашего телефона, вы заметите, что то, что должно было быть одной непрерывной видеозаписью, было разделено на несколько видеофайлов.
Разработчики запрашивали способ записи видеофайлов размером более 4 ГБ в течение многих лет, и, похоже, в Android 11 наконец-то могут произойти изменения. Google обновляет вышеупомянутые классы для удаления ограничения размера 32-битного файла. В частности, теперь Android «будет использовать 64-битное смещение в mpeg4writer», что позволяет Android «создавать файлы размером более 4 ГБ». Во время тестирования Google успешно скомпилировал файл размером около 32 ГБ, и в отдельном тесте удалось заполнить весь объём памяти телефона с помощью одной записи. Максимальный размер файла 264 - 1 байт является невероятно большим и никогда не будет достигнут, поэтому мы ожидаем, что Google ограничит API MediaRecorder или OEM-производителей, чтобы ограничить приложения стандартной камеры для поддержки более разумного максимального размера файла. Однако приложения, такие как OpenCamera, которые используют Camera2API, должны по-прежнему иметь возможность произвольно устанавливать любой максимальный размер файла, который им нужен, не беспокоясь об ограничении 32-битного размера файла.
Ожидается, что это изменение будет реализовано в Android 11. Первая бета-версия Android 10 была выпущена в марте этого года, так что ожидайте увидеть бета-версию Android 11 в марте 2020 года, а затем стабильный выпуск — в августе 2020 года. Поскольку телефоны от Xiaomi и Samsung должны будут поддерживать запись видео в 8K, эти изменения приветствуются, хоть и с опозданием.
Источник:
чтобы видеть ссылку, вы должны быть зарегистрированы