預設nginx是不支援流媒體拖放等功能的,flv內建了這個支援,只需要加上–with-http_flv_module就可以了,flv視頻需要加上主要畫面格,用yadmi處理一下就可以了yamdi -i in.flv out.flv
已經安裝nginx時,先查看nginx編譯環境
/usr/local/nginx/sbin/nginx -V
看看有沒有–with-http_flv_module 沒有的話就加上這句
複製已有的環境,後面加上–add-module=/root/chenwei/movie/nginx_mod_h264_streaming-2.2.7
./configure –user=www –group=www –prefix=/usr/local/nginx –with-http_stub_status_module –with-http_ssl_module –with-http_gzip_static_module –with-ipv6 –with-http_flv_module –add-module=/root/movie/nginx_mod_h264_streaming-2.2.7
make
ngx_http_streaming_module.c:158:8: 錯誤:‘ngx_http_request_t’沒有名為‘zero_in_uri’的成員
找到ngx_http_streaming_module.c 158行
注釋掉
if (r->zero_in_uri) { return NGX_DECLINED; } 這一段
../nginx_mod_h264_streaming-2.2.7/src/mp4_reader.c: 在函數‘esds_read’中:
../nginx_mod_h264_streaming-2.2.7/src/mp4_reader.c:377:16: 錯誤: 變數‘stream_priority’被設定但未被使用 [-Werror=unused-but-set-variable]
../nginx_mod_h264_streaming-2.2.7/src/mp4_reader.c:376:12: 錯誤: 變數‘stream_id’被設定但未被使用 [-Werror=unused-but-set-variable]
../nginx_mod_h264_streaming-2.2.7/src/mp4_reader.c: 在函數‘stsd_parse_vide’中:
../nginx_mod_h264_streaming-2.2.7/src/mp4_reader.c:529:22: 錯誤: 變數‘level_indication’被設定但未被使用 [-Werror=unused-but-set-variable]
../nginx_mod_h264_streaming-2.2.7/src/mp4_reader.c:528:22: 錯誤: 變數‘profile_compatibility’被設定但未被使用 [-Werror=unused-but-set-variable]
../nginx_mod_h264_streaming-2.2.7/src/mp4_reader.c:527:22: 錯誤: 變數‘profile_indication’被設定但未被使用 [-Werror=unused-but-set-variable]
../nginx_mod_h264_streaming-2.2.7/src/mp4_reader.c:526:22: 錯誤: 變數‘configuration_version’被設定但未被使用 [-Werror=unused-but-set-variable]
cc1: all warnings being treated as errors
make[1]: *** [objs/addon/src/mp4_reader.o] 錯誤 1
# vim objs/Makefile (修改objs/Makefile檔案, 去掉其中的”-Werror”), 然後就能夠正常編譯了.
移動objs/nginx到nginx安裝目錄(/usr/local/nginx/sbin/nginx)
在網站設定檔中添加
location ~ .flv {
flv;
}
location ~ .mp4 {
mp4;
}
重啟nginx
nginx -t
nginx -s reload