start time is out mp4 stsc chunks

Maxim Dounin mdounin at mdounin.ru
Mon Mar 31 11:29:40 UTC 2014


Hello!

On Fri, Mar 28, 2014 at 11:15:54PM +0200, Андрей Василишин wrote:

> 28.03.2014 20:24, Maxim Dounin пишет:
> >Hello!
> >
> >On Fri, Mar 28, 2014 at 07:18:37PM +0200, Андрей Василишин wrote:
> >
> >>
> >>>>Text
> >>>>ID                                       : 3
> >>>>Format                                   : Apple text
> >>>>Codec ID                                 : text
> >>>>Duration                                 : 1h 54mn
> >>>>Bit rate mode                            : Variable
> >>>>Bit rate                                 : 0 bps
> >>>>Delay relative to video                  : -1s 24ms
> >>>>Stream size                              : 135 Bytes (0%)
> >>>>Language                                 : English
> >>>
> >>>Видимо, проблема в этой дорожке.  Она не выглядит короткой, так
> >>>что скорее всего ошибка была из-за каких-то нюансов расположения
> >>>данных.  Но при этом она явно не перемешана с остальными дорожками
> >>>(просто из-за очень малого размера), и попытка отдать диапазон
> >>>файла "начиная с такой-то секунды", видимо, требует отдачи
> >>>практически всего файла, т.к. для этой дорожки данные начинаются в
> >>>начале файла.
> >>>
> >>>Наиболее простое решение - убрать из файла эту дорожку.
> >>>
> >>
> >>А как же обновление до nginx 1.5.10+, это непомогает?
> >
> >Помогает, насколько я понял, ошибок же больше нет?
> >
> >Последняя рекомендация касается того факта, что при "перемотке
> >просто идёт скачивание файла".  Насколько я понимаю структуру
> >файла, любой или почти любой запрос медиаданных по времени - будет
> >включать практически весь файл целиком, и псевдостриминг теряет
> >смысл.
> >
> 
> 
> Но ведь это дорожка субтитров, получается, до 1.3.5 ее просто отбрасывало, а
> после 1.5.10 не работает псевдостримминг.

Как я уже пытался объяснить выше, судя по всему, одни и те же 
данные этой дорожки - относятся ко всему временному диапазону, и 
эти данные располагаются в начале файла.  Т.к. при псевдостриминге 
nginx отдаёт диапазон медиаданных, от первого байта самых ранних 
данных какой-либо из дорожек и до конца файла, то в такой ситуации 
псевдостриминг становится фактически бесполезен.  Приблизительно 
то же самое будет если, например, аудио и видео дорожки не 
перемешаны между собой, а записаны последовательно.

-- 
Maxim Dounin
http://nginx.org/



Подробная информация о списке рассылки nginx-ru