start time is out mp4 stsc chunks

Maxim Dounin mdounin at mdounin.ru
Thu Mar 27 12:59:19 UTC 2014


Hello!

On Thu, Mar 27, 2014 at 02:19:35PM +0200, Андрей Василишин wrote:

> Добрый день!
> Есть такая проблема: есть 2 сервера с одинаковым конфигом, но разными
> нгинксами, на первом такой:
> # nginx  -V
> nginx version: nginx/1.2.4

[...]

> на втором такой:
> # nginx -V
> nginx version: nginx/1.5.7

[...]

> Один и тот же файл mp4 на первом проигрывается и перематывается нормально, а
> навтором при перемотке возникает ошибка:

[...]

> 2014/03/26 14:01:55 [error] 51008#0: *118478378 start time is out mp4 stsc
> chunks in "/var/www/test.com-mst3/files/hd_01/file_720.mp4", client:
> 176.104.55.60, server: test.com, request: "GET
> /s/91f3ee1ab9adaf461376a5e94e4f0eb7/hd_01/file_720.mp4?start=3072.76
> HTTP/1.1", upstream: "http://127.0.0.1:8080/kino.php?code=91f3ee1ab9adaf461376a5e94e4f0eb7&film=hd_01/file_720.mp4&start=3072.76",
> host: "test.com", referrer: "http://filmix.net/uppod.swf"

[...]

> Кто виноват и что делать?

Проблема в том, что в mp4-файле присутствует короткая дорожа.

В старых версиях nginx просто выкидывал все дорожки неизвестных 
типов, но начиная с 1.3.5 - оставляет, т.к. предыдущее поведение 
ломало субтитры:

    *) Change: opening and closing a connection without sending any data in
       it is no longer logged to access_log with error code 400.

Чтобы заработало - нужно либо убрать дорожки из файла, либо 
обновится до nginx 1.5.10+:

    *) Feature: the ngx_http_mp4_module now skips tracks too short for a
       seek requested.

Подробнее можно почитать где-то тут:

http://trac.nginx.org/nginx/ticket/414

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



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