3、搭建rtmp视频推流服务器
Linux安装nginx
一般我们都需要先装pcre, zlib,前者为了重写rewrite,后者为了gzip压缩。
1.选定源码目录
cd /usr/local/src
2.安装PCRE库
下载
wget https://netix.dl.sourceforge.net/project/pcre/pcre/8.40/pcre-8.40.tar.gz
解压安装包
tar -zxvf pcre-8.40.tar.gz
进入安装目录
cd pcre-8.40
编译安装
./configure
make && make install
查看pcre版本
pcre-config --version
3.安装zlib库
wget http://www.zlib.net/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure
make && make install
4.安装Nginx
cd /usr/local/
wget http://nginx.org/download/nginx-1.15.3.tar.gz
tar -zxvf nginx-1.15.3.tar.gz
rm nginx-1.15.3.tar.gz
mv nginx-1.15.3 nginx
cd nginx/
./configure --prefix=/usr/local/nginx
make & make install
遇到错误,先不管继续以下步骤
添加Nginx环境变量,可以在命令行直接输入Nginx命令
vim /etc/profile
在最后添加Nginx的路径
export NGINX_HOME=/usr/local/nginx
export PATH=$PATH:$NGINX_HOME/sbin
重新编译环境变量
source /etc/profile
启动nginx
mkdir /usr/local/nginx/logs
cd sbin
./nginx
浏览器输入IP,就会有nginx欢迎界面
重启nginx命令为
nginx -s reload
关闭nginx服务:
killall -9 nginx
遇到的问题
nginx:[emerg] listen()to 0.0.0.0:80, backlog 511 failed (98: Address already in use)
.
.
.
nginx:[emerg] sill could not blind()
提示端口已被占用
查看端口占用情况
sudo netstat -ntpl
我的是
tcp6 0 0 :::80 :::* LISTEN 1128/apache2
然后杀死1128的任务
sudo kill 1128
重启Nginx便可
也又可能是防火墙没有打开80端口
打开80端口
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
5.安装Nginx的rtmp拓展
cd /usr/local/nginx
还缺少openssl环境,需要手动安装
sudo apt-get install libssl-dev
如果报错
ERR:1 http://... 404 Not Found
更新一下
apt-get update
再进行安装
sudo apt-get install libssl-devgit clone https://github.com/arut/nginx-rtmp-module.git
./configure --add-module=/usr/local/nginx/nginx-rtmp-module
make & make install
6.配置Nginx的rtmp服务站点
vim /usr/local/nginx/conf/nginx.conf
在文件底部添加下面内容
rtmp{server{#监听的端口listen 1935;chunk_size 4000;application tv_file{#开启实时live on;#开启hlshls on;#rtmp推流请求路径,文件存放路径hls_path /usr/local/nginx/html/tv_file;#每个TS文件包含5秒的视频内容hls_fragment 5s;}}
}
在文件中部,修改http的server模块
location/{root /usr/local/nginx/html;index index.html index.htm
}
打开1935端口,建议阿里云
启动nginx
cd /usr/local/nginx/sbin
./nginx
测试:
windows 终端
telnet 服务器地址 1935
遇到的问题:
telnet不可用,
控制面板->程序和功能->启用和关闭Windows功能->勾选Telnet Client
7.推流测试
下载 OBS Studio
下载地址:https://pc.qq.com/detail/4/detail_23604.html
安装完成后,打开软件
在 来源 模块,点击+,媒体源,新建一个,
在本地文件添加一个视频文件上去,
勾选:循环、当源变为活跃状态时重新启动播放、在可用时使用硬件解码
在右下角 控件 模块,点击设置,点击推流
服务:自定义
服务器:rtmp://服务器地址:1935/tv_file
串流密钥:test(这处随便,也就是保存到服务器端的文件名)
开始推流:
然后在服务器段就可以看到 .ts .m3u8文件
cd /usr/local/nginx/html/tv_file
ls
test-0.ts test-1.ts test-2.ts test.m3u8
8.拉流测试
下载安装 VLC
下载地址 https://www.videolan.org/
点击媒体->打开网络串流
选择网络,在URL里输入 流媒体服务器IP和串流密钥
rtmp://服务器地址:1935/tv_file/test
点击播放
3、搭建rtmp视频推流服务器相关推荐
- 【Android RTMP】RTMP 直播推流服务器搭建 ( Ubuntu 18.04.4 虚拟机 )
文章目录 安卓直播推流专栏博客总结 一. Android RTMP 直播推流简介 二. Nginx.RTMP Module 编译环境源码准备 三. pcre.OpenSSL.zlib 函数库安装 四. ...
- 软件_搭建rtmp视频推送环境,腾讯云,ubuntu16
原创博客地址:软件_搭建rtmp视频推送环境,腾讯云,ubuntu16 1,安装conda,ffmpeg,nginx,nginx-rtmp-module (建议先修改主机pip,conda的源) 安装 ...
- nginx搭建rtmp协议流媒体服务器总结
最近在 ubuntu12.04+wdlinux(centos)上搭建了一个rtmp服务器,感觉还挺麻烦的,所以记录下. 大部分都是参考网络上的资料. 前提: 在linux下某个目录中新建一个nginx ...
- nginx搭建rtmp协议流媒体服务器
最近和客户对接时问道怎么在不同网段中接收数据流,然后就想到了rtmp推流,客户不会搭建服务器,只能自己动手了,吭吭哧哧终于搞定了. ---------------------------------- ...
- 搭建rtmp直播流服务之1:使用nginx搭建rtmp直播流服务器(nginx-rtmp模块的安装以及rtmp直播流配置)
欢迎大家积极开心的加入讨论群 群号:371249677 (点击这里进群) 一.方案简要 首先通过对开发方案的仔细研究(实时监控.流媒体.直播流方案的数据源-->协议转换-->服务器--&g ...
- RTMP视频推流功能组件EasyRTMP-HIK DEMO版本运行报错0xc000007b问题排查分析
TSINGSEE青犀视频在视频流媒体开发行业深耕多年以来,不仅开发了轻便稳定的流媒体平台EasyNVR.EasyCVR等,还开发了一些视频推流或者同屏的辅助组件.比如EasyRTMP就是一套调用简单. ...
- 【疑难解决】RTMP视频推流功能组件EasyRTMP-HIK DEMO版本运行报错0xc000007b排查分析
TSINGSEE青犀视频在视频流媒体开发行业深耕多年以来,不仅开发了轻便稳定的流媒体平台EasyNVR.EasyCVR等,还开发了一些视频推流或者同屏的辅助组件.比如EasyRTMP就是一套调用简单. ...
- 基于SRS搭建RTMP直播流媒体服务器
软件定位 SRS 定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码. 运营级:商业运营追求极高的稳定性.良好的系统对接.错误排查和处理机制.譬如日志文件格式.reload.系 ...
- docker搭建RTMP直播流服务器与流管理
一.rtmp服务器搭建 环境: ubuntu 1.先安装docker(省略) 2.下载docker容器 docker pull tiangolo/nginx-rtmp 3.运行容器(记得打开防火墙端口 ...
- Windows搭建Nginx直播推流服务器
转载请以链接形式标明出处: 本文出自:103style的博客 目录 资源下载 配置环境变量 检查Nginx 是否能成功启动 修改 Nginx 配置 推流测试 关闭 Nginx 资源下载 将下述资源下载 ...
最新文章
- 如何让我们的vmware虚拟机上网!!
- IBatis Map时间参数文字格式不匹配!
- 【区块链与未来】区块链技术将重塑我们的世界
- ip打包相对路径 vivado_Vivado自定义IP封装流程
- VS Code 使用小技巧
- [Java]Java MVC 分层概念(转)
- mysql故障转移,MySQL之MHA故障转移
- 使用Python从头开始实现基线机器学习算法
- Java回调机制总结
- hfss和python接口_python 与HFSS联合仿真的教程讲解
- ArcGis-学习笔记1-地图矢量化
- RPGMAKER游戏引擎基于JavaScript的插件制作(一)——前期准备以及RPGMAKER内建逻辑
- Java的LocalDateTime与mysq的datatime数据类型匹配不了
- 递归函数python有什么特点_递的笔顺 笔画数:10 拼音:dì 部首:辶 - 智慧山
- php 解压zip/rar
- Programming Languages PartB Week2学习笔记——用Racket编写解释器
- Web页面无法执行CGI的exe程序
- F5 LTM ping 数据包丢包解决过程
- STM32MP157 Linux系统移植开发篇19:Linux内核Wi-Fi驱动移植
- c语言编写生日祝福语大全,C++求高手帮忙写个程序...输出“生日快乐”四个字..用符号拼出来..谢谢啦...
热门文章
- android直播刷礼物特效,Android直播送礼物发消息页面(仿印客直播)
- MODIS,Himwari-8遥感数据介绍
- [rtsp]海康IPC监控摄像头远程外网监控配置(DDNS)
- linux分区文件ext4和ext3,在Windows 下读取 Linux 的 ext3/ext4 格式分区 -Ext2Read和Ext2Fsd...
- vscode插件查找并导出到新电脑
- .NET 配置系统未能初始化”异常
- csdm makerdown使用
- 直流电机正反转驱动电路
- 动手学深度学习(使用Pytorch)网址收藏
- 一阶梯度法、二阶段梯度法、牛顿法