首页 > 代码库 > 树莓派3B+搭建Nginx流媒体服务器

树莓派3B+搭建Nginx流媒体服务器

树莓派3B+搭建流媒体服务器

一、硬件准备

1)树莓派3B+

2)配套电源

3)连接到网络

二、软件安装包

1)nginx源码包nginx-1.8.1.tar.gz

下载地址:

http://nginx.org/download/nginx-1.8.1.tar.gz

2)h264数据流支持包nginx_mod_h264_streaming-2.2.7.tar.gz

下载地址:

http://h264.code-shop.com/download/nginx_mod_h264_streaming-2.2.7.tar.gz

三、安装步骤

1)下载nginx源码包

wget http://nginx.org/download/nginx-1.8.1.tar.gz

2)解压

tar -zxvf nginx-1.8.1.tar.gz

3)下载nginx h264数据流支持包

wget http://h264.code-shop.com/download/nginx_mod_h264_streaming-2.2.7.tar.gz

4)解压

tar -zxvf nginx_mod_h264_streaming-2.2.7.tar.gz

5)进入nginx 1.8.1目录,进行配置

 指定安装地址:

--prefix=/usr/local/nginx-stream

 添加h264支持:

--add-module=../nginx_mod_h264_streaming-2.2.7

 添加flv,mp4文件支持:

--with-http_flv_module --with-http_mp4_module

 运行如下命令行进行配置

./configure --prefix=/usr/local/nginx-stream --with-debug --with-http_dav_module --with-http_gzip_static_module --with-http_ssl_module --with-ipv6 --with-sha1=/usr/include/openssl --with-md5=/usr/include/openssl --add-module=../nginx_mod_h264_streaming-2.2.7 --with-http_flv_module --with-http_mp4_module

 6)编译

make
make install

7)修改nginx配置文件

vim /usr/local/nginx/conf

在Http服务器中添加flv,mp4支持,并指定视频文件存储目录

        location ~ \.flv$ {
        flv;
        root \media\videos  #文件目录
        }

        location ~ \.mp4$ {
        mp4;
        root \media\videos #文件目录
        }

8)启动nginx服务

/usr/local/nginx/sbin/nginx              启动nginx服务器
/usr/local/nginx/sbin/nginx -s reload    重新加载配置文件
/usr/local/nginx/sbin/nginx -t           查询nginx配置

在PC浏览器输入树莓派IP,可以看到nginx欢迎界面

技术分享

指定视频文件即可进行播放

技术分享

至此,nginx 流媒体服务器已经部署完成。

四、可能遇见问题

1)配置错误,无法正确生成Makefile文件

安装 pcre,openssl,zlib库即可

sudo apt-get install libpcre3 libpcre3-dev  
sudo apt-get install openssl libssl-dev  
sudo apt-get install zlib1g-dev  

2)编译错误,可能的错误有两个

  • 修改nginx_mod_h264_streaming-2.2.7的源代码:修改ngx_http_streaming_module.c,注释掉

if (r->zero_in_uri)

{

return NGX_DECLINED;

}

  • 删除Makefile 文件中的 -Werror选项

3)如果树莓派安装了其他网络服务器,注意端口冲突和防火墙配置。

 


 

 骞拓

2017-03-24

 

树莓派3B+搭建Nginx流媒体服务器