mp4 module
Андрей Василишин
a.vasilishin на kpi.ua
Вс Сен 11 20:39:16 UTC 2011
Собрал нгинкс с модулем без патча:
# nginx -V
nginx: nginx version: nginx/1.1.2
nginx: configure arguments: --prefix=/etc/nginx
--conf-path=/etc/nginx/nginx.conf
--error-log-path=/var/log/nginx/error.log
--http-client-body-temp-path=/var/lib/nginx/body
--http-log-path=/var/log/nginx/access.log
--http-proxy-temp-path=/var/lib/nginx/proxy
--lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid
--with-debug --with-http_flv_module --with-http_mp4_module
--with-http_realip_module --with-http_stub_status_module
--without-http_browser_module --without-http_geo_module
--without-http_map_module --without-http_memcached_module
--without-http_referer_module --without-http_scgi_module
--without-http_split_clients_module --without-http_ssi_module
--without-http_userid_module --without-http_uwsgi_module
# uname -a
Linux host-25 3.0.0-1-686-pae #1 SMP Wed Aug 17 04:28:34 UTC 2011 i686
GNU/Linux
# cat /etc/nginx/nginx.conf
user www-data www-data;
worker_processes 16;
worker_rlimit_nofile 65535;
error_log /var/log/nginx/error_log crit;
pid /var/run/nginx.pid;
worker_priority -5;
events {
worker_connections 65535;
debug_connection 77.47.176.189;
use epoll;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] $status '
'"$request" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
client_max_body_size 2005m;
server_names_hash_bucket_size 64;
client_body_temp_path /tmp;
client_body_in_file_only clean;
limit_zone one $binary_remote_addr 10m;
send_timeout 30;
keepalive_timeout 30;
proxy_buffering off;
tcp_nopush on;
tcp_nodelay on;
log_not_found on;
sendfile on;
reset_timedout_connection on;
# limit_req_zone $binary_remote_addr zone=one:10m rate=2r/s;
include sites-enabled/*.conf;
}
# cat /etc/nginx/sites-enabled/s4.site.com.conf
server {
# limit_conn download 2;
# limit_rate_after 2048k;
# limit_rate 256k;
listen x.x.x.x:81;
server_name s4.site.com s1.site.com;
access_log /var/log/nginx/s4.site.com.access.log main;
error_log /var/log/nginx/s4.site.com.error.log crit;
location / {
rewrite ^/hdv/(\w+)/(.+)$
/get.php?hash=$1&filename=$2 last;
rewrite ^/flv/(\w+)/(.+)$
/get-flvideo.php?hash=$1&filename=$2 last;
proxy_pass http://127.0.0.1:8080;
proxy_redirect http://s1.site.com:8080/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
access_log /var/log/nginx/s4.site.com.access.log;
}
location ~ ^/cgi-bin {
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
}
location /hdvideo {
location ~ \.flv$ {
root /var/www/site/data/www;
access_log
/var/log/nginx/access-contenthd.log;
open_file_cache max=3000 inactive=120s;
open_file_cache_valid 30s;
open_file_cache_min_uses 2;
open_file_cache_errors off;
output_buffers 1 1m;
try_files
/s4.site.com-st1$uri
/s4.site.com-st2$uri
/s4.site.com-st3$uri
/s4.site.com-st4$uri
/s4.site.com-st5$uri
/s4.site.com-st6$uri
/s4.site.com-st7$uri
/s4.site.com-st8$uri
=404;
internal;
flv;
}
location ~ \.mp4$ {
root /var/www/site/data/www;
access_log
/var/log/nginx/access-contenthd.log;
open_file_cache max=3000 inactive=120s;
open_file_cache_valid 30s;
open_file_cache_min_uses 2;
open_file_cache_errors off;
output_buffers 1 1m;
try_files
/s4.site.com-st1$uri
/s4.site.com-st2$uri
/s4.site.com-st3$uri
/s4.site.com-st4$uri
/s4.site.com-st5$uri
/s4.site.com-st6$uri
/s4.site.com-st7$uri
/s4.site.com-st8$uri
=404;
internal;
mp4;
mp4_buffer_size 1m; # default 512k
mp4_max_moov_size 10m; # default 5m
}
}
location /flvideo {
location ~ \.flv$ {
root /var/www/site/data/www;
access_log
/var/log/nginx/access-contenthd.log;
open_file_cache max=3000 inactive=120s;
open_file_cache_valid 30s;
open_file_cache_min_uses 2;
open_file_cache_errors off;
output_buffers 1 1m;
try_files
/s4.site.com-st1$uri
/s4.site.com-st2$uri
/s4.site.com-st3$uri
/s4.site.com-st4$uri
/s4.site.com-st5$uri
/s4.site.com-st6$uri
/s4.site.com-st7$uri
/s4.site.com-st8$uri
=404;
internal;
flv;
}
location ~ \.mp4$ {
root /var/www/site/data/www;
access_log
/var/log/nginx/access-contenthd.log;
open_file_cache max=3000 inactive=120s;
open_file_cache_valid 30s;
open_file_cache_min_uses 2;
open_file_cache_errors off;
output_buffers 1 1m;
try_files
/s4.site.com-st1$uri
/s4.site.com-st2$uri
/s4.site.com-st3$uri
/s4.site.com-st4$uri
/s4.site.com-st5$uri
/s4.site.com-st6$uri
/s4.site.com-st7$uri
/s4.site.com-st8$uri
=404;
internal;
mp4;
mp4_buffer_size 1m; # default 512k
mp4_max_moov_size 10m; # default 5m
}
}
location /player_frame {
root /var/www/site/data/www;
open_file_cache max=3000 inactive=120s;
open_file_cache_valid 30s;
open_file_cache_min_uses 2;
open_file_cache_errors off;
output_buffers 1 512k;
try_files
/s4.site.com-st1$uri
/s4.site.com-st2$uri
/s4.site.com-st3$uri
/s4.site.com-st4$uri
/s4.site.com-st5$uri
/s4.site.com-st6$uri
/s4.site.com-st7$uri
/s4.site.com-st8$uri
=404;
}
location /nginx_status {
stub_status on;
access_log off;
}
}
Почему возникает start time is out mp4 stsc chunks in ""
И еще вопрос, параметр start=xxx в каких единица надо передавать
(секундах|кадрах|байтах)?
--
WBR, Andrey Vasilishin CDIG1-UANIC, CDIG1-RIPE
----------- следущая часть -----------
An embedded and charset-unspecified text was scrubbed...
Name: debug.log
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20110911/4182d81c/attachment-0001.ksh>
----------- следущая часть -----------
Общее
Полное имя : D:\films\10570.mp4
Формат : MPEG-4
Идентификатор кодека : M4V
Размер файла : 78,0 Мбайт
Продолжительность : 25 м.
Общий поток : 434 Кбит/сек
Название фильма : na
Альбом : na
Исполнитель : na
Дата записи : na
Дата кодирования : UTC 2011-09-11 09:07:28
Дата пометки : UTC 2011-09-11 09:07:28
Примечание : na
Видео
Идентификатор : 1
Формат : AVC
Формат/Информация : Advanced Video Codec
Профиль формата : High на L2.1
Параметр CABAC формата : Да
Параметр ReFrames формата : 2 кадры
Идентификатор кодека : avc1
Идентификатор кодека/Информация : Advanced Video Coding
Продолжительность : 25 м.
Вид битрейта : Переменный
Битрейт : 385 Кбит/сек
Максимальный битрейт : 1033 Кбит/сек
Ширина : 480 пикс.
Высота : 268 пикс.
Соотношение сторон : 16:9
Режим частоты кадров : Постоянный
Частота кадров : 10,000 кадр/сек
Цветовое пространство : YUV
Подвыборка цветности : 4:2:0
Битовая глубина : 8 бит
Тип развёртки : Прогрессивная
Бит/(Пиксели*Кадры) : 0.299
Размер потока : 69,2 Мбайт (89%)
Библиотека кодирования : x264 core 116
Настройки программы : cabac=1 / ref=2 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=5 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=0 / threads=12 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=0 / weightp=2 / keyint=250 / keyint_min=10 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=2pass / mbtree=1 / bitrate=385 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=1:1.00
Язык : English
Дата кодирования : UTC 2011-09-11 09:07:28
Дата пометки : UTC 2011-09-11 09:07:30
Аудио
Идентификатор : 2
Формат : AAC
Формат/Информация : Advanced Audio Codec
Профиль формата : HE-AAC / LC
Идентификатор кодека : 40
Продолжительность : 25 м.
Вид битрейта : Переменный
Битрейт : 48,0 Кбит/сек
Максимальный битрейт : 53,0 Кбит/сек
Канал(ы) : 2 канала(ов)
Расположение каналов : Front: L R
Частота : 48,0 КГц / 24,0 КГц
Метод сжатия : С потерями
Размер потока : 8,62 Мбайт (11%)
Язык : English
Дата кодирования : UTC 2011-09-11 09:07:28
Дата пометки : UTC 2011-09-11 09:07:30
Подробная информация о списке рассылки nginx-ru