← Форум / Рецепты / Псевдостриминг mp4 в nginx
Ранее в nginx был лишь модуль для проигрывания flv с любого момента времени (т.н. псевдостриминг).
Теперь есть нативный модуль для mp4 и не нужно использовать сторонние решения.
Для Uppod достаточно включить стриминг в редакторе стилей (Опции > Стриминг) и указать в качестве отправляемых данных секунды.
Теперь есть нативный модуль для mp4 и не нужно использовать сторонние решения.
В trunk появился ngx_http_mp4_module. Так же доступен патч
http://nginx.org/patches/patch.mp4.txt
который должен подойти для nginx-1.0 и последних 0.8.
Сборку нужно явно разрешить:
--with-http_mp4_module
Если используется 3rd-party mp4 модуль, то его нужно убрать.
Конфигурация:
location /mp4/ {
mp4;
mp4_buffer_size 1m; # default 512k
mp4_max_moov_size 10m; # default 5m
}
mp4_buffer_size — начальный размер буфера для чтения mp4 файла.
В этом же буфере хранятся целиком все мета-данные mp4 файла (moov атом).
Максимальный размер читаемого moov атома задаётся в mp4_max_moov_size.
Источник на форуме nginx.http://nginx.org/patches/patch.mp4.txt
который должен подойти для nginx-1.0 и последних 0.8.
Сборку нужно явно разрешить:
--with-http_mp4_module
Если используется 3rd-party mp4 модуль, то его нужно убрать.
Конфигурация:
location /mp4/ {
mp4;
mp4_buffer_size 1m; # default 512k
mp4_max_moov_size 10m; # default 5m
}
mp4_buffer_size — начальный размер буфера для чтения mp4 файла.
В этом же буфере хранятся целиком все мета-данные mp4 файла (moov атом).
Максимальный размер читаемого moov атома задаётся в mp4_max_moov_size.
Для Uppod достаточно включить стриминг в редакторе стилей (Опции > Стриминг) и указать в качестве отправляемых данных секунды.
uppod | Ссылка на пост (Смотрели 11442) | 12.09.11 21:00 Ответить |
с 1 раза не поверил когда увидел на офф сайте,
не ужали 3 строчный скрипт уйдет в историю!!!:))
это наряду с обновление ффмпег что он кодит даже с очень сильным сжатием в 6 раз быстрее :)
дед мороз исполнил почти все мои желания за ранее :D
> В одном локейшине можно использовать flv и mp4 модули?
Нет. Только так:
location ~ \.mp4$ {mp4;root адрес до папки;}
location ~ \.flv$ {flv;root адрес до папки;}
и
Директива mp4_max_moov_size переименована в mp4_max_buffer_size.
nginx 1.1.16, uppod 1.0.5
после компиляции со сторонним модулем nginx_mod_h264_streaming-2.2.7 и без http_mp4_module проблема разрешилась