2012-02-29 3 views
2

Я использую mediafilesegmenter для создания плейлистов HLS для фильмов mp4. Моя команда выглядит следующим образом,#EXTINF - поле в apple hls playlist имеет десятичную длину - генерируется mediafilesegmenter

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 носителя, который следует за ним. Каждому сегменту медиаресурсов UUST MUST предшествует тег EXTINF. Его формат:

#EXTINF:<duration>,<title> >

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

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

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

Моя mediasegmenter версия mediafilesegmenter: Beta Version 1.1(111116)

Я использую Darwin Kernel Version 10.8.0 with x86_64 макинтош.

+0

Есть ли способ, чтобы определить, какую версию протокола используются в mediafilesegmenter? У меня недостаточно денег для доступа к странице руководства. Но если вы можете установить его на версию 2, он должен выводить целые числа только на длительность. Но проще всего просто изменить сгенерированный плейлист с простым регулярным выражением в скрипте. – vipw

+0

Спасибо за ответ, я получил то, что работает с reg-ex, вот рег-ex, я использовал 'perl -pi -e 's/# EXTINF: (\ d {1,2}) \. (. *),/# EXTINF: 10,/g 'prog_index.m3u8 ' – cb24

+1

Вы заменяете все длительности на 10? Это не кажется правильным и может иметь последствия для клиентов, когда они пытаются использовать панель поиска. Если клиент пытается найти то, что, по его мнению, составляет 100 секунд, он пропустит 10 сегментов, которые могут быть или не быть близко к 100 секундам. Я бы рекомендовал обновить код до округления значения. В идеале вы можете сохранить общее количество дробных частей, чтобы избежать кумулятивной ошибки округления. – vipw

ответ

4

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

их-плавающая точка-длительность

+0

Спасибо за ответ. Попробуем то же самое в будущем. – cb24

 Смежные вопросы

  • Нет связанных вопросов^_^