赞
踩
Nginx-rtmp-module(NRM)的出现使得非专业流媒体开发工程师也可以简单、迅速搭建媒体流服务器,本节将介绍NRM的使用。
复制NRM源代码:
git clone https://github.com/arut/nginx-rtmp-module.git
在Nginx文件夹下重新配置NRM模块(注意RNM的相对位置)
./configure --add-module=../../live/nginx-rtmp-module/
重新编译安装
make && make install
重新启动nginx:
/etc/init.d/nginx restart
修改启动脚本的Nginx配置文件
- worker_processes 1;
- events {
- worker_connections 1024;
- }
- rtmp{
- server{
- listen 1935;
- application mylive{
- live on;#开启直播
- hls on;#开启hls
- hls_path /usr/local/m3u8File; #配置HLS m3u8文件存放地址
- }
- }
- }
- http {
- include mime.types;
- default_type application/octet-stream;
- sendfile on;
- keepalive_timeout 65;
- server {
- listen 80;
- server_name localhost;
- location / {
- root html;
- index index.html index.htm;
- }
-
- location /mylive_hls{
- types {
- #m3u8 type设置
- application/vnd.apple.mpegurl m3u8;
- # ts 分片文件设置
- video/mp2t ts;
- }
- alias /usr/local/m3u8File;
- add_header Cache-Control no-cache; #禁止缓存
- }
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- root html;
- }
- }
- }
重新加载配置文件:
nginx -s reload
创建目录
mkdir /usr/local/m3u8File
直播技术中,经常会涉及推流(push)和拉流(pull),将流媒体推送到流媒体服务器的过程被叫做推流,向服务器获取视频数据的过程叫做拉流,我们首先在一台机器上测试推流和拉流的功能。先在ubuntu安装VLC播放器(直接软件商店搜索安装即可):
通过ffmpeg进行推流,指令如下:
ffmpeg -i test1.mp4 -vcodec libx264 -acodec aac -f flv rtmp://127.0.0.1:1935/mylive/1
test1.mp4为要推送的视频文件,libx264为视频编码库,aac为音频编码库,live为配置文件nginx.conf中application后面的参数是串流码(Stream Key),用来区分同一个application的不同直播流,rtmp://127.0.0.1:1935/mylive/1为具体的服务器推流地址。
打开VLC播放器,选择媒体->打开网络串流:
输入对应的直播地址:rtmp://127.0.0.1:1935/mylive/1,点击播放,此时播放器会处于读取直播流的状态,此时执行上面的推流命令,就可以看到VLC播放器播放推过来的直播视频了:
基本平台搭建和实现先介绍到这里。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。