Создание файлов hls с помощью -hls_time > 10

#ffmpeg #http-live-streaming

#ffmpeg #http-прямая трансляция

Вопрос:

Я создаю локальное приложение для просмотра локальных видео из браузера, из-за того, что некоторые видео загружались более 1 часа, они начали отставать, и использование HLS вместо .mp4 решило эту проблему.

В приложении, которое я создаю, пользователь часто пропускает на 10-40 секунд вперед. Мой вопрос: должен ли я использовать -hls_time 60 или было бы лучше просто использовать -hls_time 10

Текущий код: ffmpeg -i "input.mp4" -profile:v baseline -level 3.0 -start_number 0 -hls_time 10 -hls_playlist_type vod -f hls "inputindex.m3u8"

Ответ №1:

Более длинные сегменты подразумевают больший размер сегмента, поэтому после поиска проигрывателю может потребоваться больше времени для возобновления работы в зависимости от доступной пропускной способности и от того, был ли уже получен требуемый сегмент или нет.

Если приложение предназначено для мобильных устройств, где ожидается изменение условий сети, вам также необходимо рассмотреть адаптивную потоковую передачу. В этом случае при более длинных сегментах вы увидите меньшее переключение качества, но рискуете остановить воспроизведение. Более подробную статью вы можете найти здесь.

Несколько замечаний о вашей ffmpeg команде:

  • не устанавливайте level , поскольку оно уже вычисляется автоматически, если не указано, и вы рискуете ошибиться и испортить проверку совместимости устройств.
  • сегменты вырезаются только на ключевых кадрах, и их длительность может превышать указанную hls_time . Если вам нужна точная длительность сегмента, вам нужно вставить ключевой кадр с нужным интервалом.

Комментарии:

1. Действительно ли это имеет значение, смотрите первое предложение: я создаю локальное приложение для просмотра локальных видео из браузера,

2. @Гьян это местные в начале, потом кто-то думает, что это хорошая идея, затем она пойдет в производство и затем я должен справиться с этим на стороне игрока