RTP GB28181 文件测试工具

文章讲述了在GB28181协议中遇到UDP视频流丢包问题的解决方案,通过读取PS和RTP包,分析关键帧并保存为H264,检测RTP包的连续性,发现丢包模式,计划增加RTP协议的可视化分析功能。

以下情况时使用了GB28181 中 udp发送视频流的情况,有的相机udp丢包比较严重,有的可以,对有问题的相机着重进行分析

read ps
RTP测试工具进一步升级
今天写了一段程序,为了解决花屏的问题,需要知道问题到底在哪里,保存了几百个ps文件,然后读出按照流程保存成h264文件,使用vlc 工具读,有简单跳帧。
 

int main_ps()
{
	int meetkeyframe = 0;
	const char* buffer = "j:/ps/h264save%d.264";
	char filename[128];
	uint8_t* h264buffer = new uint8_t[1024 * 500];
	int h264length = 0;
	int skip = 0;
	FILE* fpw = fopen("j:/out1.264", "wb");
	for (int i = 0; i < 2855; i++)
	{
		sprintf(filename, buffer, i);
		FILE* fp = fopen(filename, "rb");
		if (fp != NULL)
		{
			fseek(fp, 0, SEEK_END);
			long len = ftell(fp);
			fseek(fp, 0, SEEK_SET);
			//fread(pp, sizeof(char) * 4, 1, fp);
			uint8_t* data = new uint8_t[len];
			fread(data, len, 1, fp);
			if (*data == 0x00 && *(data + 1) == 0x00 && *(data + 2) == 0x01 && *(data + 3) == 0xba)
			{
				GetH264FromPs((char*)data, len, (char*)h264buffer, &h264length);
				if (h264length > 0)
				{
					if (m
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值