一:RTMP
RTMP流媒体协议是 一套 Adobe 开发的音频视频实时传输协议;
二:Nginx-rtmp
nginx-rtmp 是一个基于nginx的 RTMP服务模块,开源,免费
https://github.com/arut/nginx-rtmp-module
三:在 ubuntu server 14 安装流程
1.先下载安装 nginx 和 nginx-rtmp 编译依赖工具
sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev
2.创建一个工作目录,并切换到工作目录
mkdir ~/working
cd ~/working
3.下载 nginx 和 nginx-rtmp源码
wget http://nginx.org/download/nginx-1.7.5.tar.gz
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
4.安装unzip工具,解压下载的安装包
sudo apt-get install unzip
5.解压 nginx 和 nginx-rtmp安装包
tar -zxvf nginx-1.7.5.tar.gz
unzip master.zip
6.切换到 nginx-目录
cd nginx-1.7.5
7.添加 nginx-rtmp 模板编译到 nginx
./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master
8.编译安装
make
sudo make install
9.安装nginx init 脚本
sudo wget https://raw.github.com/JasonGiedymin/nginx-init-ubuntu/master/nginx -O /etc/init.d/nginx
sudo chmod +x /etc/init.d/nginx
sudo update-rc.d nginx defaults
10.启动和停止nginx 服务,生成配置文件
sudo service nginx start
sudo service nginx stop
11.安装 FFmpeg
sudo apt-add-repository ppa:jon-severinsson/ffmpeg
sudo apt-get update
sudo apt-get install ffmpeg
12.配置 nginx-rtmp 服务器
打开 /usr/local/nginx/conf/nginx.conf
在末尾添加如下 配置
rtmp {
server {
listen 1935;
application mytv {
live on;
}
}
}
13.保存上面配置文件,然后重新启动nginx服务
sudo service nginx restart
14.如果你使用了防火墙,请允许端口 tcp 1935
15.客户端下载anyRTC源码,支持Android、iOS、Windows等平台
https://github.com/AnyRTC/AnyRTC-RTMP
16.编译并运行客户端程序,Android端如下图所示,推流及拉流端均输入图中rtmp路径。本人ubuntu IP地址为192.168.1.97,可酌情替换。
17.运行程序。直播端点击推流按钮,查看端点击拉流按钮。
直播端界面
观看端界面
18.相关参考资料
https://github.com/arut/nginx-rtmp-module
https://github.com/AnyRTC/AnyRTC-RTMP