mp4 module

Igor Sysoev igor на sysoev.ru
Чт Сен 29 13:38:22 UTC 2011


On Wed, Sep 28, 2011 at 10:24:37AM -0400, floydback wrote:
> Коллеги, у меня вопрос. Не могу
> сообразить что нового в модуле и для
> чего он нужен.
> У меня и без него перемотка mp4 файлов
> работала с указанной секунды.
> 
> Вот моя версия
> nginx -V
> nginx version: nginx/0.8.55
> built by gcc 4.3.2 (Debian 4.3.2-1.1)
> TLS SNI support enabled
> configure arguments: --conf-path=/etc/nginx/nginx.conf
> --error-log-path=/var/log/nginx/error.log --pid-path=/var/run/nginx.pid
> --lock-path=/var/lock/nginx.lock
> --http-log-path=/var/log/nginx/access.log
> --http-client-body-temp-path=/var/lib/nginx/body
> --http-proxy-temp-path=/var/lib/nginx/proxy
> --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --with-debug
> --with-http_stub_status_module --with-http_flv_module
> --with-http_ssl_module --with-http_dav_module
> --add-module=/usr/src/nginx_mod_h264_streaming-2.2.7
> --add-module=/usr/src/replay-ngx_http_secure_download-8ddc19d
> --sbin-path=/usr/sbin
> 
> Я использовал модуль nginx_mod_h264_streaming-2.2.7
> Все файлы кодируюся из .mov в .mp4 ffmpeg с
> кодеком x264, а затем в файле
> перезаписываются утилитой MP4Box
> метаданные moov атом в начало файла.
> 
> Теперь /file.mp4?start=21 отдает файл сразу с 21
> секунды. Более того /file.mp4?start=21&end=29
> отдает файл с 21 секунды по 29.
> Это все настраивается.
> 
> Тестировал с плеерами Uppod и JVPlayer. 
> 
> Далее, используя директиву X-Accel-Redirect
> можно даже скрыть физическое
> расположение файла. При этом перемотка
> все равно работает.
> 
> Скажите, что нового в модуле, чего нет в
> моей реализации?
> Не нужно использовать MP4Box для
> прописывания метаданных?
> Или он быстрее работает?
> Или я чего-то не знаю.

ngx_http_mp4_module - это замена nginx_mod_h264_streaming, но не полная.
В частности, поддерживается только параметр start=XXXX.
А какие плееры используют end=XXX ?

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

MP4Box желательно использовать для обоих модулей, потому что иначе
поиск moov-атома будет делаться на каждый запрос без перемотки (start=0).


-- 
Игорь Сысоев
http://sysoev.ru



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