dash_fragment
Директива `dash_fragment` задаёт длину каждого DASH-фрагмента в миллисекундах для потоковых приложений.
Описание
Директива dash_fragment играет важную роль в определении длительности каждого сегмента в потоке Dynamic Adaptive Streaming over HTTP (DASH). При конфигурации она определяет, как долго будет длиться каждый DASH-фрагмент, что позволяет более точно управлять качеством и производительностью воспроизведения. Указанное значение интерпретируется в миллисекундах, что может влиять на скорость переключения клиентов между потоками в зависимости от состояния сети и доступности медиа.
В контексте RTMP-сервера потоковой передачи значение, заданное директивой dash_fragment, определяет, как будут сегментироваться видеодорожки и аудиодорожки. Меньшая длительность фрагмента может обеспечивать более отзывчивое воспроизведение, позволяя клиентам быстрее адаптироваться к меняющимся условиям сети. Напротив, слишком короткая длина фрагмента может привести к увеличению накладных расходов из‑за большего числа HTTP-запросов и, возможно, к ухудшению производительности из‑за возросшей нагрузки на сервер.
При использовании этой директивы важно учитывать общую архитектуру медиаприложения, включая способы потребления контента и ожидаемые условия потоковой передачи. Это приводит к компромиссу между качеством и производительностью, поэтому настройка длины фрагмента является важной частью оптимизации потоковой настройки.
Пример конфига
rtmp {
server {
listen 1935;
application my_app {
dash on;
dash_fragment 2000;
}
}
}Установка слишком короткой длины фрагмента может увеличить нагрузку на сервер из-за высокой частоты HTTP-запросов.
Учтите, что у клиентов могут возникнуть проблемы с воспроизведением, если длина фрагмента плохо согласуется с битрейтом медиа.