# HG changeset patch # User Ruslan Ermilov # Date 1318581937 0 # Node ID f5539fb36bbb0103292456e54b9b33b42fb915f0 # Parent 341dc6392e8a41e568bde2e37703c063954845af Russian translation of ngx_http_mp4_module. diff -r 341dc6392e8a -r f5539fb36bbb xml/ru/GNUmakefile --- a/xml/ru/GNUmakefile Thu Oct 13 12:40:16 2011 +0000 +++ b/xml/ru/GNUmakefile Fri Oct 14 08:45:37 2011 +0000 @@ -33,6 +33,7 @@ ru/docs/http/ngx_http_log_module \ ru/docs/http/ngx_http_map_module \ ru/docs/http/ngx_http_memcached_module \ + ru/docs/http/ngx_http_mp4_module \ ru/docs/http/ngx_http_perl_module \ ru/docs/http/ngx_http_proxy_module \ ru/docs/http/ngx_http_random_index_module \ diff -r 341dc6392e8a -r f5539fb36bbb xml/ru/docs/http/ngx_http_mp4_module.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/xml/ru/docs/http/ngx_http_mp4_module.xml Fri Oct 14 08:45:37 2011 +0000 @@ -0,0 +1,161 @@ + + + + + + +
+ + +Модуль ngx_http_mp4_module обеспечивает серверную поддержку +псевдо-стриминга для файлов в формате H.264/AAC. Такие файлы обычно +имеют расширения +.mp4, .m4v.m4a. + + + +Псевдо-стриминг работает в паре с совместимым Flash-плеером. +Плеер посылает серверу HTTP-запрос с указанием точки времени старта +в аргументе +start +строки запроса (время задаётся в секундах), а сервер в +ответ посылает поток, у которого начальная позиция соответствует +запрошенному времени, например: + +http://example.com/elephants_dream.mp4?start=238.88 + +Это позволяет в любой момент времени выполнить произвольное +позиционирование, а также начать воспроизведение с середины +временной шкалы. + + + +В форматах, основанных на H.264, метаданные, необходимые для поддержки +позиционирования, хранятся в так называемом “moov атоме.” +Это часть файла, которая содержит индексную информацию для всего файла. + + + +До начала воспроизведения плееру необходимо прочитать метаданные. +Для этого он отсылает специальный запрос с аргументом +start=0. +Многие кодирующие программы добавляют метаданные в конец файла. +Для псевдо-стриминга это плохо: метаданные должны быть расположены +в начале файла, иначе потребуется загрузить файл целиком, прежде +чем начать воспроизведение. Если файл отформатирован хорошо, +с метаданными в начале файла, nginx просто посылает в ответ +содержимое файла. В противном случае, он вынужден будет прочитать +файл и подготовить новый поток, в котором метаданные предшествуют +медийным данным. Это требует дополнительного процессорного +времени, памяти и дискового ввода/вывода, поэтому лучше + +подготовить исходный файл для псевдо-стриминга, +нежели чем заставлять nginx делать это для каждого запроса. + + + +Для запроса с ненулевым аргументом +start +nginx считывает из файла метаданные, готовит поток с запрошенного +смещения, и отправляет его клиенту. +Это тоже требует дополнительных ресурсов, как указано выше. + + + +Если запрос, обрабатываемый этим модулем, не содержит аргумента +start, +дополнительные ресурсы не тратятся, а файл отсылается просто как +статический ресурс. +Некоторые плееры также поддерживают запросы с указанием диапазона +запрашиваемых байт (byte-range requests), для них вообще не +требуется этот модуль. + + + +По умолчанию этот модуль не собирается, его сборку необходимо +разрешить с помощью конфигурационного параметра +--with-http_mp4_module. + +Если вы ранее использовали сторонний модуль mp4, не забудьте его отключить. + + + + +Схожая поддержка псевдо-стриминга для FLV-файлов обеспечивается модулем +ngx_http_flv_module. + + +
+ + +
+ + + +location /video/ { + mp4; + mp4_buffer_size 1m; + mp4_max_buffer_size 5m; +} + + + +
+ + +
+ + +mp4 + +location + + +Включает в содержащем location обработку этим модулем. + + + + + + +mp4_buffer_size размер +mp4_buffer_size 512K +http +server +location + + +Задаёт начальный размер буфера памяти, используемого при обработке MP4 файлов. + + + + + + +mp4_max_buffer_size размер +mp4_max_buffer_size 10M +http +server +location + + +В процессе обработки метаданных может понадобиться буфер большего размера. +Его размер не может превышать указанного, +иначе nginx возвращает серверную ошибку + +и протоколирует следующее: + +"/some/movie/file.mp4" mp4 moov atom is too large: +12583268, you may want to increase mp4_max_buffer_size + + + + + +
+ +
diff -r 341dc6392e8a -r f5539fb36bbb xml/ru/docs/index.xml --- a/xml/ru/docs/index.xml Thu Oct 13 12:40:16 2011 +0000 +++ b/xml/ru/docs/index.xml Fri Oct 14 08:45:37 2011 +0000 @@ -207,14 +207,11 @@ ngx_http_memcached_module - - ngx_http_perl_module diff -r 341dc6392e8a -r f5539fb36bbb xml/ru/index.xml --- a/xml/ru/index.xml Thu Oct 13 12:40:16 2011 +0000 +++ b/xml/ru/index.xml Fri Oct 14 08:45:37 2011 +0000 @@ -150,7 +150,9 @@ -FLV streaming; +FLV +и +MP4 стриминг;