版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SKY453589103/article/details/89244558
环境搭建
搭建一个直播流程需要一下几个组件:
- nginx:作为直播的服务器,接收推流过来的数据,以及负责分发数据流。
- ffmepg:推流客户端
- VLC media player:播放器,用来做为直播的客户端。
nginx安装与部署
源码安装
在安装nginx前你需要先下几个依赖库:
然后在nginx官网上查询最新的版本,然后修改链接:http://nginx.org/download/nginx-1.15.11.tar.gz
中的版本号下载nginx源码。
然后下载RTMP模块源码。依次执行下面的命令:
cd 到nginx 目录
# 将各个模块的目录替换成自己的目录
./configure --add-module=../nginx-rtmp-module-master --with-pcre=../pcre-8.43 --with-openssl=../openssl-master --with-zlib=../zlib-1.2.11
sudo make
sudo make install
即可完成安装,nginx将默认安装到usr/local/nginx
目录下,如果不清楚的话,在执行了configure
脚本之后,会输出默认的具体路径,注意看一下即可。输出如下
nginx path prefix: "/usr/local/nginx"
nginx binary file: "/usr/local/nginx/sbin/nginx"
nginx modules path: "/usr/local/nginx/modules"
nginx configuration prefix: "/usr/local/nginx/conf"
nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
nginx pid file: "/usr/local/nginx/logs/nginx.pid"
nginx error log file: "/usr/local/nginx/logs/error.log"
nginx http access log file: "/usr/local/nginx/logs/access.log"
nginx http client request body temporary files: "client_body_temp"
nginx http proxy temporary files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"
nginx http uwsgi temporary files: "uwsgi_temp"
nginx http scgi temporary files: "scgi_temp"
配置
这里我提供一下配置文件,直接copy即可(PS:RMTP的github官网也有有对应的配置,我这个是简化版):
worker_processes 4;
worker_rlimit_nofile 30000;
events {
worker_connections 4096;
}
rtmp {
server {
listen 1935;
chunk_size 4096;
application live_test{
live on;
}
}
}
配置完之后执行sudo /usr/local/nginx/sbin/nginx
启动ngixn。执行/usr/local/nginx/nginx -s reload
就可以重新加载配置了。
ffmpeg安装
从Ubuntu 15.x开始,ffmpeg就已经纳入了官方镜像源中,所以安装也很简单:
sudo apt install ffmpeg
也可以源码安装。我更倾向于源码安装,所以这里列一下安装的方法, 也很简单。
先从官网上下载最新版的源码。
解压后执行
./confiure
sudo make
sudo make install
推流与播放
- 推流
执行下面的命令即可推送流到直播流服务器(也就是上面启动的nginx)
# 改名命令的含义是将本地的test.mp4文件推送到nginx服务器。
# 推送的直播流地址中的IP是你本机的IP,通过ifconfig命令就可以查看了。
ffmpeg -re -i test.mp4 -acodec copy -vcodec copy -f flv rtmp://192.168.12.129:1935/live_test/test_1
- 播放
可以在Ubuntu的软件商店下载安装VLC,也可以在Window下安装。然后将直播流链接在VLC中打开即可。下面给个效果图