admin管理员组文章数量:1622627
1.资源准备
(1) nginx:
下载地址:http://nginx-win.ecsds.eu/download/
版本:nginx 1.7.11.3 Gryphon.zip
(2) nginx-rtmp-module :
下载地址:https://github/arut/nginx-rtmp-module
(3) ffmpg :
下载安装并放入环境变量path(例如将D:\software\ffmpeg\ffmpeg-20200225-36451f9-win64-static\bin追加到path路径)
(4) rtmp和mp4视频文件:
湖南卫视:rtmp://58.200.131.2:1935/livetv/hunantv
2. 软件安装
(1) 解压nginx 和nginx-rtmp-module,并将nginx-rtmp-module解压到nginx 目录下如图(注:nginx目录不要有空格,win7,8好像没有 问题):
3. nginx配置
在nginx的conf目录下拷贝一份nginx-win.conf并命名为nginx-win-rtmp.conf
并新增以下内容(注意目录D:/temp/rtmp要先建好或换成自己的目录):
新增rtmp
#新增开始
rtmp {
server {
listen 1935;
#RTMP直播流
application myapp {
live on;
#为rtmp引擎设置电大连接数,默认为off
#max_connections 1024;
}
# HLS直播流
application live {
live on;
hls on;
hls_path D:/temp/rtmp/hls/data;
hls_fragment 5s; #用来设置每一个块的大小。默认是5秒。只能为整数
hls_playlist_length 30s; #设置播放列表的长度,单位是秒
hls_nested on; #默认是off。打开后的作用是每条流自己有一个文件夹
hls_cleanup off; #不清理ts , on|off 默认是开着的,是否删除列表中已经没有的媒体块
#hls_continuous: #on|off 设置连续模式,是从停止播放的点开始还是直接跳过
}
hls on;
hls_path D:/temp/rtmp/hls;
hls_fragment 5s;#没有生效
hls_playlist_length 30s;
hls_nested on; #默认是off。打开后的作用是每条流自己有一个文件夹
hls_cleanup off;#不清理ts
}
}
#新增end
http server节点下新增以下:
#修改
location / {
root nginx-rtmp-module/test/www;
}
#新增
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl {
root nginx-rtmp-module/;
}
location /control {
rtmp_control all;
}
location /rtmp-publisher {
root nginx-rtmp-module/test;
}
#加入hls支持
location /live {
types {
application/vnd.apple.mpegurl m3u8;
#或 application/x-mpegURL
video/mp2t ts;
}
#root D:/temp/rtmp;
alias D:/temp/rtmp/hls/data; #视频流文件目录(自己创建)
expires -1;
add_header Cache-Control no-cache;
}
#end...
4. nginx启动
进入nginx目录打开命令行或powershell执行:
启动:nginx -c conf\nginx-win-rtmp.conf
停止:nginx -s stop -c conf\nginx-win-rtmp.conf
重载:nginx -s reload -c conf\nginx-win-rtmp.conf
强制结束:taskkill /fi “imagename eq nginx.EXE” /f
5. 示例
(1)将网络rtmp转换为本地rtmp并播放
打开命令行或powershell执行如下命令:
ffmpeg -re -i rtmp://58.200.131.2:1935/livetv/hunantv -acodec aac -vcodec libx264 -vprofile baseline -ar 44100 -ac 1 -f flv rtmp://127.0.0.1:1935/live/hunantv
执行后生成ts文件
rtmp播放测试:
rtmp://127.0.0.1:1935/live/hunantv
手机播放测试:
http://192.168.8.61/live/hunantv/index.m3u8
(2)将mp4文件转换为本地rtmp并播放
ffmpeg -re -i test.mp4 -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -ac 1 -f flv rtmp://127.0.0.1:1935/live/test
会在路径下自动生成ts文件:
用VLC播放器播放:
rtmp://127.0.0.1:1935/live/test
手机播放:
http://192.168.8.61/live/test/index.m3u8
版权声明:本文标题:流媒体服务(一)流媒体服务器搭建 win10+ngnix+rtmp+ffmpg播放rtmp和HLSm3u8 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1728874242a1177542.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论