前言
好久没有更新了,一个是没有时间,二个写东西可能更多讲究的是一个时机,半熟不熟的领域怕写错,太熟的领域又不敢写,只有刚接触的东西才敢乱写。
也罢,正应了那句初生牛犊不畏虎。言归正传,该篇内容主要记录WVP+ZLMediaKit的初次使用过程和期间遇到的一些问题 。
一、WVP
WEB VIDEO PLATFORM是一个基于GB28181-2016标准实现的开箱即用的网络视频平台,负责实现核心信令与设备管理后台部分,支持NAT穿透,支持海康、大华、宇视等品牌的IPC、NVR、DVR接入。支持国标级联,支持rtsp/rtmp等视频流转发到国标平台,支持rtsp/rtmp等推流转发到国标平台。
1.1、运行WVP
安装Java开发环境
安装Redis (windows安装包点我下载,centos安装教程点我打开)
clone并导入项目 (建议直接git clone去克隆项目不要直接在网页上下载zip文件)
修改配置文件 (application-dev.yml)
spring: # REDIS数据库配置 redis: # [必须修改] Redis服务器IP, REDIS安装在本机的,使用127.0.0.1 host: 127.0.0.1 # [必须修改] 端口号 port: 6379 # [可选] 数据库 DB database: 6 # [可选] 访问密码,若你的redis服务器没有设置密码,就不需要用密码去连接 password: # [可选] 超时时间 timeout: 10000 # [可选] jdbc数据库配置, 项目使用sqlite作为数据库,一般不需要配置 datasource: # name: wvp # url: jdbc:mysql://127.0.0.1:3306/wvp?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true # username: # password: # type: com.alibaba.druid.pool.DruidDataSource # driver-class-name: com.mysql.cj.jdbc.Driver name: eiot url: jdbc:sqlite::resource:wvp.sqlite username: password: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: org.sqlite.JDBC max-active: 1 min-idle: 1 # [可选] WVP监听的HTTP端口, 网页和接口调用都是这个端口 server: port: 18080 # [可选] HTTPS配置, 默认不开启 ssl: # [可选] 是否开启HTTPS访问 enabled: false # [可选] 证书文件路径,放置在resource/目录下即可,修改xxx为文件名 key-store: classpath:xxx.jks # [可选] 证书密码 key-password: password # [可选] 证书类型, 默认为jks,根据实际修改 key-store-type: JKS # 作为28181服务器的配置 sip: # [必须修改] 本机的IP, 必须是网卡上的IP ip: 172.18.139.248 # [可选] 28181服务监听的端口 port: 5060 # 根据国标6.1.2中规定,domain宜采用ID统一编码的前十位编码。国标附录D中定义前8位为中心编码(由省级、市级、区级、基层编号组成,参照GB/T 2260-2007) # 后两位为行业编码,定义参照附录D.3 # 3701020049标识山东济南历下区 信息行业接入 # [可选] domain: 4401020049 # [可选] id: 44010200492000000001 # [可选] 默认设备认证密码,后续扩展使用设备单独密码 password: admin123 #zlm服务器配置 media: # [必须修改] zlm服务器的内网IP ip: 172.18.139.248 # [可选] zlm服务器的公网IP, 内网部署置空即可 wanIp: # [可选] zlm服务器的hook所使用的IP, 默认使用sip.ip hookIp: # [必须修改] zlm服务器的http.port httpPort: 80 # [可选] zlm服务器的http.sslport, 置空使用zlm配置文件配置 httpSSlPort: # [可选] zlm服务器的rtmp.port, 置空使用zlm配置文件配置 rtmpPort: # [可选] zlm服务器的rtmp.sslport, 置空使用zlm配置文件配置 rtmpSSlPort: # [可选] zlm服务器的 rtp_proxy.port, 置空使用zlm配置文件配置 rtpProxyPort: # [可选] zlm服务器的 rtsp.port, 置空使用zlm配置文件配置 rtspPort: # [可选] zlm服务器的 rtsp.sslport, 置空使用zlm配置文件配置 rtspSSLPort: # [可选] 是否自动配置ZLM, 如果希望手动配置ZLM, 可以设为false, 不建议新接触的用户修改 autoConfig: true # [可选] zlm服务器的hook.admin_params=secret secret: 035c73f7-bb6b-4889-a715-d9eb2d1925cc # [可选] zlm服务器的general.streamNoneReaderDelayMS streamNoneReaderDelayMS: 18000 # 无人观看多久自动关闭流, -1表示永不自动关闭,即 关闭按需拉流 # 启用多端口模式, 多端口模式使用端口区分每路流,兼容性更好。 单端口使用流的ssrc区分, 点播超时建议使用多端口测试 rtp: # [可选] 是否启用多端口模式, 开启后会在portRange范围内选择端口用于媒体流传输 enable: true # [可选] 在此范围内选择端口用于媒体流传输, portRange: 30000,30500 # 端口范围 # [可选] 日志配置, 一般不需要改 logging: file: name: logs/wvp.log max-history: 30 max-size: 10MB total-size-cap: 300MB level: com: genersoft: iot: info # [根据业务需求配置] userSettings: # [可选] 自动点播, 使用固定流地址进行播放时,如果未点播则自动进行点播, 需要rtp.enable=true autoApplyPlay: false # [可选] 部分设备需要扩展SDP,需要打开此设置 seniorSdp: false # 保存移动位置历史轨迹:true:保留历史数据,false:仅保留最后的位置(默认) savePositionHistory: false # 点播等待超时时间,单位:毫秒 playTimeout: 3000 # 等待音视频编码信息再返回, true: 可以根据编码选择合适的播放器,false: 可以更快点播 waitTrack: false # 是否开启接口鉴权 interfaceAuthentication: true # 在线文档: swagger-ui(生产环境建议关闭) springfox: documentation: swagger-ui: enabled: true
运行测试 (注意:要先装好ZLMediaKit并运行)
WVP2.0已经集成web界面,第一次运行先npm Install和build一下,然后再运行WVP项目就可以直接访问web页面了。遇到的问题
添加代理设备时,报了错,查看控制台输出如下错误。
排查原因:参数名称要和映射的文件中sql条件名称一样,同时添加注解,修改如下再次运行即可。
二、ZLMediaKit
ZLMediaKit基于C++11开发,避免使用裸指针,代码稳定可靠,性能优越。
支持多种协议(RTSP/RTMP/HLS/HTTP-FLV/WebSocket-FLV/GB28181/HTTP-TS/WebSocket-TS/HTTP-fMP4/WebSocket-fMP4/MP4/WebRTC),支持协议互转。
使用多路复用/多线程/异步网络IO模式开发,并发性能优越,支持海量客户端连接。
代码经过长期大量的稳定性、性能测试,已经在线上商用验证已久。 支持linux、macos、ios、android、windows全平台。
支持画面秒开、极低延时(500毫秒内,最低可达100毫秒)。 提供完善的标准C API,可以作SDK用,或供其他语言调用。
提供完整的MediaServer服务器,可以免开发直接部署为商用服务器。 提供完善的restful api以及web
hook,支持丰富的业务逻辑。 打通了视频监控协议栈与直播协议栈,对RTSP/RTMP支持都很完善。
全面支持H265/H264/AAC/G711/OPUS。
2.1、运行ZLMediaKit
可以直接下载我的安装包(centos),解压并运行即可。
./MediaServer -d &
当然你也可以自己编译,具体查看大佬给的wiki文档,运行截图如下(你还没有内容时返回404,都是运行成功的)。
三、页面截图
THE END
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/8230.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~