Що таке файл M4S?
Файл M4S — це невеликий сегмент відео, яке транслюється через Інтернет за допомогою потокової техніки MPEG-DASH. Він містить відеосегмент у вигляді двійкових даних. Приймаюча програма (зазвичай веб-браузер або медіаплеєри) відтворює ці сегменти в порядку їх отримання. Перший сегмент M4S ідентифікується даними ініціалізації, які він містить. У підсумку файли M4S — це невеликі окремі мультимедійні сегменти повного файлу.
Формат файлу M4S
Файли M4S базуються на форматі ISO Base Media File (ISOBMFF). Ці маленькі сегменти великого файлу можна завантажити незалежно через HTTP. Таким чином, якщо у вас є великий відеофайл MP4, його можна передавати за допомогою технології MPEG-DASH (динамічна адаптивна потокова передача через HTTP), сегментуючи його як файли сегментів M4S. Якщо цей великий відеофайл завантажується на диск як M4S, завантажується декілька файлів M4S. Якщо всі ці сегменти .m4s об’єднати, буде створено повний файл, придатний для відтворення. Медіапрогравачі не можуть відтворити файл, якщо перший сегмент ініціалізації також доступний разом із файлом.
Про потокове передавання MPEG-DASH
MPEG-DASH використовує техніку потокового передавання з адаптивним бітрейтом, яка дає змогу передавати високоякісний медіаконтент через Інтернет. Це робиться шляхом розбиття вмісту на послідовність невеликих сегментів, які передаються через HTTP. Таким чином можна транслювати великі мультимедійні файли, наприклад фільми, подкасти або пряму трансляцію спортивної події. Ці сегменти кодуються з різними бітовими швидкостями. Медіапрогравачі з підтримкою MPEG-DASH автоматично вибирають сегмент із найвищим бітрейтом за допомогою алгоритму адаптації бітрейту. Це дозволяє уникнути зупинки або повторної буферизації подій під час відтворення.
API з відкритим кодом для файлів M4S
Доступні API з відкритим кодом, які можна використовувати для читання та конвертації файлів M4S.
- libdash - API .NET для файлів M4S
- dash.js – клієнт Javascript для файлу M4S
- Бібліотека Go для створення файлів Dash