#EXTINF - поле в списке воспроизведения apple hls имеет десятичную длительность - генерируется mediafilesegmenter - PullRequest
2 голосов
/ 29 февраля 2012

Я использую mediafilesegmenter для создания списков воспроизведения HLS для фильмов в формате mp4. Моя команда выглядит следующим образом:

mediafilesegmenter movieName.mp4 -I -f /Library/WebServer/Documents/vod/movieName/ -t 10 -l movie.log -k /Library/WebServer/Documents/vod/movieName/keys/ -K http://KEYSERVER/keys/ -key-rotation-period 10 -encrypt-rotate-iv-mbytes=1024 -J random

С помощью этой команды я получаю плейлист, сгенерированный нормально, но длительность в #EXTINF: является десятичной дробью. Я проверил проект HLS, там написано

Тег EXTINF указывает продолжительность медиа-сегмента. Это относится только для медиа URI, который следует за ним. Каждый медиа-сегмент URI ДОЛЖЕН должен предшествовать тег EXTINF. Его формат:

#EXTINF:<duration>,<title> >

«длительность» - это целое число или число с плавающей запятой в десятичном формате. позиционная нотация, определяющая продолжительность медиа-сегмента в секундах Длительности, которые указаны как целые числа, ДОЛЖНЫ быть округляется до ближайшего целого числа. Длительности ДОЛЖНЫ быть целыми числами, если версия протокола файла списка воспроизведения меньше 3.

Мой вопрос: как мне сделать #EXTINF целым числом? Я использовал опцию -t 10 и -t 15 и несколько номеров, но мой плейлист все еще имеет
#EXTINF:14.792, и т. Д.

Кто-нибудь может указать мне, какие изменения в команде нужно сделать, чтобы я получил целое число на основе #EXTINF?

Моя версия медиасегментера: mediafilesegmenter: Beta Version 1.1(111116)

Я использую Darwin Kernel Version 10.8.0 with x86_64 mac.

1 Ответ

4 голосов
/ 21 мая 2012

В настоящее время Apple предлагает правильное решение.Вы должны использовать этот флаг для инструмента mediafilesegmenter.

-no-float-point-duration

...