HLS continuity counters

55 views
Skip to first unread message

Александр Бубнов

unread,
May 21, 2015, 4:07:06 PM5/21/15
to stream...@googlegroups.com
Господа, а с какой версии iOS нормально переваривает сегменты лайва с ненулевыми continuity counters в начале? 
Я тут проверил на тестовых девайсах два лайва и покопался в них - стартовые каунтеры вообще не нулевые, а играются они вроде нормально.

Max Lapshin

unread,
May 22, 2015, 1:09:10 PM5/22/15
to stream...@googlegroups.com
А когда оно требовало нулевых счетчиков, если почти никто не умеет качественно выравнивать счетчики?
Всегда требовало сшитых счетчиков. Или я заблуждаюсь?

Александр Бубнов

unread,
May 22, 2015, 2:34:05 PM5/22/15
to stream...@googlegroups.com
Вообще говоря, я сделал такой вывод из твоего же кода. mpegts:pad_countinuity counters именно это и делает же. Я неправильно понял, зачем оно нужно, так?

И да, можешь пояснить вкратце, что значит "выравнивать счетчики"? 

пятница, 22 мая 2015 г., 20:09:10 UTC+3 пользователь Max Lapshin написал:

Max Lapshin

unread,
May 22, 2015, 4:08:17 PM5/22/15
to stream...@googlegroups.com
Это не для лайва.

Александр Бубнов

unread,
May 22, 2015, 4:13:41 PM5/22/15
to stream...@googlegroups.com
Так работает же только на лайвах. Ну, в старом erlyvideo, который у нас используется. 

22 мая 2015 г., 23:08 пользователь Max Lapshin <max.l...@gmail.com> написал:
Это не для лайва.

--
Вы получили это сообщение, поскольку подписаны на одну из тем в группе "streaming-ru".
Чтобы отменить подписку на эту тему, перейдите по ссылке https://groups.google.com/d/topic/streaming-ru/oL9yJxsbVV0/unsubscribe.
Чтобы отменить подписку на эту группу и все ее темы, отправьте письмо на электронный адрес streaming-ru...@googlegroups.com.
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.

Max Lapshin

unread,
May 22, 2015, 4:16:51 PM5/22/15
to stream...@googlegroups.com
HLS требует хотя бы один кейфрейм в сегменте, а счетчики не требует выравнивать.

У вас очень старый код и далек от того состояния, в котором всё сейчас.

Александр Бубнов

unread,
May 22, 2015, 4:19:39 PM5/22/15
to stream...@googlegroups.com
Да понятно, что далек. но что ж поделать.
Спасибо.

22.05.15, Max Lapshin<max.l...@gmail.com> написал(а):
> HLS требует хотя бы один кейфрейм в сегменте, а счетчики не требует
> выравнивать.
>
> У вас очень старый код и далек от того состояния, в котором всё сейчас.
>
> --
> Вы получили это сообщение, так как подписаны на группу "streaming-ru".
> Чтобы отменить подписку на эту тему, перейдите по ссылке
> https://groups.google.com/d/topic/streaming-ru/oL9yJxsbVV0/unsubscribe.
> Чтобы отменить подписку на эту группу и все ее темы, отправьте письмо на
> электронный адрес streaming-ru...@googlegroups.com.
> Настройки подписки и доставки писем: https://groups.google.com/d/optout.
>

Max Lapshin

unread,
May 22, 2015, 4:24:41 PM5/22/15
to stream...@googlegroups.com
у нас уже даже rtmp код слегка поменялся, больше нет rtmp_session:set/get

Alex Pokotilo

unread,
May 27, 2015, 9:41:50 AM5/27/15
to stream...@googlegroups.com
а почему не обнулять CC в начале каждого чанка?

пятница, 22 мая 2015 г., 6:07:06 UTC+10 пользователь Александр Бубнов написал:

Max Lapshin

unread,
May 27, 2015, 12:31:51 PM5/27/15
to stream...@googlegroups.com
Ты для этого должен предыдущий чанк закончить на всех пидах на 15

Alex Pokotilo

unread,
May 27, 2015, 8:30:07 PM5/27/15
to stream...@googlegroups.com
проверил на нескольких топовых реализациях это не так. cc по видео, ауди, PMT/PAT начинаются с предефайненного начального значения на каждом чанке чем бы не закончилс предидущий. Ты что-то путаешь.
четверг, 28 мая 2015 г., 2:31:51 UTC+10 пользователь Max Lapshin написал:

Александр Бубнов

unread,
May 27, 2015, 9:40:12 PM5/27/15
to stream...@googlegroups.com

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

Собственно, это и был мой изначальный вопрос, и я предположил, что в какой-то бородатой версии iOS это требовалось - возникло же оно откуда-то в продакшн коде. Но это было неверным предположением.

Александр Бубнов

unread,
May 27, 2015, 9:53:46 PM5/27/15
to stream...@googlegroups.com

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

И совсем оффтоповый вопрос - Макс, #video_frame{content = metadata}, в body предполагает бинарник сериализованных данных или какое-то представление десериализованных? Это мне для общего развития, так сказать, чтобы лучше понимать, где потенциально грабли можно встретить.

Max Lapshin

unread,
May 28, 2015, 3:58:57 AM5/28/15
to stream...@googlegroups.com
скорее всего в metadata будет что-то, что можно упаковать в amf3

Alex Pokotilo

unread,
Jun 25, 2015, 10:27:45 PM6/25/15
to stream...@googlegroups.com
мы щас про vod или live говорим ? для live сс можно действительно не сбрасывать, а как ты сделаешь монотонный cc без генерации чанков для vod ?
предугадать его невозможно.
я почему снова про это начал. новая версия mediastreamvalidator-а начала давать ворнинги если начальный cc текущего чанка не продолжение посленего cc предидущего чанка. Проверил на vod реализациях которые смог попробовать - у всех этот ворнинг. делаю вывод если не генерировать все чанки для vod сразу сделать это для vod невозможно без мутной калькуляции и пробегания по таблицам stts и ctts.и непонятно для чего. или я неправ?


четверг, 28 мая 2015 г., 2:31:51 UTC+10 пользователь Max Lapshin написал:
Ты для этого должен предыдущий чанк закончить на всех пидах на 15

Александр Бубнов

unread,
Jun 26, 2015, 6:50:00 PM6/26/15
to stream...@googlegroups.com
Даже я уже все понял - да, для VOD невозможно сгенерить continuous counters, не перепаковав весь файл. Поэтому все, кто хочет паковать HLS из VOD на лету, дописывают в конец сегмента паддинг из пустых ts-пакетов, чтобы все каунтеры были выставлены на 15, тогда в следующем сегменте их можно просто начать с нуля. 

пятница, 26 июня 2015 г., 5:27:45 UTC+3 пользователь Alex Pokotilo написал:

Max Lapshin

unread,
Jun 27, 2015, 3:04:35 AM6/27/15
to stream...@googlegroups.com
Хе-хе =)

Оно не будет работать так, как ты хочешь. Но закончить все счетчики на 15 надо.

Alex Pokotilo

unread,
Jun 27, 2015, 4:51:03 AM6/27/15
to stream...@googlegroups.com
зачем?

суббота, 27 июня 2015 г., 17:04:35 UTC+10 пользователь Max Lapshin написал:

Alex Pokotilo

unread,
Jun 27, 2015, 4:51:51 AM6/27/15
to stream...@googlegroups.com
ни разу не все. зачем это нужно?

суббота, 27 июня 2015 г., 8:50:00 UTC+10 пользователь Александр Бубнов написал:
Reply all
Reply to author
Forward
0 new messages