本教程感谢慕课网
常用工具:
ffmpeg音视频编解码
ffplay音视频播放工具
搭建流媒体服务器
准备流媒体服务器linux
准备并安装Nginx服务
配置RTMP并启动Nginx服务
1.linxu安装Nginx和rtmp
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
原文PPA不可用,源码安装参见
http://blog.csdn.net/redstarofsleep/article/details/45092145
12. 配置 nginx-rtmp 服务器
打开 /usr/local/nginx/conf/nginx.conf
在末尾添加如下 配置
rtmp { server { listen 1935; #监听的端口 chunk_size 4000; application hls { #rtmp推流请求路径 live on; hls on; hls_path /usr/local/nginx/html/hls; hls_fragment 5s; } } }
13. 保存上面配置文件,然后重新启动nginx服务
sudo service nginx restart
14. 如果你使用了防火墙,请允许端口 tcp 1935
用netstat -an | grep 1935
出现以下信息代表则代表启动nginx/rtmp成功
netstat -an| grep 1935
tcp 0 0 0.0.0.0:1935 0.0.0.0:* LISTEN
16: 使用 客户端,使用 rtmp协议进行视频实时采集
ffmpeg直播命令:
推流:ffmpeg -re -i 1.mp4 -c copy -f flv rtmp://xxx.xxx.xxx.xxx:1935/hls/1.mp4
拉流:ffmpeg -i rtmp://xxx.xxx.xxx.xxx/1.mp4 -c copy dump.flv
播放音视频:ffplay rtmp://xxx.xxx.xxx.xxx/hls
17.下载一个OBS(视频直播客户端)
(1)配置url
(2)推流
(3)服务器播放
ffplay rtmp://xxx.xxx.xxx.xxx/hls
18: 关于 nginx-rtmp 更多配置
https://github.com/arut/nginx-rtmp-module/wiki/Directives
flashplay播放器地址
http://bbs.chinaffmpeg.com/1.swf