.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 — .NET API для файлов M4S
- dash.js — Javascript-клиент для файла M4S.
- Библиотека Go для создания файлов Dash