当前位置: 首页 > news >正文

H323 截包分析辅流问题

辅流问题(h264\h264hp\h265)

终端1 : 192.168.1.1 入会发送辅流
终端2 : 192.168.1.2 入会接收辅流
问题 : 终端2不显示辅流
在这里插入图片描述

1、筛选 h245 h225 协议

分别筛选以下IP进行查看截包内容

(h225 || h245) && ip.addr == 192.168.1.1

(h225 || h245) && ip.addr == 192.168.1.2

2、查看逻辑通道打开是否正常

看MCU与终端是否都打开各逻辑通道(只接受不发送辅流,接收放可以不打开辅流逻辑通道)

openLogicalChannel(g711A) 音频
openLogicalChannel(genericVideoCapability) 主流视频
openLogicalChannel(extendedVideoCapability) 辅流视频
openLogicalChannel(h244)

3、打开openLogicalChannel信令查看内容消息

选择H.245 右键 Expand Subtree 展开信息
查看逻辑通道号与带宽等数据是否正常

4、流控消息

(1)Flow Control Command
用途:

"flowControlCommand"消息通常由发送方(即数据发送的一端)发出,用于通知接收方(即数据接收的一端)调整其处理能力或缓冲区设置。
这一消息的目的可能是为了让接收方知道发送方已经改变了带宽或传输速率,以便接收方能够相应地调整自身的接收参数。
典型场景:

当发送方因为网络条件变化或其他原因需要改变数据传输速率时,它会发送"flowControlCommand"消息给接收方,指示其根据新的条件调整自身配置。
示例:

发送方检测到网络状况变好,可以增加传输速率,于是发送"flowControlCommand"消息给接收方,通知其准备接收更高的数据流量。

(2)Flow Control Indication
用途:

"flowControlIndication"消息通常由接收方发出,用于通知发送方调整其传输速率或其他传输参数。
这一消息的目的是为了让发送方了解接收方的当前处理能力或网络状况,并做出相应调整。
典型场景:

当接收方检测到自身处理能力不足或网络带宽不足时,它会发送"flowControlIndication"消息给发送方,要求其降低传输速率以避免数据丢失或延迟过大。
示例:

接收方发现当前网络拥塞,无法处理过多的数据流量,于是发送"flowControlIndication"消息给发送方,要求其减少数据发送速率。

(3)区别总结:
消息发出方:

FlowControlCommand: 由发送方发出。
FlowControlIndication: 由接收方发出。
(4)目的与作用:

FlowControlCommand: 用于发送方通知接收方调整接收参数或处理能力。
FlowControlIndication: 用于接收方通知发送方调整传输速率或其他传输参数。
(5)使用场景:

FlowControlCommand: 当发送方主动改变传输条件(如带宽增加)时,它会发送此消息给接收方。
FlowControlIndication: 当接收方遇到处理能力或网络带宽限制时,它会发送此消息要求发送方调整传输速率。

5、查看辅流是否接收到和是否发送

查找辅流发送端口号
openLogicalChannel(extendedVideoCapability) 辅流视频
tsapIdentifier : 9003
筛选(端口号一般为你查到的端口号减1):

检查192.168.1.1是否发送辅流 → ip.addr == 192.168.1.1 && udp.port == 9002

检查是否发送辅流给192.168.1.2 → ip.addr == 192.168.1.2 && udp.port == 9002

相关文章:

  • 力扣42 接雨水
  • mysql社区版有可以双机吗
  • 大城市与小城市的一些感受
  • C++中的适配器模式
  • 欢乐打地鼠小游戏html源码
  • 面试题:callable与runable的区别?
  • python中字典的创建
  • Spring AI 第二讲 之 Chat Model API 第九节 watsonx.ai Chat
  • 微生物实验室建设公司独家分享:从平面布局到高效设备的全流程设计技巧
  • YOLOV5总结
  • C++基础编程100题-009 OpenJudge-1.3-07 计算多项式的值
  • 协程-在单个线程内部执行
  • 为什么要分析电商用户数据?详解两大用户数据分析维度
  • 华为云DDoS攻击下的应对策略
  • Spring Cloud Gateway详解
  • php的引用
  • 2017-08-04 前端日报
  • avalon2.2的VM生成过程
  • C++类中的特殊成员函数
  • canvas绘制圆角头像
  • CentOS从零开始部署Nodejs项目
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • JS学习笔记——闭包
  • Less 日常用法
  • Python 反序列化安全问题(二)
  • scala基础语法(二)
  • Sequelize 中文文档 v4 - Getting started - 入门
  • Swift 中的尾递归和蹦床
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • vue--为什么data属性必须是一个函数
  • 动态规划入门(以爬楼梯为例)
  • 深入浅出Node.js
  • 消息队列系列二(IOT中消息队列的应用)
  • 在Mac OS X上安装 Ruby运行环境
  • 自动记录MySQL慢查询快照脚本
  • HanLP分词命名实体提取详解
  • 阿里云服务器购买完整流程
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • ​2020 年大前端技术趋势解读
  • #QT(一种朴素的计算器实现方法)
  • (11)MSP430F5529 定时器B
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (2024,RWKV-5/6,RNN,矩阵值注意力状态,数据依赖线性插值,LoRA,多语言分词器)Eagle 和 Finch
  • (2024最新)CentOS 7上在线安装MySQL 5.7|喂饭级教程
  • (23)Linux的软硬连接
  • (SpringBoot)第七章:SpringBoot日志文件
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (实测可用)(3)Git的使用——RT Thread Stdio添加的软件包,github与gitee冲突造成无法上传文件到gitee
  • (详细文档!)javaswing图书管理系统+mysql数据库
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (源码分析)springsecurity认证授权
  • .bat批处理(六):替换字符串中匹配的子串