- 博客(12)
- 资源 (11)
- 收藏
- 关注
原创 GB28181学习笔记4 实现Server端获取目录功能(NodeJS版)
一、说明GB28181设备在注册到服务端之后,服务端通过发送Catalog命令向设备端发送请求命令指令。范例:M.11设备目录查询消息消息示范例M.11.1 1.1和2.1MESSAGE sip:目的设备编码@目的域名或IP地址端口 SIP/2.0 To: <sip:目的设备编码@目的域名>;tag=852843529 Content-Length: 消息实体的字节长度CSeq: 2 MESSAGE Call-ID: wlss-3a65dfb6-7ee86970ea84c5
2020-05-25 16:54:57 1157
原创 GB28181学习笔记3 实现REGISTER设备注册(基于nodejs sip库 SERVER端)
一、注册过程说明这里使用一台海康的摄像头做实际测试。GB28281注册过程有鉴权、不鉴权两种,本文实现的带鉴权的方式,基于GB281812016版。本文原本想用C++库实现,但我这只有QT,配置基于第三方sip包的环境太不熟练,为节省时间暂且用nodejs先代用。不带鉴权:带鉴权:1. 设备设置2. 注册过程1. 设备发送register注册消息2. 服务器返回401 未登陆3. 设备发送登陆认证主要是要计算当中的response值,认证计算过程:下面使用kd函数,表示对
2020-05-22 17:08:26 2893
原创 GB28181学习笔记2 SIP测试工具 Yate安装使用
一、 简介Yate代表“又一个电话引擎”,正如其名称所述,它主要是电话引擎。 虽然目前专注于Internet协议语音(VoIP)和PSTN,但其强大之处在于其易于扩展的能力。 语音,视频,数据和即时消息传递都可以在Yate灵活的路由引擎下统一起来,从而最大程度地提高通信效率并最小化企业的基础架构成本。官网地址:http://yate.ro/二、安装到官网下载:http://yate.null.ro/tarballs/yate6/安装后启动客户端:安装后在安装目录可以启动命令行程序:三、配
2020-05-21 09:53:43 2051
原创 GB28181学习笔记1 SIP协议简介
一、GB28181 简介1. GB28181全称是:《安全防范视频监控联网系统 信息传输、交换、控制技术要求》目前最新版本是2016版。2. GB28181引用的文件:RFC 2030 简单网络时间协议(SNTP)第四版RFC 2326 RTSP:实时流协议RFC 2976 SIP INFO方法RFC 3261 SIP: 会话初始协议RFC 3263 会话初始协议(SIP):定位SIP服务器RFC 3428 会话初始协议(SIP) 即时消息扩展RFC 3550 实时传输
2020-05-21 08:31:34 4246
原创 QT 使用ffmpeg 学习7 ffmpeg 接收RTSP转发RTMP流
一、说明本文代码与 QT 使用ffmpeg 学习5 ffmpeg API推流Demo代码类似。主要是加了pts dts的处理。在使用 QT 使用ffmpeg 学习5 ffmpeg API推流Demo 代码,当接收流是rtsp流的时候,会出现av_interleaved_write_frame 返回 -22的错误。下面代码使用方式2加上了一个fix代码。网上很多讲要求:AVPacket 中 pts 必须大于或等于dts, 否则就返回-22 错误。我查看demofctf 的情况,代码出现-22错误
2020-05-18 09:52:11 1837 7
原创 SSL/TLS 学习1. 基本概念
一、 简介SSL/TLS协议是安全的通信模式。1. 通信模式演化正常通讯,无加密通信过程很不安全,黑客可以监听双方的通信、拦截通信、伪造数据进行攻击。使用密钥加密为了应对攻击,对通信数据使用对称加密算法进行加密。通信双方需要共享密钥。1981年,出现对称加密算法DES。DES使用56bit的密钥。但由于双方需要共享密钥,这个密钥在传输过程中有可能被拦截。更高强度的密钥DES可能被暴力破解。为了更高的安全性,出现了triple-DES(最长168bit密钥)、AES (最高 256bit密钥
2020-05-13 15:32:50 376
原创 QT 使用ffmpeg 学习6 ffmpeg API保存流到文件demo
一、功能说明打开一个输入流,取帧保存到文件中。一些函数说明:avformat_open_input该函数用于打开多媒体数据并且获得一些相关的信息。它的声明位于libavformat\avformat.h,如下所示:int avformat_open_input(AVFormatContext **ps, const char *filename, AVInputFormat *fmt, AVDictionary **options);ps:函数调用成功之后处理过的AVFormatConte
2020-05-13 13:38:14 836
原创 QT 使用ffmpeg 学习5 ffmpeg API推流Demo
本文使用Ffmpeg API实现推流。一、说明1. ffmpeg中的时间单位AV_TIME_BASEffmpeg中的内部计时单位(时间基),ffmepg中的所有时间都是于它为一个单位,比如AVStream中的duration即以为着这个流的长度为duration个AV_TIME_BASE。AV_TIME_BASE定义为:#define AV_TIME_BASE 10000002. 关于时间戳的几个函数i. av_rescale_rnd函数声明int64_t av_rescale_rnd(
2020-05-13 11:13:21 3402
原创 QT 使用ffmpeg 学习4播放RTSP
一、Ffmpeg 播放rtsp流程二、实现1. ffmpegutils类ffmpegutils.h#ifndef MYFFMPEG_H#define MYFFMPEG_H#include <QObject>#include <QImage>#define __STDC_CONSTANT_MACORSextern "C"{#include <libavcodec/avcodec.h>#include <libavformat/avform
2020-05-12 13:37:58 1166 2
原创 QT 使用ffmpeg 学习3 转封装
一、概念转封装是指在mp4、flv、avi等文件格式之间的转换。常用见视频封装格式(容器):1. AVI容器 AVI(Audio Video Interleaved)即音视频交错格式.AVI 符合 RIFF(Resource Interchange File Format)文件规范,使用四字符码 FOURCC(four-character code)来表征数据类型。AVI 的文件结构分为头部、主体和索引三部分。 主体中图像数据和声音数据是交互存放的,从尾部的索引可以索引跳到自己想放的位置。AVI
2020-05-11 11:14:39 635
原创 QT 使用ffmpeg 学习2 打印配置、协议、解码器、参数枚举
一、Ffmpeg说明协议层:该层处理流媒体协议的数据解析与封装,包括http,rtmp,rtsp,file等容器层:该层处理多媒体容器的解析和封装,包括mp4,flv,mkv等编解码层:该层负责音视频编解码,包括h264,h265,mp3,aac等原始数据层:该层负责原始音视频数据的处理,如视频像素格式转换,缩放,裁剪,过滤,音频重采样,过滤等,处理对象是pcm,yuv,rgb等原始数据。设备层:负责音视频播放及采集ffmpeg 库说明livavformat 作用于协议层和容器层,依赖
2020-05-09 15:53:51 464
原创 QT 使用ffmpeg 开发库 学习1 简单的播放器
一、下载ffmpeghttps://ffmpeg.zeranoe.com/builds/版本说明:Static:这个版本只包含了ffmpeg.exe、ffplay.exe、ffprobe.exe三个可执行程序,没有头文件和库文件。Shared:这个版本包含了ffmpeg.exe、ffplay.exe、ffprobe.exe三个可执行程序和相关动态库文件。Dev:开发版,这个包含了头文件和库文件。需要下载 Shared和Dev,放在文件夹。static可以不下载。二、新建 QT 项目
2020-05-09 10:31:00 1646
tcpdump for android arm
2016-01-07
php redis驱动for win
2015-12-29
mysql-connector-net-6.3.9.rar
2015-06-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人