SIP/VoIP之常见的视频问题
除了语音通话外,视频通话也是SIP协议通话中重要的功能,在实际应用中,经常会遇到一些视频问题,如下(以h264为例)
一、 己方未显示对方视频图像
排查方法:
- 查看网络抓包中有没有发给已方的视频码流,如果没有,需要对方查看原因。还有一种情况是对方未收到已方的视频流时,也不会向已方发视频流
- 网络抓包中有对方发来的视频流,查看目的IP/Port是否正确(有无端口或IP不可达的icmp报文)
- 查看视频码流是否正常,有无I帧及网络丢包情况,没有I帧则不能解码
- 码流正常的情况下,需要查看解码器是否正常
二、 对方未显示己方视频图像
排查方法:
- 查看网络抓包中有没有发给对方的视频码流,如果没有,需要查看视频采集、编码是否正常
- 已经发给对方视频码流,查看目的IP/Port是否正确(有无端口或IP不可达的icmp报文)
- 对方需要查看视频码流是否正常,有无I帧及网络丢包情况,没有I帧则不能解码
- 已方发出码流正常的情况下,需要对方查看解码器是否正常
三、 发起的视频通话建立后只有音频
原因:
- 对方只支持音频或者使用音频接听方式
- 对方不支持已方的视频参数,如分辨率不支持或声明的带宽不满足对方的要求,最终只成功协商了音频
四、 协商的分辨率比预期低
原因:
- 对方支持的分辨率低
- 声明的带宽不满足对方的要求,对方主动降低了协商后的分辨率
五、图像花屏、缺失、损坏
原因:
- 网络丢包引起解码不完整
相关文章:
SIP/VoIP之常见的视频问题
除了语音通话外,视频通话也是SIP协议通话中重要的功能,在实际应用中,经常会遇到一些视频问题,如下(以h264为例) 一、 己方未显示对方视频图像 排查方法: 查看网络抓包中有没有发给已方的视频…...
docker的服务/容器缺少vim问题
背景/问题: docker的服务/容器缺少vim问题 bash: vim: command not found 在docker的mysql服务中安装Vim 1、执行apt-get update root6d8d17e320a0:/# apt-get update问题:文件下载失败 Err:1 http://security.debian.org/debian-security buster/updates InRe…...
HCIP-OpenStack
1、OpenStack概述 OpenStack是一种云操作系统,OpenStack是虚拟机、裸金属和容器的云基础架构。可控制整个数据中心的大型计算、存储和网络资源池,所有资源都通过API或Web界面进行管理。 为什么称OpenStack是云操作系统? 云一般指云计算&…...
前端:Vue.js学习
前端:Vue.js学习 1. 第一个Vue程序2. Vue指令2.1 v-if、v-else-if、v-else2.2 v-for2.3 事件绑定 v-on:2.4 v-model 数据双向绑定2.5 v-bind 绑定属性 3. Vue组件4. Vue axios异步通信5. 计算属性6. 插槽 slots7. 自定义事件内容分发 1. 第一个Vue程序 首先把vue.js拷贝到本地…...
MySQL到Oracle快速上手
第一次做Oracle项目的时候对一些语法区别不太清楚,这里列出一些开发中发现的与MYSQL不同的点 一个用户相当于一个数据库 表空间 表空间是用于存储表、索引和其他数据库对象的逻辑存储结构。每个表空间由一个或多个数据文件组成,这些文件可以位于不同的物…...
机器人CPP编程基础-01第一个程序Hello World
很多课程先讲C/C或者一些其他编程课,称之为基础课程。然后到本科高年级进行机器人专业课学习,这样时间损失非常大,效率非常低。 C/单片机/嵌入式/ROS等这些编程基础可以合并到一门课中进行实现,这些素材已经迭代三轮以上…...
前后端分离------后端创建笔记(03)前后端对接(下)
本文章转载于【SpringBootVue】全网最简单但实用的前后端分离项目实战笔记 - 前端_大菜007的博客-CSDN博客 仅用于学习和讨论,如有侵权请联系 源码:https://gitee.com/green_vegetables/x-admin-project.git 素材:https://pan.baidu.com/s/…...
Leet code1049 最后一块石头的重量II
1049 最后一块石头的重量II 【问题描述】 有一堆石头,用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x < y。那么粉…...
Rust语法:变量,函数,控制流,struct
文章目录 变量可变与不可变变量变量与常量变量的Shadowing标量类型整数 复合类型 函数控制流if elseloop & whilefor in structstruct的定义Tuple Structstruct的方法与函数 变量 可变与不可变变量 Rust中使用let来声明变量,但是let声明的是不可变变量&#x…...
LVS简介及LVS-DR搭建
目录 一. LVS简介: 1.简介 2. LVS工作模式: 3. LVS调度算法: 4. LVS-DR集群介绍: 二.LVS-DR搭建 1.RS配置 1)两台RS,需要下载好httpd软件并准备好配置文件 2)添加虚拟IP(vip&…...
Java基础篇--日期时间类
目录 前言 Instant(时间戳)类 LocalData(日期)类 LocalTime(时间)类 LocalDataTime(日期时间)类 Duration(时间间隔)类 Period(日期间隔)类 Clock(获取时区)类 前言 在开发中经常需要处理日期和时间,Java提供…...
Vue生命周期函数 详解
以下是Vue生命周期函数的流程图和每个周期的代码详解: 流程图: beforeCreate -> created -> beforeMount -> mounted -> beforeUpdate -> updated -> beforeDestroy -> destroyed详解: beforeCreate: 触发时…...
判断链表有环的证明
目录 1.问题 2.证明 3.代码实现 1.问题 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用…...
百度屏蔽词有哪些?其中就有移民关键词指数被屏蔽?
我是百收网SEO,点点上面的头像,欢迎关注我哦! 今日tombkeeper消息爆料:百度指数已经屏蔽“移民”等关键词指数。 大家好,我是百收网SEO商学院的狂潮微课老师,今天我们来讲解第 12 节课关键词优化难度分析…...
代码随想录day02
977.有序数组的平方 ● 力扣题目链接 ● 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 思路 ● 暴力排序,时间复杂度O(n nlogn) ● 使用双指针,时间复杂度O(n) …...
VR时代真的到来了?
业界对苹果的期待是,打造一台真正颠覆性的,给头显设备奠定发展逻辑底座的产品,而实际上,苹果只是发布了一台更强大的头显。 大众希望苹果回答的问题是“我为什么需要一台AR或者VR产品?”,但苹果回答的是“…...
docker run 命令转化为 docker-compose 工具
工作当中需要将 docker run 转换为更方便的 docker-compose 格式,可以使用下面的工具来完成。 转换工具:https://www.composerize.com/?utm_sourceappinn.com 使用介绍:https://www.appinn.com/composerize-for-docker-compose/...
php如何对接伪原创api
在了解伪原创api的各种应用形态之后,我们继续探讨智能写作背后的核心技术。需要说明的是,智能写作和自然语言生成、自然语言理解、知识图谱、多模算法等各类人工智能算法都有紧密的关联,在百度的智能写作实践中,常根据实际需求将多…...
设计模式行为型——模板模式
目录 模板模式的定义 模板模式的实现 模板模式角色 模板模式类图 模板模式举例 模板模式代码实现 模板模式的特点 优点 缺点 使用场景 注意事项 实际应用 模板模式的定义 模板模式(Template Pattern)属于行为型设计模式,又叫模版…...
12.Eclipse导入Javaweb项目
同事复制一份他的项目给我ekp.rar (懒得从SVN上拉取代码了)放在workspace1目录下 新建一个文件夹 workspace2,Eclipse切换到workspace2工作空间 选择Import导入 选择导入的项目(这里是放到workspace1里面) 拷贝一份到workspace2里面 例子 所有不是在自己电脑上开发…...
Camunda 业务规则任务 (Business Rule Task) 与 DMN 深度解析
Camunda 业务规则任务 (Business Rule Task) 与 DMN 深度解析一、 核心概念定义 1. Business Rule Task(业务规则任务) 角色定位:BPMN 流程中的“决策代理人”。它不执行具体的业务动作(如发送邮件),而是负…...
比迪丽LoRA模型Agent智能体开发:自主完成多轮绘画创作任务
比迪丽LoRA模型Agent智能体开发:自主完成多轮绘画创作任务 最近在玩AI绘画的朋友,可能都有过这样的体验:脑子里有个很酷的画面,但把它变成AI能理解的提示词,却是个技术活。你得琢磨关键词、调整风格、设置参数&#x…...
Multisim 14.0实战:用74LS160和74LS161搭建61进制计数器(附完整电路图)
Multisim 14.0实战:用74LS160和74LS161搭建61进制计数器 在电子工程领域,计数器电路设计是数字逻辑课程的核心实践内容之一。对于初学者而言,理解计数器的工作原理并通过仿真软件实现特定进制计数功能,不仅能巩固理论知识&#x…...
终极指南:如何利用Awesome DevSecOps构建企业安全文化全流程
终极指南:如何利用Awesome DevSecOps构建企业安全文化全流程 【免费下载链接】awesome-devsecops An authoritative list of awesome devsecops tools with the help from community experiments and contributions. 项目地址: https://gitcode.com/gh_mirrors/aw…...
**为生命按下“刷新键”:当细胞科技成为健康管理的新日常**
清晨六点半,张教授在太湖边完成了他的五公里慢跑。这位年近六十的物理学博导,面色红润,步伐稳健,让许多年轻同事都自叹不如。朋友们常打趣问他保养秘诀,他总是笑笑说:“不过是尊重科学,提前管理…...
实战指南:SpringBoot与KingbaseES的高效集成与性能调优
1. SpringBoot与KingbaseES集成基础 第一次接触KingbaseES时,我完全被它的兼容性震惊了。这个国产数据库不仅能完美支持标准SQL,还能无缝对接Oracle、MySQL等语法体系。记得当时接手一个老项目迁移,原本担心要重写大量SQL,结果90%…...
终极write-good CLI指南:10个快速提升英语写作质量的命令行技巧
终极write-good CLI指南:10个快速提升英语写作质量的命令行技巧 【免费下载链接】write-good Naive linter for English prose 项目地址: https://gitcode.com/gh_mirrors/wr/write-good write-good是一款专为开发者打造的英语写作质量检查工具,它…...
AudioSeal Pixel Studio保姆级教程:检测报告解读——概率阈值、覆盖率、置信度
AudioSeal Pixel Studio保姆级教程:检测报告解读——概率阈值、覆盖率、置信度 1. 工具介绍与核心价值 AudioSeal Pixel Studio 是一款基于Meta开源的AudioSeal算法构建的专业音频水印工具。它能够在保持原始音频质量的前提下,为音频文件嵌入几乎不可察…...
SHTC3温湿度传感器Arduino底层驱动库详解
1. 项目概述Deneyap Sıcaklık Nem ler,即 Deneyap 温湿度传感器模块(型号 M01,MPV1.0),是一款面向土耳其教育与创客生态的嵌入式环境感知单元,其核心传感元件为 Sensirion 公司出品的 SHTC3 数字温湿度传…...
为什么 Multi-Agent 比单 Agent 更难
为什么 Multi-Agent 比单 Agent 更难——从协作黑洞到协同效率巅峰的全维度拆解 (全文预计42万字) 一、 引言:从 ChatGPT 的“天花板对话”到 AgentVerse 的“分布式协作故障”——这才是 AI 应用落地的真实门槛 1.1 钩子(The Hook):单Agent vs Multi-Agent 的两个真实…...
