Что такое фрагментированный mp4(fMP4)? Чем он отличается от обычного mp4?

Расширение Источника Мультимедиа (MSE) требуется фрагментированный mp4 для воспроизведения в браузере.

1 ответов


фрагментированный MP4 содержит ряд сегментов, которые могут быть запрошены индивидуально, если ваш сервер поддерживает запросы диапазона байтов.

коробки ака атомов

все файлы MP4 используют объектно-ориентированный формат, содержащий ящики атомов по прозвищу.

вы можете просмотреть представление ящиков в MP4 с помощью онлайн-инструмента, такого как MP4 парсер или если вы используете Windows, MP4 Explorer. Давайте сравним a обычный MP4 с одним, который фрагментирован:

не фрагментированный MP4

этот скриншот (с MP4 парсер) показывает MP4, который не был фрагментирован и довольно просто имеет один массивный mdat (Movie Data) box.

Representation of boxes within a normal, non fragmented MP4, generated using MP4 Parser

если бы мы создавали видеоплеер, поддерживающий адаптивный битрейт, нам, возможно, потребовалось бы знать положение байта отметки 10 секунд в файле 0.5 Mbps и 1mbps, чтобы переключить Источник видео между двумя файлами в тот момент. Определение этой точной позиции байта в пределах одного массивного mdat в каждом соответствующем файле не является тривиальным.

фрагментированный MP4

этот скриншот показывает фрагментированный MP4, который был сегментирован с помощью MP4Box С onDemand профиль.

Representation of boxes within a fragmented MP4, generated using MP4 Parser

Вы заметите sidx и серия moof+mdat коробок. The sidx is индекс сегмента и хранит метаданные точных местоположений диапазона байтов moof+mdat сегментов.

по сути, вы можете самостоятельно загрузить sidx (его диапазон байтов будет определен в сопроводительном .mpd файл дескриптора презентации мультимедиа), а затем выберите, какие сегменты вы хотели бы впоследствии загрузить и добавить в MSE SourceBuffer.

важно отметить, что каждый сегмент создается с регулярным интервалом по вашему выбору (т. е. каждые 5 секунд), поэтому сегменты могут иметь временное выравнивание по файлам с разной скоростью, что упрощает адаптацию битрейта во время воспроизведения.