ffmpeg+nginx将rtsp转为rtmp
一、安装ffmpeg
1.http://ffmpeg.org/download.html下载地址,选择合适的操作系统版本下载,因为我的操作系统是centos7,所以下面的安装都是命令都是针对centos系统的
2.安装ffmpeg依赖的软件x264
sudo yum install x264-devel.x86_64
3.配置ffmpeg
./configure --enable-gpl --enable-libx264
4.编译(时间有点长)
make
5.安装
make install
二、安装nginx
1.官网下载源码http://nginx.org/
2.到github上,下载rtmp-module,https://github.com/arut/nginx-rtmp-module,在后面配置nginx需要用到
3.安装openssl,配置nginx需要,sudo yum install openssl-devel.x86_64
4.配置nginx,进入到nginx源码目录
./configure --add-module=/path/to/nginx-rtmp-module
5.编译
make
6.安装
make install
7.修改nginx配置文件
添加
rtmp{
server{
listen 1935;
chunk_size 4000;
application mylive{
live on;
}
}
}
三、运行软件
1.启动nginx
nginx -c /path/to/nginx.conf
2.启动ffmpeg
ffmpeg -re -rtsp_transport tcp -i "rtsp://用户名:密码@摄像机IP地址:RTSP端口/h264/ch1/main/av_stream" -f flv -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 "rtmp://本机地址:1935(nginx.conf的rtmp模块下listen)/mylive(rtmp模块下application设置)/test(随便取名字)"