首页 > 其他分享 >RTCP报文解析

RTCP报文解析

时间:2024-06-03 08:59:41浏览次数:17  
标签:pHeader 解析 int 报文 unsigned packet char RTCP

 RTCP包的头部结构体定义

struct RTCP_Header
{
    unsigned short rc:5;
    unsigned short padding:1;
    unsigned short version:2; //1 char
    unsigned short payloadtype:8; //2 char
    unsigned short length; //3,4 char
    unsigned int ssrc; //5,6,7,8 char
};

 

Sender Report 类型的RTCP数据部分结构体定义

struct Rtcp_SR
{
    unsigned int  NtpTimestampMSW;
    unsigned int  NtpTimestampLSW;
    unsigned int  RtpTimestamp;
    unsigned int  SenderPacketCnt;
    unsigned int  SenderOctetCnt;
};

 

RTCP报文解析函数

入参:RTCP报文指针、报文字节大小

void parse_udp_packet(unsigned char* packet, int packet_length)
{    
    int offset = 0;
    while (offset < packet_length)
    {
        RTCP_Header* pHeader =  (RTCP_Header*)(packet + offset);
        printf("ssrc: 0x%08x ver: %d, padding: %d, rc: %d, type: %d, paloadlen: %d\n", 
            ntohl(pHeader->ssrc), pHeader->version, pHeader->padding, pHeader->rc, pHeader->payloadtype, 4 * ntohs(pHeader->length));

        if(pHeader->payloadtype == 200)
        {
            Rtcp_SR* pstSR = (Rtcp_SR*)(packet + offset + 8);

            printf("octetCnt:%d, packetCnt: %d\n", 
                ntohl(pstSR->SenderOctetCnt), ntohl(pstSR->SenderPacketCnt));
        }

        offset += 4 * ntohs(pHeader->length) + 4;
    }

    return;
}

 

标签:pHeader,解析,int,报文,unsigned,packet,char,RTCP
From: https://www.cnblogs.com/Arthurian/p/18228011

相关文章

  • PanDownload复刻版百度网盘高速解析下载操作步骤(Mortix工具版)
    https://f.then.asia/#/indexPanDownload网页版,百度网盘分享链接在线解析工具。https://f.then.asia/#/index1、阅读使用帮助并下载工具Motrix  解压出来(安装)打开软件,解析下载时该软件要保持打开!2、把要下载的文件分享过来进行解析3、跳转解析成功页面,点击文件以获得......
  • 深度解析助贷CRM系统:功能、优势与应用全景
    在助贷行业,CRM(客户关系管理)系统已经成为企业提升效率、优化管理和挖掘客户价值的得力助手。那么,究竟什么是助贷CRM系统?它又能为企业带来哪些实质性的帮助呢?本文将为您一一解答。一、什么是助贷CRM系统? 助贷CRM系统,专为助贷企业量身打造,是一个集客户信息管理、销售跟单管理、......
  • 深度学习论文翻译解析(二十二):Uniformed Students Student-Teacher Anomaly Detection W
    论文标题:UniformedStudentsStudent-TeacherAnomalyDetectionWithDiscriminativeLatentEmbbeddings论文作者: PaulBergmann MichaelFauser DavidSattlegger CarstenSteger论文地址:https://openaccess.thecvf.com/content_CVPR_2020/papers/Bergmann_Uninformed......
  • 光纤传感器产品特性解析
    一前记  光纤传感器天然具有抗电磁、原子辐射干扰的能力,具备工作温度高,多传感器组网,可信号预处理分析,数字化通用接口等诸多优点,因此在重大工程设备上智能光纤传感器有很多的应用场景。经过长期的技术积累。团队在光纤传感器领域形成了产品矩阵。这些产品可以广泛应用在工业......
  • 布局解析LayoutInflater分析
    布局解析-LayoutInflater分析一般添加布局或控件有两种方式,一种是直接new对应的View,然后通过addView方法添加到父控件中,一种是将布局写在layout的xml文件中,然后调用调用接口添加到父控件中,而这里就涉及到将xml布局转为View控件,一般都是使用LayoutInflater的inflate方法来讲布局xm......
  • WSL2--DNS解析问题解决
    1.问题xurong@DESKTOP-SOE9MG1:~/.ssh$sudoaptupdateIgn:1http://security.ubuntu.com/ubuntunoble-securityInReleaseIgn:2http://archive.ubuntu.com/ubuntunobleInReleaseIgn:3http://archive.ubuntu.com/ubuntunoble-updatesInReleaseIgn:4http://archive......
  • 电机控制系列模块解析(26)—— 参数辨识
    一、离线辨识参数辨识分为:离线辨识和在线辨识。在现代电机控制领域,准确掌握电机的各项电气和机械参数对于实现高效、精准的控制至关重要。离线辨识作为电机参数测量的一种重要手段,主要在电机未接入实际运行系统时进行,通过特定的测试信号和算法,辨识出电机的关键参数。本文将介......
  • 【Django技术深潜】揭秘Django定时任务利器:django_apscheduler全面解析与实战
    在现代Web开发中,定时任务是不可或缺的一部分,无论是定期数据分析、定时发送邮件、还是系统维护脚本,都需要精准的定时调度。Django作为Python世界中强大的Web框架,其对定时任务的支持自然也是开发者关注的重点。本文将深入探讨Django定时任务解决方案,特别是聚焦于django_apscheduler......
  • 反转21克msvcr100.dll丢失怎么办?反转21克msvcr100.dll丢失问题的全面解析与解决之道
    《反转21克》是目前第一款以科幻为题材的互动影像作品。然而很多玩家都遇到了反转21克msvcr100.dll丢失的问题,其中msvcr100.dll是MicrosoftVisualC++2010RedistributablePackage的一部分,它提供了运行时库支持,下面一起来看看解决方法介绍吧!重新安装相关程序重新安装与ms......
  • 深入解析力扣170题:两数之和 III - 数据结构设计(哈希表与双指针法详解及模拟面试问答)
    在本篇文章中,我们将详细解读力扣第170题“两数之和III-数据结构设计”。通过学习本篇文章,读者将掌握如何设计一个数据结构来支持两种操作,并了解相关的复杂度分析和模拟面试问答。每种方法都将配以详细的解释和ASCII图解,以便于理解。问题描述力扣第170题“两数之和III......