网络通信协议
Jacob_job
音视频软件开发
展开
-
onvif profiles概述
Profile S应用于网络视频系统,Profile G应用于边缘存储与检索,Profile C应用于网络电子门禁系统,Profile Q应用于快速安装,Profile A应用于更广泛的访问控制配置。翻译 2017-09-27 15:16:37 · 6959 阅读 · 1 评论 -
IPC onvif全网通的实现原理
一、理解onvif全网通之前需要先理解一个概念,那就“IP网段”。先看看百度百科对IP网段的解释:(以下是百度百科的解释) 网段(network segment)一般指一个计算机网络中使用同一物理层设备(传输介质,中继器,集线器等)能够直接通讯的那一部分。例如,从192.168.0.1到192.168.255.255这之间就是一个网段。 在中文的网络知识入门中,这个词...原创 2017-10-01 13:53:04 · 5447 阅读 · 0 评论 -
rtsp基本信令
1、OPTIONSclient->serverOPTIONS rtsp://192.168.0.158:554/video_high1080.h264 RTSP/1.0CSeq: 2User-Agent: LibVLC/2.2.2 (LIVE555 Streaming Media v2016.01.12)server->clientRTSP/1.0 200 OK...原创 2018-03-03 20:22:08 · 1874 阅读 · 0 评论 -
rtp基本封包格式
rtp包易于过大,一般每个包不要超过1400,这里设置为1380,即DEFAULT_MTU=1380这里介绍的媒体格式有视频:H264/H265,音频:AAC1、如果媒体包小于DEFAULT_MTU时可直接写入rtp包中,示例代码: unsigned char *pNAL; //媒体数据包 int nalsize; //媒体数据包长度 ...原创 2018-03-03 20:26:15 · 4463 阅读 · 0 评论 -
jrtplib的使用
简介jrtplib是用C++开发的rtp/rtcp库,非常方便嵌入到C++工程中,可用于rtsp server或rtsp client的开发之中,或者其他以rtp/rtcp格式的推流与收流。初始化示例代码:RTPSession rtp_session;unsigned short rtp_port = 6666;unsigned int payload_type = 96;...原创 2018-03-03 20:29:22 · 1951 阅读 · 0 评论 -
rtmp信令格式
rtmp以TCP方式推流,分为一个个消息包。一、握手 握手开始于客户端发送 C0,C1 块。 服务端在发送 S0 和 S1 之前必须等待接收 C0,也可以等待接收 C1。 服务端在发送 S2 之前必须等待接收 C1。 在发送 C2 之前客户端必须等待接收 S1 。 客户端在发送任何数据之前必须等待接收 S2。 服务端在发送任何数据之前必须等待接收 C2。1、 ...原创 2018-03-03 20:31:47 · 1261 阅读 · 0 评论 -
https server的ssl协议实现
1、简介HTTPS协议简单的说就是经过ssl加密的HTTP协议,本文不介绍https server中http信令的实现,只介绍ssl的实现。2、需要的库使用openssl实现ssl,需要编译openssl生成libssl.a和libcrypto.a3、API的使用需要包含的头文件#include <openssl/ssl.h>初始化,cert_pa...原创 2018-03-05 15:56:17 · 2143 阅读 · 0 评论 -
使用gsoap编译生成onvif源码C/C++文件
1、gsoap工具编译与安装需要先安装opensslsudo apt-get install openssl sudo apt-get install libssl-dev自行下载gsoap源码并解压,进入gsoap源码下./configmakesudo make install 安装成功后可以使用wsdl2h 和soapcpp2命令 wsdl2h 命令用于生成头文...原创 2018-03-05 16:31:15 · 1296 阅读 · 1 评论 -
linux socket使用ARP判断局域网指定IP是否被占用
项目中需要判断局域网内某个IP是否被占用,一开始想到的是ping命令,但是ping只能判断同一网段的IP。后来发现linux使用arping命令可以判断,如使用arping -D -f -w 1 x.x.x.x但是对于经过裁剪的嵌入式linux,busybox中不一定还保留arping命令,而且C代码中调用shell命令需要临时创建一个子进程来执行,频繁操作会浪费资源。于是决定参考busybo...原创 2018-05-03 17:48:09 · 1313 阅读 · 0 评论