智能摄像机怎么安装连接(4g智能摄像机怎么用)

本文分享自华为云社区《华为云ECS服务器安装CentOS7.4镜像,部署GINX服务器,搭建物联网视频监控系统》。作者:DS小龙哥。在CentOS7.4 server版本的环境下安装nginx服务器、profile服务器和流媒体服务器。(1)配置NGINX为HTTP服务器,安装rtmp模块,完成rtmp视频流,支持将视频...

本文分享自华为云社区《华为云ECS服务器安装CentOS7.4镜像,部署GINX服务器,搭建物联网视频监控系统》。作者:DS小龙哥。

在CentOS7.4 server版本的环境下安装nginx服务器、profile服务器和流媒体服务器。

(1)配置NGINX为HTTP服务器,安装rtmp模块,完成rtmp视频流,支持将视频缓存到本地目录,支持转换为HLS流,通过浏览器访问直播流。

(2)部署自动引导程序:方便设置自己的程序进行引导。

1.环境介绍

环境:采用华为云ECS弹性云服务器——centos 7.4 ***位镜像安装—–是服务器版,不是桌面版。

在CentOS7.4 server版本的环境下安装nginx服务器、profile服务器和流媒体服务器。

(1)配置NGINX为HTTP服务器,安装rtmp模块,完成rtmp视频流,支持将视频缓存到本地目录,支持转换为HLS流,通过浏览器访问直播流。

(2)部署自动引导程序:方便设置自己的程序进行引导。

2.在CentOS中安装带有rtmp模块的Nginx2.1。新安装的系统可以先安装一些工具。

yum-y PC repr-devel OpenSSL OpenSSL-devel zlib zlib-devel gcc gcc-c++ yum install-y vim wget lsof git zip unzip 2.2获取Nginx二进制源代码

听说srtmp模块暂时只支持NGINX版本。目前Nginx13-15在官网下载。

从wget http://nginx.org/download/nginx-1.14.2.tar.gztar xvf nginx-1.14.2.tar.gz 2.3获得nginx-rtmp模块

WGET https://github . com/arut/nginx-rtmp-module/archive/refs/tags/v 1 . 2 . 1 . tar . gztarxvf v 1 . 2 . 1 . tar . gz 2.4编译nginx

cd nginx-1.14.2。/configure - add-module=../nginx-rtmp-module-1 . 2 . 1/-with-http _ SSL _ module ***ke && ampMake #建立软链接ln-s/usr/local/nginx/***in/nginx/usr/bin特别说明:

如果在配置过程中报告了一个错误,那么通常会丢失一些东西,然后安装并重新配置它。

比如:报错。/configure:错误:http重写模块需要pcre库。您可以禁用维护对象...解决方案:yum-y安装pcre-devel yum-y安装OpenSSL OpenSSL-devel 2.5修改Nginx的配置文件。

打开文件/usr/local/nginx/conf/nginx . conf,并在文件末尾添加以下配置。

rtmp { server { listen 8888应用程序直播{直播;}}}以上8888是rtmp推拉的端口。

修改nginx.conf后,重启nginx服务:

sudo服务nginx重启服务后,使用netstat -ltn命令检查TCP**的端口,确认Nginx的**端口是否正常。

一般情况下,一个是我们自己设置的rtmp服务**端口8888,另一个80是Nginx默认的HTTP服务**端口。

接下来可以在浏览器中输入本地IP地址:http://127.0.0.1/,查看Nginx服务的开启状态。

2.6设置开机。

WGET http://raw . github . com/jasongiedymin/nginx-init-Ubuntu/***ster/nginx-o/etc/init . d/nginxchmod+x/etc/init . d/nginxupdate-RC . d nginx defaults 2.7 3控制nginx服务的命令

服务nginx启动服务nginx停止服务nginx重启或nginx -s重载2.8进行rtmp推送

服务器设置好之后,推流和拉流的地址分别是:rtmp://<>::8888/live/<推送流存储的目录>:例如:rtmp://127 . 0 . 0 . 1:8888/live/XL 2.9 nginx保存流视频文件。

如果您需要保存推送的文件以便以后查看历史文件,您可以配置nginx来保存它们。

在原始/usr/local/nginx/conf/nginx . conf配置文件中向rtmp模块添加新配置:

全部记录;上的record _ unique记录路径"。/video ";#视频缓存记录的路径_后缀-% y-% m-% d-% h _ % m _ % s . flv;complete/usr/local/nginx/conf/nginx . conf中rtmp模块的配置如下:

#RTMP服务rtmp { server { listen 8888应用程序直播{直播;#打开实时记录全部;上的record _ unique记录路径"。/video ";#视频缓存记录的路径_后缀-% y-% m-% d-% h _ % m _ % s . flv;}}}配置完成后,只需执行nginx -s reload命令重启服务器即可。

2.10 rtmp直播流转换成hls直播流。

什么是HLS直播流?

HLS代表HTTP Live Streaming,是苹果公司提出的基于HTTP的媒体流协议,用于实时音频和视频流的传输。目前,HLS协议广泛应用于视频点播和直播。HLS的原理和DASH协议的原理非常相似。通过将整个流切割成一个可以通过HTTP下载的小媒体文件,然后提供一个匹配的媒体列表文件给客户端,客户端就可以依次拉取这些媒体文件并播放,从而达到播放一个流的效果。由于传输层协议只需要标准的HTTP协议,HLS可以很容易的穿越防火墙或者代理服务器,可以很方便的使用CDN加速分发,客户端实现起来也很方便。HLS将整个流分成基于HTTP的小文件来下载,一次只下载一部分。HLS协议由三部分组成:HTTP、M3U8和ts。这三部分中,HTTP是传输协议,M3U8是索引文件,ts是音视频的媒体信息。HLS协议编码格式要求:

视频的编码格式:H2***音频编码格式:AAC、MP3、AC-3视频封装格式:ts保存ts index/usr/local/nginx/conf/nginx . conf的m3u8文件配置将RTMP流转换为HLS流。

向http模块的服务器配置添加新配置:

location/live _ HLS { types { # m3u 8 type Set application/vnd . apple . mpegurlm 3 u 8;#ts片段文件设置video/mp2ts;} #指向目录别名。/m3u8File用于访问m3u8文件;# Add _ header cache-control no-cache作为rtmp模块中的hls_path设置路径;#无缓存}向rtmp模块的服务器配置添加新配置:

hls开启;#打开hlshls_path。/m3u 8 file;# HLS的ts切片存储路径(这是一个目录,会自动创建)hls _ fragment 2s#本地切片长度hls _ playlist _ length 6s#HLS播放列表长度/usr/local/nginx/conf/nginx . conf文件的完整配置如下:

worker _ process 1;#Nginx进程数,建议设置为等于总CPU核心数事件{ worker _ connections 1024#工作模式和最大连接数} rtmp _ auto _ push on#RTMP服务rtmp { server { listen 8888应用程序直播{直播;#打开实时记录全部;上的record _ unique记录路径"。/video ";#视频缓存记录的路径_后缀-% y-% m-% d-% h _ % m _ % s . flv;hls开启;#打开hls hls_path。/m3u 8 file;#hls的ts切片存储路径是hls _ fragment 2s#本地切片长度hls _ playlist _ length 6s#HLS播放列表长度}}} #HTTP服务http { includedmime.typesdefault_type应用程序/八位字节流;在上发送文件;keepalive _ timeout 65服务器{ listen 8099server_name本地主机;location/{ root html;索引index.html index.htm;} location/live _ HLS { types { # m3u 8 type Set application/vnd . apple . mpegurlm 3 u 8;#ts片段文件设置video/mp2ts;} #指向目录别名。/m3u8File用于访问m3u8文件;add _ header Cache-Control no-Cache;#禁止缓存}位置/控制{ rtmp _ controlall} location/stat { rtmp _ stat all;rtmp _ stat _ stylesheet stat.xsl}location /stat.xsl{ root。/nginx-rtmp-module-***ster;} #将服务器错误页重定向到静态页/50x . html # error _ page 500 502 503 504/50x . html;location =/50x . html { root html;}}}配置完毕,重启服务器即可。

根据之前的配置,RTMP推流地址和HTTP访问地址如下:

RTMP推拉地址:rtmp://127 . 0 . 0 . 1:8888/live/video 01那么HTTP的对应访问地址:HTTP://127 . 0 . 0 . 1:8099/live _ HLS/video 01 . m3 u8注意:转换成HLS流后,如果***浏览器普遍支持,比如苹果自带的浏览器,QQ浏览器等浏览器都支持直接播放HLS流。默认不支持PC的Google浏览器。

2.11 NGINX配置HTTP文件服务器

5.8节介绍如何配置NGINX保留rtmp推送的视频文件。如果想做一个有现场回放和历史记录的播放器,可以使用RTMP视频缓存的目录作为HTTP文件服务器访问的根目录。通过访问这个根目录,可以得到目录中文件的索引,然后就可以直接播放视频文件了,这样就可以做视频播放播放器了。

在http模块中添加新的服务器配置,并填写新的配置。详情如下:

服务器{ listen 8090server_name本地主机;location / {root。/视频;#指定哪个目录是Http文件服务器的根目录。如果你在这里写文件是你的根目录,那么当你访问它的时候,文件将不会出现在目录中。自动索引打开;# Setting允许列出整个目录autoindex _ exact _ size off# Default为on,以字节显示文件的确切大小。更改为off后,以kB或MB或GBautoindex_localtime on显示文件的大致大小;#默认为关闭,显示的文件时间为GMT时间。在上,显示的文件时间是文件字符集utf-8的服务器时间;#防止文件显示乱码。如果utf-8还是乱码,尽量改成gbk}}特别说明:nginx支持配置多个服务器配置,**不同端口。可以为文件服务器设置单独的**端口,专门用作文件遍历。

/usr/local/nginx/conf/nginx . conf文件的完整配置如下:

worker _ process 1;#Nginx进程数,建议设置为等于总CPU核心数事件{ worker _ connections 1024#工作模式和最大连接数} rtmp _ auto _ push on#RTMP服务rtmp { server { listen 8888应用程序直播{直播;#打开实时记录全部;上的record _ unique记录路径"。/video ";#视频缓存记录的路径_后缀-% y-% m-% d-% h _ % m _ % s . flv;hls开启;#打开hls hls_path。/m3u 8 file;#hls的ts切片存储路径是hls _ fragment 2s#本地切片长度hls _ playlist _ length 6s#HLS播放列表长度}}} #HTTP服务http { includedmime.typesdefault_type应用程序/八位字节流;在上发送文件;keepalive _ timeout 65服务器{ listen 8090server_name本地主机;location / {root。/视频;#指定哪个目录是Http文件服务器的根目录。如果你在这里写文件是你的根目录,那么当你访问它的时候,文件将不会出现在目录中。自动索引打开;# Setting允许列出整个目录autoindex _ exact _ size off# Default为on,以字节显示文件的确切大小。更改为off后,以kB或MB或GBautoindex_localtime on显示文件的大致大小;#默认为关闭,显示的文件时间为GMT时间。在上,显示的文件时间是文件字符集utf-8的服务器时间;#防止文件显示乱码。如果utf-8还是乱码,换成gbk试试} } server { listen 8099server_name本地主机;location/{ root html;索引index.html index.htm;} location/live _ HLS { types { # m3u 8 type Set application/vnd . apple . mpegurlm 3 u 8;#ts片段文件设置video/mp2ts;} #指向目录别名。/m3u8File用于访问m3u8文件;add _ header Cache-Control no-Cache;#禁止缓存}位置/控制{ rtmp _ controlall} location/stat { rtmp _ stat all;rtmp _ stat _ stylesheet stat.xsl}location /stat.xsl{ root。/nginx-rtmp-module-***ster;} #将服务器错误页重定向到静态页/50x . html # error _ page 500 502 503 504/50x . html;location =/50x . html { root html;}}}访问文件测试:http://127.0.0.1:8090

3.Linux 3.1启动脚本序列下启动的执行过程

第一步:init /etc/inittab第二步:启动相应的脚本,打开终端rc.sysinitrc.d(里面的脚本)rc.local第三步:启动登录界面登录第四步:用户登录时执行sh脚本的顺序,你每次登录都会完整执行。/etc/profile . d/file/etc/profile/etc/bashrc/root/。bashrc/root/。bash _ profile 3.2 Linux修改环境变量和有效方法。

修改/etc/profile或/etc/bashrc可以使环境变量的所有用户全局有效(需要重新启动系统)。正在修改~/。bash_profile或者~/。bashrc对当前用户全局有效(需要重新启动系统)。

如果需要立即生效,使用修改后的source命令,比如:source。bash_profile。

3.3 rcx . d的启动级别

一般在需要自启动的时候,通常是通过在/etc/rc.local文件中编写命令行或者脚本来执行命令来实现的。也可以在/etc/profile文件中实现(不推荐)。

许多Linux发行版现在默认使用/etc/rcX.d,而不是/etc/rc.local。

RcX.d不是指这个目录或者文件,而是叫rcX.d,其中X对应7个数字,0~6,不同的数字对应不同的级别。

检查当前的system /etc/rcX.d目录:

[root @ ECS-C687-ecrs work]# ls/etc/| greprcbashrccsh . cshrcinputrc***il . RCC 0 . dr C1 . dr C2 . dr C3 . dr C4 . dr C5 . DRC . DRC . localvimrcvgetrc通过runlevel命令检查当前系统的启动级别:

本人目前使用的是CentOS7.4服务器版,启动级别如下:

[root @ ECS-C687-ECRS]# run level N3查看/etc/rc3.d/目录下文件的详细信息:

[root @ ECS-c687-ecrs ~]# ls/etc/rc3 . d/-l total 0 lrwxrwxrwx。1根根20 2022年2月14日K50netconsole ->../init . d/netconsolerrwxrwxrwx。1根17根2022年2月14日k90网络->;../init . d/networklrwxrwxrwx 1 root root 19 Sep 15 22:07 S12 host guard->../init . d/hostguardlrwxrwxrwx 1 root root 24 Feb 14 2022 s50多队列-HW->。/init.d/multi-queue-hw你可以看到这个目录下的文件都是链接文件,都指向/etc/init.d中的shell脚本或者其他可执行文件,它们的命名方式基本都是以S或者K开头,后面加一个数字,再加上链接文件的名称,可以自己定义。

命名规则解释如下:

以K90network为例:k代表停止,s代表开始。(表示需要传入参数),也就是说,启动自启动命令会将start或stop传递给脚本,在脚本中,可以接收参数进行一些判断,完成不同情况下的一些逻辑处理。比如开机时执行什么代码,关机时执行什么代码。90表示脚本执行级别。(通常优先级越小)网络与/etc/init.d下的脚本文件名一致3.4使用rcX.d实现启动时脚本自动执行

例如,要求在引导后创建一个文件,并在文件中存储一些数据。

(1)首先在/etc/init.d目录下创建一个up_demo.sh脚本,编写脚本代码:

#!/bin/bash echo $ 0 $ 1 >& gt/home/up_test.txt修改脚本权限:

[root @ ECS-C687-ECR snit . d]# chmod 777/etc/init . d/up _ demo . sh[root @ ECS-C687-ECR snit . d]# lsup _ demo . sh-l-rwxrwxrwx 1 root 76 sep 16 14:(因为我的系统启动级别是3)

[root @ ECS-c687-ecrs rc3 . d]# ln-s/etc/init . d/up _ demo . sh S10up _ demo[root @ ECS-c687-ecrs rc3 . d]# ls-l total 0 lrwxrwxrwx。1根根20 2022年2月14日K50netconsole ->../init . d/netconsolerrwxrwxrwx。1根17根2022年2月14日k90网络->;../init . d/networklrwxrwxrwx 1 root root 22 Sep 16 14:17 S10 up _ demo->/etc/init . d/up _ demo . shlrwxrwxrwx 1 root root 19 Sep 15 22:07 S12 host guard->../init . d/hostguardlrwxrwxrwx 1 root root 24 Feb 14 2022 s50多队列-HW->。/init.d/multi-queue-hw(3)重启系统,进入/home目录查看文件内容。可以看到引导成功,内容已经写入up_test.txt文件。

欢迎来到华为云服务[root @ ECS-c687-ecrs ~]# CD/home/[root @ ECS-c687-ecrs home]# Ls _ run . sh up _ test . txt video work work _ pcwork.tar.gz[root @ ECS-c687-ecrs home]# catup _ test.txt/etc/rc.d/init.d/up _ demo . sh start[root @ ECS-c687-ecrs

本文来自年轻人玩的就是心跳投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/537528.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 05-08
下一篇 05-08

相关推荐

  • 小米摄像头怎么样 推荐一款最实用最安全的百元智能摄像机

    近年来,随着智能家居概念的普及,很多用户都或多或少的在家里添置了一些智能家居硬件,比如智能门锁、智能家电、智能摄像头等。其中,智能相机应该算是市场覆盖面比较大的一块智能硬件。把Ta放在家里或者商店里,可以起到一定的安全防护作用。比如不在家的时候,可以通过摄像

    2023-07-25 23:18:01
    608 0
  • 萤石摄像机怎么样 萤石C6CN摄像机开箱测评

    对于一款100元的入门级智能相机,消费者似乎很难区分。它们有相似的外观,相同的云台控制,1080P高清,透视夜视,语音通话等功能。看似“足够”的需求,其实忽略了一个情况。当智能摄像机应用在越来越多的场景中,会遇到强光,反射光,玻璃,或者门口的室内照明。容易反光变白

    2023-07-22 15:30:02
    268 0
  • 摄像机什么牌子的好 摄像机品牌

    生活中有太多的时刻我们会错过,比如孩子的第一个生日,和女朋友的第一次约会,和妻子的浪漫蜜月,和家人的晚餐...如果我们把这些美好的东西记录下来,可以在某个时候展示给家人看,一定会带给他们很多感触。用***拍照可以让我们更好的记录生活中的美好瞬间,这也让越来越多的

    2023-07-13 17:29:01
    848 0
  • 2022高速摄像机十大品牌排行榜

    十大高速相机品牌千里马品牌榜基于全网大数据,根据品牌评价和销量评选出2022年高速摄像机十大品牌。排名前十的品牌分别是新百、Insta360、佳能/佳能、DJI /DJI、索尼/索尼、十力、欧达/奥德罗、风云科、布林诺、qoer。如果要找高速相机,什么牌子好?那么,这份高速相机十大

    2023-07-05 23:07:01
    846 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信