网易视频云用Nginx搭建flv,mp4,hls流媒体服务器
网易视频云是网易倾力打造的一款基于云计算的分布式多媒体处理集群和专业音视频技术提供稳定流畅、低时延、高并发的视频直播、录制、存储、转码及点播等音视频的PAAS服务在线教育、远程医疗、娱乐秀场、在线金融等各行业及企业用户只需经过简单的开发即可打造在线音视频平台。今天网易视频云就给大家分享关于用Nginx搭建flv,mp4,hls流媒体服务器的技术干货
模块:nginx_mod_h264_streaming 支持h264编码MP4格式的视频
模块:http_flv_module 支持flv
模块:http_mp4_module 支持mp4
模块: nginx-rtmp-module 支持rtmp协议也支持HLS
1 模块下载和解压wget http://nginx.org/download/nginx-1 .6.0.tar.gzwg e thttp://h264.code-shop.com/download/nginx_mod_h264_streaming-2.2.7.tar.gzwget http://sourceforge.net/projects/pcre/fi les/pcre/8.35/pcre-8.35.tar.gzwget http://zl ib.net/zl ib-1 .2.8.tar.gz
wget http://www.openssl .org/source/openssl-1 .0. 1g.tar.gzwget -O nginx-rtmp-module.ziphttps://github.com/arut/nginx-rtmp-module/archive/master.zipunzip nginx-rtmp-module.ziptar -zxvf nginx-1 .6.0.tar.gztar -zxvf nginx_mod_h264_streaming-2.2.7.tar.gztar -zxvf pcre-8.35.tar.gztar -zxvf zl ib-1 .2.8.tar.gztar -zxvf openssl-1 .0.1g.tar.gz
2 配置命令会生成makefile文件
./configure\
--prefix=/usr/local/nginx\
--add-module=. ./nginx_mod_h264_streaming-2.2.7\--add-module=. ./nginx-rtmp-module\
--with-http_flv_module\
--with-http_mp4_module\
--with-http_stub_status_module\
--with-http_ssl_module\
--with-pcre=. ./pcre-8.35\
--with-zl ib=. ./zl ib-1 .2.8\
--with-debug
3 编译和安装ma kemake instal l
4问题解决
【1 】 如果在configure过程中出现以下错误
/root/nginx_mod_h264_streaming-2.2.7/src/ngx_http_streaming_module.c: Infunction ‘ngx_streaming_handler’ :
/root/nginx_mod_h264_streaming-2.2.7/src/ngx_http_streaming_module.c: 158:error: ‘ngx_http_request_t’ has no membernamed ‘zero_in_uri ’make[1 ]: *** [objs/addon/src/ngx_http_h264_streaming_module.o]Error 1make[1 ]: Leaving directory`/root/nginx-0.8.54'make: *** [bui ld]Error 2
那么将src/ngx_http_streaming_module.c文件中以下代码删除或者是注释掉就可以了
/*TODO:Win32*/if (r->zero_in_uri)
{return NGX_DECLINED;
}
如果你没有对这个文件做个更改那么应该在源码的第157-161行。这个问题是由于版本原因引起在此不再讨论。
修改完之后记得先执行make clean 然后再进行重新执行configure、 ma ke 最后make instal l。
【2】 如果在编译过程中出现以下错误cc1 :warnings being treated as errors
那么修改/nginx-1 .6.0/objs/Makefi le文件
CFLAGS= -pipe -O-W-Wal l -Wpointer-arith -Wno-unused-parameter-Werror -g -D_LARGEFILE_SOURCE-DBUILDING_NGINX
-I . ./nginx-rtmp-module-master
把上面的-Werror去掉不把warn ning当作error处理
5Nginx的配置
#user nobody;worker_processes 1 ;
#error_log logs/error. log;
#error_log logs/error. log notice;
#error_log logs/error. log info;
#pid logs/nginx.pid;events{worker_connections 1024;
}rtmp{server {l isten 1935;chunk_size4000;
#video on demand forflvfi lesappl ication vod {play/usr/local/nginx/html/flv;
}
#video on demand for mp4 fi les
appl ication vod2{play/usr/local/nginx/html/mp4;
}appl ication hls{l ive on;hlson;hls_path /tmp/hls;
}
#MPEG-DASHissimi lar toHLSappl ication dash{l ive on;dashon;dash_path /tmp/dash;
}
}
}http{include mime.types;
default_type appl ication/octet-stream;
#log_format main '$remote_addr -$remote_user [$time_local] "$request" '# '$status$body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"' ;
#access_log logs/access. log main;sendfi le on;
#tcp_nopush on;
#keepal ive_timeout 0;keepal ive_timeout 65;
#gzip on;server {
#in case we have anotherweb server on port 80l isten 8080;server_name localhost;
#charset koi8-r;
#access_log logs/host.access. log main;location/ {root html ;
index index.html index.htm;
}
#error_page 404 /404.html ;
#redirect server error pages to the static page/50x.html#error_page 500502503504 /50x.html ;location =/50x.html {root html ;
}location~\.mp4${mp4;
}location~\.flv${flv;
}
#This URL provides RTMP statistics in XMLlocation/stat {rtmp_stat al l ;
rtmp_stat_stylesheet stat.xsl ;
}location/stat.xsl {
#XML stylesheet to view RTMP stats.#Copy stat.xsl wherever you want
#and put the ful l directory path herer o o t /va r/www/;
}location/hls{
#Serve HLS fragmentstypes{appl ication/vnd.apple.mpegurl m3u8;video/mp2t ts;
}
#where the m3u8 andtsfi les areal ias/usr/local/nginx/html/hls;
#l ive streaming setting
#root /tmp;
上次部落分享过VirMach提供的End of Life Plans系列的VPS主机,最近他们又发布了DEDICATED MIGRATION SPECIALS产品,并提供6.5-7.5折优惠码,优惠后最低每月27.3美元起。同样的这些机器现在订购,将在2021年9月30日至2022年4月30日之间迁移,目前这些等待迁移机器可以在洛杉矶、达拉斯、亚特兰大、纽约、芝加哥等5个地区机房开设,未来迁移的时...
justhost怎么样?justhost服务器好不好?JustHost是一家成立于2006年的俄罗斯服务器提供商,支持支付宝付款,服务器价格便宜,200Mbps大带宽不限流量,支持免费更换5次IP,支持控制面板自由切换机房,目前JustHost有俄罗斯6个机房可以自由切换选择,最重要的还是价格真的特别便宜,最低只需要87卢布/月,约8.5元/月起!总体来说,性价比很高,性价比不错,有需要的朋友可以...
妮妮云的来历妮妮云是 789 陈总 张总 三方共同投资建立的网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑妮妮云的市场定位妮妮云主要代理市场稳定速度的云服务器产品,避免新手购买云服务器的时候众多商家不知道如何选择,妮妮云就帮你选择好了产品,无需承担购买风险,不用担心出现被跑路 被诈骗的情况。妮妮云的售后保证妮妮云退款 通过于合作商的友好协商,云服务器提供2天内全额退款到网站余额,超过2天...