资源简介
按照GBT28181标准,基于osip协议栈,使用osip库和eXosip库实现的sip客户端,包括注册、心跳包、MESSAGE消息、Invite请求处理等GB28181基本功能的实现
代码片段和文件信息
#include
#include “ctrl.h“
#include
#include
#include
#include
#include
#include “demo.h“
#include “h264.h“
MEDIA_PARA media_para;
/*设备控制:向左、向右、向上、向下、放大、缩小、停止遥控/开始手动录像、停止手动录像/布防、撤防/报警复位/设备远程启动*/
/*ctrl_cmd:设备控制命令,_device_control类型的枚举变量*/
/*返回值:成功时返回0,失败时返回负值*/
int dt_eXosip_deviceControl(enum _device_control ctrl_cmd)
{
return 0;
}
DWORD WINAPI SendRtpProc(LPVOID lp)
{
SOCKET socket_cli;
SOCKADDR_IN addrser;//Initialize Win Socket
sockaddr_in addrMe; //源端口和地址
NALU_t * n = NULL;
char sendbuf[MAXDATASIZE];
RTP_HEADER * rtp_hdr = NULL ;
int pocket_number = 0; //包号
int frame_number = 0; //帧号
int total_sent = 0; //已经发送的总共数据
NALU_HEADER * nalu_hdr = NULL;
char* nalu_payload = NULL;
int bytes = 0; //一次发送的数据
//unsigned int sequence = 65536;
int timestamp = 0;
FU_INDICATOR *fu_ind = NULL ;
FU_HEADER *fu_hdr = NULL ;
MEDIA_PARA *pMedia_para = (MEDIA_PARA *)lp;
//创建socket套接字
addrMe.sin_family = AF_INET;
addrMe.sin_port = htons(atoi(device_info.ipc_media_port));//1001你的端口号
addrMe.sin_addr.s_addr = INADDR_ANY;
socket_cli= socket(AF_INET SOCK_DGRAM/*UDP协议的是流式*/0);
addrser.sin_addr.S_un.S_addr =inet_addr(pMedia_para->media_ip);
addrser.sin_family = AF_INET;
addrser.sin_port = htons(atoi(pMedia_para->media_port)); //网络字节序
bind(socket_cli (struct sockaddr*)&addrMe sizeof(addrMe));
OpenBitstreamFile(inputfilename); //打开本地要传输的文件
n = AllocNALU(8000000); //分配nal 资源
while(!feof(pinfile) && g_did_realPlay>0) //如果未到文件结尾
{
GetAnnexbNALU(n);
// dbg(“NALU--- forbidden_bit : %d\n“ n->forbidden_bit);
// dbg(“NALU--- nal_reference_idc : %d\n“ n->nal_reference_idc);
// dbg(“NALU--- Type : %d\n“ n->nal_unit_type);
// dbg(“NALU--- startcodeprefix_len : %d\n“ n->startcodeprefix_len);
dbg(“NALU--- len : %d\n“ n->len);
dbg(“NALU--- max_size : %d\n“ n->max_size);
memset(sendbuf0MAXDATASIZE);
rtp_hdr =(RTP_HEADER*)&sendbuf[0];
rtp_hdr->payloadtype = H264; //Payload type
rtp_hdr->version = 2; //Payload version
rtp_hdr->marker = 0; //Marker sign
rtp_hdr->ssrc = 999999999; //帧数
rtp_hdr->timestamp = htonl(timestamp);
if (n->len < 1400) //打单包
{
if(n->buf[3] == 0xC0)
rtp_hdr->marker = 1;
else
rtp_hdr->marker = 0;
rtp_hdr->seq_no = htons(pocket_number++);
nalu_payload = &sendbuf[12];
memcpy(nalu_payloadn->bufn->len);
rtp_hdr->timestamp = htonl(timestamp);
bytes = n->len + 12;
Sleep(40);
sendto(socket_clisendbufbytes0(SOCKADDR *)&addrsersizeof(SOCKADDR));
total_sent +=
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-10-16 15:00 SipClientC\
目录 0 2018-10-10 11:08 SipClientC\.vs\
目录 0 2018-10-10 11:08 SipClientC\.vs\SipClient\
目录 0 2018-10-10 11:08 SipClientC\.vs\SipClient\v14\
文件 133632 2018-10-11 10:10 SipClientC\.vs\SipClient\v14\.suo
文件 675876 2018-05-17 13:15 SipClientC\1.264
文件 2205983 2018-05-17 13:15 SipClientC\3.ps
目录 0 2018-10-11 10:09 SipClientC\Debug\
文件 675876 2018-05-17 13:15 SipClientC\Debug\1.264
文件 2205983 2018-05-17 13:15 SipClientC\Debug\3.ps
文件 420864 2018-05-17 13:15 SipClientC\Debug\eXosip.dll
文件 530432 2018-05-17 13:15 SipClientC\Debug\GLC_Encap.dll
文件 1177088 2018-05-17 13:15 SipClientC\Debug\libeay32.dll
文件 90112 2018-05-17 13:15 SipClientC\Debug\osip2.dll
文件 196096 2018-05-17 13:15 SipClientC\Debug\osipparser2.dll
文件 269824 2018-05-17 13:15 SipClientC\Debug\ssleay32.dll
文件 1919398 2018-05-17 13:16 SipClientC\Debug\test.ps
文件 458840 2018-05-17 13:15 SipClientC\Debug\Transform.dll
目录 0 2018-10-10 11:08 SipClientC\dll\
文件 675876 2018-05-17 13:16 SipClientC\dll\1.264
文件 2205983 2018-05-17 13:16 SipClientC\dll\3.ps
文件 420864 2018-05-17 13:16 SipClientC\dll\eXosip.dll
文件 530432 2018-05-17 13:16 SipClientC\dll\GLC_Encap.dll
文件 1177088 2018-05-17 13:16 SipClientC\dll\libeay32.dll
文件 90112 2018-05-17 13:16 SipClientC\dll\osip2.dll
文件 196096 2018-05-17 13:16 SipClientC\dll\osipparser2.dll
文件 269824 2018-05-17 13:16 SipClientC\dll\ssleay32.dll
文件 1919398 2018-05-17 13:16 SipClientC\dll\test.ps
文件 458840 2018-05-17 13:16 SipClientC\dll\Transform.dll
目录 0 2018-10-10 11:08 SipClientC\include\
目录 0 2018-10-10 11:08 SipClientC\include\eXosip2\
............此处省略185个文件信息
- 上一篇:USB显微镜驱动
- 下一篇:计算机组织与体系结构性能设计第6版.pdf
评论
共有 条评论