论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
主机系统
›
linux
›
海康威视摄像头RTSP使用nginx推流到服务器直播教程 ...
海康威视摄像头RTSP使用nginx推流到服务器直播教程
道家人
论坛元老
|
2024-12-31 02:44:39
|
显示全部楼层
|
阅读模式
楼主
主题
1004
|
帖子
1004
|
积分
3012
思路:
之前2020年在本科的时候,由于项目标需求须要将海康威视的摄像头使用推流服务器到网页进行直播。这里将自己半个月琢磨出来的步骤给各人发一些。切勿转载!!!!
使用网络摄像头中的rtsp协议---------通过rtsp链接让推流软件获取到视频流------推流软件推流到直播服务器-----直播服务器的搭建-----使用flv.js进行直播
1、须要的设备。
1、摄像头:必须是网络摄像头,支持rtsp协议。比方本教程中的海康威视摄像头
2、一个centos的服务器(由于只找到了centos的教程,这里没有ubuntu的教程。不过后来使用了宝塔面板,所以其实都无所谓)
3、一台window电脑(用于obs推流)
2、详细步骤
1、搭建直播服务器
1、设置centos的网络服务,让该虚拟机以局域网的形式链接到实行室的网络(网络上进行搜索,乐成的尺度是你的主机可以ping通你的虚拟机。比方下图
2、安装宝塔面板
宝塔Linux面板安装教程 - 2023年5月11日更新 - 7.9.10正式版 - Linux面板 - 宝塔面板论坛
这里有执行下令
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
复制代码
2、登录宝塔面板
安装完成后,在你的shell页面会有登录的用户名和暗码。另有登录网址。登录到宝塔网站后,会有建议让你安装一些软件。不要安装nginx,不要安装nginx,不要安装nginx。这里是我对我的宝塔设置,仅供参考。
3、安装gcc-c++情况
yum install -y gcc gcc-c++ autoconf wget
yum -y install wget gcc-c++ ncurses ncurses-devel cmake make perl bison openssl openssl-devel gcc* libxml2 libxml2-devel curl-devel libjpeg* libpng* freetype*
4、下载nginx-http-flv-module
这个各人在网上找一下,如果一定是这个模块嗷,这里是我之前下载的东西
??winshining-nginx-http-flv-module-master.zip
5、把解压后的里面的flv框架放在/www/server(这个路径如果没有,重新安装宝塔)
6、接下来修改宝塔的nginx的安装脚本,可以通过宝塔面板文件管理打开路径
7、添加自定义模块
8、在下面的框框里面输入这些
--add-module=/www/server/nginx-http-flv-module
复制代码
8、然后修改后点击提交后,等待安装
9、安装完成后检察时候安装成模块输入(记着V是大写的)
nginx -V
复制代码
10、如果你看到这着,恭喜你,已经乐成一半了。
11、然后编写设置文件
你可以宝塔面板里面的首页里面进行修改。
12、然后对nginx进行设置。
user www www;
worker_processes auto;
error_log /www/wwwlogs/nginx_error.log crit;
pid /www/server/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;
events
{
use epoll;
worker_connections 51200;
multi_accept on;
}
rtmp {
server {
listen 1935; #Nginx监听的RTMP推流/拉流端口
application live {
live on; #当推流时,RTMP路径中的APP(RTMP中一个概念)匹配myapp时,开启直播
record off; #不记录视频
gop_cache off;
}
}
}
http
{
include mime.types;
#include luawaf.conf;
include proxy.conf;
default_type application/octet-stream;
server_names_hash_bucket_size 512;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 50m;
sendfile on;
tcp_nopush on;
keepalive_timeout 60;
tcp_nodelay on;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_disable "MSIE [1-6].";
limit_conn_zone $binary_remote_addr zone=perip:10m;
limit_conn_zone $server_name zone=perserver:10m;
server_tokens off;
access_log off;
server
{
listen 888;
server_name phpmyadmin;
index index.html index.htm index.php;
root /www/server/phpmyadmin;
#error_page 404 /404.html;
include enable-php.conf;
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*.(js|css)?$
{
expires 12h;
}
location ~ /.
{
deny all;
}
access_log /www/wwwlogs/access.log;
}
server {
listen 8432; #1.你想让你的这个项目跑在哪个端口
server_name localhost; #2.当前服务器ip
#root /www/server/nginx/hls;
location /live {
#开启flv直播
flv_live on;
chunked_transfer_encoding on;
# 这里是要负责跨域呀
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
}
}
include /www/server/panel/vhost/nginx/*.conf;
}
复制代码
13、你主要须要加入的是一下设置
这个是rtmp直播设置,可以照抄
rtmp {
server {
listen 1935; #Nginx监听的RTMP推流/拉流端口
application live {
live on; #当推流时,RTMP路径中的APP(RTMP中一个概念)匹配myapp时,开启直播
record off; #不记录视频
gop_cache off;
}
}
}
复制代码
这个是网页访问的设置。也可以照抄
server {
listen 8432; #1.你想让你的这个项目跑在哪个端口
server_name localhost; #2.当前服务器ip
location /live {
#开启flv直播
flv_live on;
chunked_transfer_encoding on;
#配置跨域
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
}
}
复制代码
再修改完数据后,要重载设置,然后重启设置
15,开启1935和8435端口
2、下载设置obs
安装它就可以了
1、添加媒体源,就是摄像头的rtsp的链接。
随便填写就可以。
取消当地文件的勾选
然后再这个输入里面填写摄像头的rtsp的链接。
再本实行的rtsp为
rtsp://admin:123456789a@211.64.41.218:554/h264/ch1/main/av_stream
复制代码
2、设置推流地址
点击文件里面的设置
点击推流
这里如果你的设置是和我的一样,那么就云云添加。
这里的live的是你设置的rtmp的application的名字。这里的串流密钥是index 你可以随便写。
然后,点击应用和确定
点击开始推流
如果这里是这样的有绿标,就阐明推流乐成。
3、运行拉流
这里有一个例子,有好多人说这个例子失效了,我上传到CSDN后,居然须要VIP才能下载,我想了一下,要不就用百度网盘吧。
链接:https://pan.baidu.com/s/1pDmC5GpualMdrzSm85rsiApwd=qhhp
提取码:qhhp
??直播2.zip
这里说一下url的拼写
'http://211.64.41.229:8432/live?port=1935&app=live&stream=index’中port是rtmp端口,app是rtmp中application的名字,而stream就是推流时指定的。然后就可以得到了视频
3、关于在线播放的设置。
在线播放也较为简单,你须要调低码率,要不然,你的直播带宽会很大。
1、调低码率
(1)、先制止推流。然后打开文件
(2)、打开设置。打开输出
(3)、然后讲输出模式调到高级,然后将串流的比特率改为800Khps
(4)然后点击应用,然后确定即可
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
道家人
论坛元老
这个人很懒什么都没写!
楼主热帖
CentOS7.9使用sealos部署单节点k8s并部 ...
青龙2.10.13 稳定版+Ninja登录面板+傻 ...
软件危机与软件过程模型
日本开放Wi-Fi 6E认证
〖Python接口自动化测试实战篇⑨〗- 实 ...
LyScript 从文本中读写ShellCode
Redis和Mysql保持数据一致性
推荐一款完全开源,功能丰富,界面精美 ...
C#_串口调试助手-网络拓扑显示 ...
如何精简 Prometheus 的指标和存储占用 ...
标签云
运维
CIO
存储
服务器
浏览过的版块
数据仓库与分析
边缘计算
移动端开发
开源技术
SQL-Server
快速回复
返回顶部
返回列表