@Asshai

Как воспроизводить hls стрим адаптивно через ffmpeg при плохом соединении?

День добрый
Пытаюсь заставить ffmpeg воспроизводить hls стрим адаптивно, что бы он подстраивался под текущую пропускную способность и от этого выбирал какое качество воспроизводить.
А конкретно устанавливаю ограничение на скорость загрузки в 1Мбит с помощью wondershaper и необходимо что бы он выбирал качество 360 или 480, т.к. они подходят по пропускной способности под это ограничение (BANDWIDTH=514000 и BANDWIDTH=864000)
Команда для воспроизведения:
ffmpeg -i https://..../playlist.m3u8 -c copy -f null -


Т.е. он кроме воспроизведения ничего с ним не делает.
Но на данный момент он лагает, сыпет варнинги но пытается загрузить самое высокое качество, хотя скорость это явно не позволяет.

1) Мне казалось (и коллеги подсказывают) он должен делать это по умолчанию. Это не так?
2) Как можно исправить это?

Сразу скажу что ни в сетевом инжениринге ни в ffmpeg я не силен, по этому мог упустить банальные вещи

p.s. уже пробовал пробовал использовать другую версию ffmpeg, запускал его как локально, так и в контейнере, заменял wondershaper на trickle, использовал разные видео для стрима, одно и тоже.
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
@Asshai Автор вопроса
Как оказалось адаптивного воспроизведения в ffmpeg нет. Задача на добавления подобного функционала висит уже как 10 лет открытой.
Нашел статью как можно допилить это самому, но лично мне это решение не подошло. Решил использовать VLC с флагом --adaptive-logic=rate
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы