nginx-rtmp-module和ffmpeg搭建流媒体服务器
2016-02-25 23:36
726 查看
万事俱备,只欠东风,安装完毕nginx-rtmp-module 和ffmpeg后,就可以开始搭建流媒体服务器了哈。下面是具体步骤:
一、配置nginx.conf
打开nginx配置文件,在里面添加如下配置:
rtmp 不在任何域里面.另外针对hls,需要增加如下配置
这个配置需要配置在配置文件的server域里面.以上如果配置错误 ,重启nginx时会报错如:
重启NGINX后,用netstat -anp|grep 1935 命令查看是否已经启动流媒体服务的端口。有则证明启动和配置成功。
二、ffmpeg推流到nginx
1, rtmp流
ffmpeg -re -i “/alidata/download/06.mp4” -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 rtmp://你的服务器ip:1935/myapp/test1
执行这个命令,则表示将流推送到 rtmp://你的服务器ip:1935/myapp/test1这个地址,解释一下这个命令行的选项参数:
-vcodec libx264 表示 视频的编码器为H264;
vprofile baseline 设置音视频编码器的类
-acodec aac 指定声音的编码器为AAC
-ar 44100 设定音频编解码器的采样率,整数,单位Hz。
-strict -2
-ac 1 设置音频编解码器的声道数目
-f flv 强制设定输入和输出文件格式
-s 1280x720 设置图像分辨率
-q 10
复制这个地址到VLC播放器就可以看到视频
2,hls流
ffmpeg -re -i “/alidata/download/06.mp4” -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 rtmp://你的服务器IP:1935/hls/test2
配置参数跟rtmp流也是一样,只是输出流地址不一样,这里为:http://serverIp:8080/hls/test2.m3u8
在/tmp/hls目录 则看到生成了test2.m3u8文件
播放器播放的就是这个文件。至此已经利用nginx-rtmp-module和ffmpeg成功搭建流媒体服务器,对视频播放已经大概有一个认识。
一、配置nginx.conf
打开nginx配置文件,在里面添加如下配置:
rtmp { server { listen 1935; application myapp { live on; } application hls { live on; hls on; hls_path /tmp/hls; } } }
rtmp 不在任何域里面.另外针对hls,需要增加如下配置
location /hls { types { application/vnd.apple.mpegurl m3u8; video/mp2t ts; } root /tmp; add_header Cache-Control no-cache; }
这个配置需要配置在配置文件的server域里面.以上如果配置错误 ,重启nginx时会报错如:
nginx: [emerg] "rtmp" directive is not allowed here in /etc/nginx/nginx.conf:18
重启NGINX后,用netstat -anp|grep 1935 命令查看是否已经启动流媒体服务的端口。有则证明启动和配置成功。
二、ffmpeg推流到nginx
1, rtmp流
ffmpeg -re -i “/alidata/download/06.mp4” -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 rtmp://你的服务器ip:1935/myapp/test1
执行这个命令,则表示将流推送到 rtmp://你的服务器ip:1935/myapp/test1这个地址,解释一下这个命令行的选项参数:
-vcodec libx264 表示 视频的编码器为H264;
vprofile baseline 设置音视频编码器的类
-acodec aac 指定声音的编码器为AAC
-ar 44100 设定音频编解码器的采样率,整数,单位Hz。
-strict -2
-ac 1 设置音频编解码器的声道数目
-f flv 强制设定输入和输出文件格式
-s 1280x720 设置图像分辨率
-q 10
复制这个地址到VLC播放器就可以看到视频
2,hls流
ffmpeg -re -i “/alidata/download/06.mp4” -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 rtmp://你的服务器IP:1935/hls/test2
配置参数跟rtmp流也是一样,只是输出流地址不一样,这里为:http://serverIp:8080/hls/test2.m3u8
在/tmp/hls目录 则看到生成了test2.m3u8文件
播放器播放的就是这个文件。至此已经利用nginx-rtmp-module和ffmpeg成功搭建流媒体服务器,对视频播放已经大概有一个认识。
相关文章推荐
- Nginx学习笔记七Nginx的Web缓存服务
- nginx: [emerg] unknown "scripts" variable
- nginx启动、关闭、重启
- Nginx配置文件nginx.conf中文详解
- Nginx的负载均衡的那点事
- Nginx配置文件详解
- Nginx的TCP负载均衡
- Nginx日志过滤 使用ngx_log_if不记录特定日志
- Nginx基础教程PPT
- Python分析NGINX LOG版本二
- Nginx的GeoIp模块的应用与使用
- 初学nginx
- yum nginx 安装时错误 Errno 14 Couldn't resolve host 解决办法
- Windows下Nginx的启动、停止等命令
- 一天,python搞个分析NGINX日志的脚本
- nginx日志切割
- Nginx+Keepalived(带Nginx监控脚本)
- Nginx+Keepalived(带Nginx监控脚本)
- nginx 操作
- nginx 伪静态的设置