Czym dokładnie jest Fragmented mp4 (fMP4)? Czym się różni od zwykłego mp4?

Media Source Extension (MSE) wymaga fragmentacji mp4 do odtwarzania w przeglądarce.

Author: Aditya Gupta, 2016-02-03

1 answers

Fragmentaryczne MP4 zawiera szereg segmentów, które mogą być żądane indywidualnie, jeśli twój serwer obsługuje żądania zakresu bajtów.

Pudełka aka Atomy

Wszystkie pliki MP4 używają formatu zorientowanego obiektowo, który zawiera pola aka Atomy.

Możesz wyświetlić reprezentację pól w MP4 za pomocą narzędzia online, takiego jak Mp4 Parser lub jeśli używasz systemu Windows, MP4 Explorer. Porównajmy normalny MP4 z takim, który jest fragmentacja:

Niefragmentowane MP4

Ten zrzut ekranu (z Mp4 Parser) pokazuje plik MP4, który nie został fragmentowany i po prostu ma jedno ogromne pole mdat (dane filmu).

Reprezentowanie pól w normalnym, nie fragmentowanym MP4, generowanym za pomocą parsera MP4

Gdybyśmy budowali odtwarzacz wideo, który obsługuje adaptive bitrate, być może będziemy musieli znać pozycję bajtów znaku 10 S w pliku 0,5 MB / s i 1 MB / s W celu przełączania źródła wideo między tymi dwoma plikami w tym momencie. Określenie tego dokładnego pozycja bajtów w obrębie jednego masywnego mdat w każdym pliku nie jest trywialna.

Fragmented MP4

Ten zrzut ekranu pokazuje fragment MP4, który został podzielony za pomocą MP4Box z profilem onDemand.

Reprezentacja pól w pofragmentowanym formacie MP4, generowana za pomocą parsera MP4

Zauważysz sidx i serię moof+mdat pudełka. sidx jest indeksem segmentu i przechowuje metadane dokładnych lokalizacji zakresu bajtówmoof+mdat segmenty.

Zasadniczo można niezależnie załaduj sidx (jego zakres bajtów zostanie zdefiniowany w dołączonym pliku deskryptora prezentacji multimedialnej .mpd), a następnie wybierz segmenty, które chcesz następnie załadować i dodać do MSE SourceBuffer.

Co ważne, każdy segment jest tworzony w wybranym przez Ciebie przedziale czasowym (np. co 5 sekund), dzięki czemu segmenty mogą mieć wyrównanie czasowe między plikami o różnych przepływnościach, co ułatwia dostosowanie przepływności podczas odtwarzania.

 67
Author: Philip Bulley,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-08 01:20:04