Что такое фрагментированный mp4(fMP4)? Чем он отличается от обычного mp4?
Расширение Источника Мультимедиа (MSE) требуется фрагментированный mp4 для воспроизведения в браузере.
1 ответов
фрагментированный MP4 содержит ряд сегментов, которые могут быть запрошены индивидуально, если ваш сервер поддерживает запросы диапазона байтов.
коробки ака атомов
все файлы MP4 используют объектно-ориентированный формат, содержащий ящики атомов по прозвищу.
вы можете просмотреть представление ящиков в MP4 с помощью онлайн-инструмента, такого как MP4 парсер или если вы используете Windows, MP4 Explorer. Давайте сравним a обычный MP4 с одним, который фрагментирован:
не фрагментированный MP4
этот скриншот (с MP4 парсер) показывает MP4, который не был фрагментирован и довольно просто имеет один массивный mdat
(Movie Data) box.
если бы мы создавали видеоплеер, поддерживающий адаптивный битрейт, нам, возможно, потребовалось бы знать положение байта отметки 10 секунд в файле 0.5 Mbps и 1mbps, чтобы переключить Источник видео между двумя файлами в тот момент. Определение этой точной позиции байта в пределах одного массивного mdat
в каждом соответствующем файле не является тривиальным.
фрагментированный MP4
этот скриншот показывает фрагментированный MP4, который был сегментирован с помощью MP4Box С onDemand
профиль.
Вы заметите sidx
и серия moof
+mdat
коробок. The sidx
is индекс сегмента и хранит метаданные точных местоположений диапазона байтов moof
+mdat
сегментов.
по сути, вы можете самостоятельно загрузить sidx
(его диапазон байтов будет определен в сопроводительном .mpd
файл дескриптора презентации мультимедиа), а затем выберите, какие сегменты вы хотели бы впоследствии загрузить и добавить в MSE SourceBuffer.
важно отметить, что каждый сегмент создается с регулярным интервалом по вашему выбору (т. е. каждые 5 секунд), поэтому сегменты могут иметь временное выравнивание по файлам с разной скоростью, что упрощает адаптацию битрейта во время воспроизведения.