自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(196)
  • 收藏
  • 关注

原创 Qt Windows平台调用ffmpeg动态库

本文介绍了在QT 6.8项目中集成FFmpeg库的具体步骤。首先需下载预编译的Windows动态库,包含bin、include和lib目录;然后在工程配置中设置头文件路径和链接库文件,针对CMake和qmake分别提供了配置示例;接着说明需要将库文件复制到指定目录并设置运行时依赖;最后给出了调用示例代码,并强调了编译器匹配、位数一致和版本兼容性等注意事项。该方法已验证适用于QT 6.8环境下的FFmpeg集成。

2025-06-24 19:42:31 655

原创 VoIP之常用的音频编码

音频编码技术在VoIP应用中至关重要。PCM作为原始音频格式音质好但体积大,需进行压缩编码。窄带编码(G.711/G.729/G.723.1)适用于传统场景,低带宽优化编码(iLBC/AMR-NB/Speex)针对网络不稳定环境。宽带编码(G.722/AMR-WB)提供高清音质,新型Opus编码兼具自适应和抗丢包特性。选择时需权衡带宽、音质和网络条件:极限带宽用G.723.1,网络波动选Opus/iLBC,高清会议用G.722,开源场景首选Opus。(149字)

2025-06-16 19:35:07 601

原创 SIP协议之NACK(Negative Acknowledgement)

NACK是SIP/VoIP中用于弱网环境的丢包重传机制,接收端通过RTCP请求发送端重传缺失RTP包。其特点是响应速度快,采用两轮重传设计提升成功率,但需注意带宽压力控制。NACK适用于少量丢包场景,可与FEC互补,但在严重丢包时效果有限且不适用单向广播。相比FEC,NACK具有更好的协议通用性。(150字)

2025-06-10 19:42:44 419

原创 Android系统常用的显示组件类及接口说明

ANativeWindowBuffer是一个C结构体,包含以下核心属性:‌width/height‌:缓冲区的宽度和高度(像素单位)stride‌:每行像素占用的字节数(可能包含对齐填充)format‌:像素格式(如 HAL_PIXEL_FORMAT_RGBA_8888)‌layerCount‌:缓冲区包含的图层数(用于多层合成)common‌:继承自 android_native_base_t,用于引用计数和生命周期管理。

2025-05-15 12:05:08 888

原创 电脑基础之微信软件的使用

 注:**手机点同意登录时,不要选择“同步消息”,*如果同意的话,会把最近手机上的聊天人员和聊天消息同步到电脑上,如果公司或其它人的电脑,涉及的隐私问题。

2025-04-22 17:13:59 626

原创 电脑基础之删除文件或文件夹

在用户使用上述的删除方法删除文件后,不是真的删除,而是系统将用户删除的文件放到回收站里了,要做到永久删除,还得将回收站中的文件删除。用户删除的文件不会一直存在回收站中,如果回收站中的文件过多,或者硬盘剩余空间太少,系统会自动删除回收站中的文件。如果用户错误删除了文件,在回收站中的文件没有清空或删除前,可以在回收站中恢复被删除的文件。鼠标放到要删除的文件或文件夹上,右键单击,弹出菜单,鼠标选择删除选项,左键单击删除。鼠标放到要删除的文件或文件夹上,按键盘上的Delete按键删除。一、文件或目录的删除方法。

2025-04-22 15:35:49 481

原创 VoIP之IMS中常见的SIP头域及作用

传递终端接入网络的具体信息(如小区 ID、接入技术类型),用于网络优化服务,标识用户当前所在的拜访网络。定义 SIP 请求的逐跳路由路径,通常由网络实体(如P-CSCF、S-CSCF)动态添加‌。注册流程中由 S-CSCF 返回,指示后续请求的路由路径(如触发业务时指向AS)记录 P-CSCF 路径,确保后续请求按注册时的路径传递至S-CSCF‌。记录会话路径中的代理节点,确保后续请求(如BYE)按原路径返回。主叫用户声明的期望显示身份(如号码或匿名标识),需经网络校验。

2025-04-16 16:35:27 537

原创 电脑基础之excel基础操作

excel表格最早由微软推出,通过Microsoft Office Excel软件创建和编辑。由于涉及版权付费问题,大多数个人使用非正版软件。后来金山出了WPS office免费软件,目前大多数个人使用的都是这个版本。行标识: 左面的1,2,3,4…。。。是行标识,表示第几行,比如第1行。列标识: 上面的1,2,3,4…。。。是行标识,表示第几列,比如第A列。单元格:每一个小格子称为单元格单元格A1: 表示列为A,行为1的单元格窗口底栏:sheet1表示第一张表, sheet2表示第二章。

2025-04-01 18:54:33 808

原创 电脑基础之word基础操作

word文档最早由微软推出,通过Microsoft Office Word软件创建和编辑。由于涉及版权付费问题,大多数个人使用盗版软件。后来金山出了WPS office免费软件。目前大多使用的都是这个软件。

2025-04-01 16:33:24 1286

原创 电脑办公之文件(夹)操作

用户可以左键点击进入D盘,此时是在第一层目录(称为根目录), 可以看到很多文件夹和文件, 其中,文件称为当前目录的文件, 目录称为当前目录的子目录。文件夹和文件就像一棵树一样组组织起来,根目录就是树的根,其它就是树的枝、叶……注: 文件夹也可以看成是一种文件,只不过文件夹用来存储文件或目录文件是用为存储内容或数据的,文件有不同的格式,如文档、图片、音频文件、视频文件等.

2025-04-01 14:19:00 970

原创 常用的加密算法及相关术语简介

HASH一般翻译为哈希或散列,是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。

2025-03-18 18:04:28 741

原创 SIP协议之账号配置及常见的注册问题

在SIP应用中,无论是软件SIP终端(软终端)还是硬件SIP终端(如IP话机)等,通常需要先配置一个SIP账号,注册成功后才能进行呼出和呼入。SIP账号有基础配置和高级配置,配置过程中经常会遇到很多问题。

2025-03-06 20:13:54 2119

原创 VoIP之SBC(会话边界控制器)

‌  SBC(Session Border Controller,会话边界控制器)‌是一种在VoIP通信网络中的重要设备,用于连接处理会话边界,核心功能包含信令代理/媒体代理、网络NAT穿越、防火墙、QoS等。

2025-02-28 19:17:48 419

原创 VoIP之常用开源库

在构建VoIP/SIP等音视频产品时,为了快速稳定的实现产品功能,通常需要集成一些优秀的开源库来达到此目的。

2025-02-25 20:06:32 593 3

原创 VoIP之音频3A技术

消除或减少通信系统中的回声,提高语音清晰度,主要消除麦克风采集到的扬声器的声音。

2025-02-24 18:25:59 704

原创 VoIP之舒适噪音(Comfort Noise)

舒适噪音(Comfort Noise,简称CN)是一类特殊的噪音,能够让人放松或者提示的作用。日常生活中有不少舒适噪音的场景,如钟表的滴答声、相机的快门声等,用来提示用户设备在正常工作。在VoIP语音通话中,通常在静音时段停止发送语音包,同时发送舒适噪音描述包给对方,对方根据描述参数,通过舒适噪音生成器(CNG)生成舒适噪音进行播放。

2025-02-24 12:02:02 564

原创 VoIP之静音抑制(silence suppression)

研究表明,在双方语音通话过程中,通常是一方在说话,另一方在倾听,而且讲话过程中有大量的停顿。一般只有35%~40%的音频信号是有效的,其它时间都属于静音时段(无有效音频信号)。如果在这些静音时段停止发送语音包,可以显著的节省网络带宽。在VoIP领域,就有一项应用技术叫静音抑制,就是在通话期间,监测到没有有效音频信号时,停止发送语音包。

2025-02-21 20:04:35 314

原创 VoIP之视频会议混屏技术

在VoIP视频会议中,需要将多路参会方的视频画面混合成一路视频流再发送给各参会方,以达到参会方可以在收到的一幅画面中看到每个与会人画面的目的,这种技术叫混屏。

2025-02-17 18:15:13 469

原创 VoIP之通话中的声音类型

  在SIP/VoIP通话中有多种类型声音

2025-02-17 18:06:50 568

原创 VoIP之音视频会议中的混音技术

在VoIP音视频会议中,需要将多路参会方音频流混合成一路音频流再发送给各参会方,以达到参会方可以听到每个与会人声音的目的,这种技术叫混音。

2025-02-14 19:13:51 835

原创 VoIP之Jitter Buffer(抖动缓冲器)

Jitter Buffer(抖动缓冲器)是一种VoIP领域用于处理网络传输中数据包抖动和延迟的技术,通过合理的配置和优化,该机制可以确保通话中语音的连续性和清晰度,提高用户的通话体验。

2025-02-14 12:02:15 743

原创 VoIP之语音活动检测(VAD)

语音活性检测 (Voice activity detection,VAD),是一项重要的语音处理技术,用于检测语音信号是否存在。该技术原理是通过提取一系列音频信号特征来判断语音信号是否存在,特征可能包括信号的能量、频谱、基频等。

2025-02-10 16:10:57 571

原创 常用在线工具

常用在线工具

2025-02-08 18:26:45 299

原创 Abseil之命令行解析

Abseil目前开放的C++标准库的扩充库,是从Google内部C++代码库抽取出来的基础库的合集, 包括字符串处理、日志记录、命令行解析等。

2024-09-25 19:50:21 494

原创 WebRTC源码下载及编译(Ubuntu20.04)

编译完成会在out/Default目录下生成很多文件(包括各种库等)

2024-09-23 18:21:46 1888 4

原创 电脑办公之基础操作(持续更新)

有的按键上有两个符号,默认输入下方的符号,如果想要输入上方的符号,需要先按住shift键。方法二: 点击左面的Caps Lock键, 右上角的“A"灯亮,表示是大写字母输入模式。通常有ctrl+空格,ctrl+alt, ctrl+alt+空格等情况。方法一: 按住Shift键的同时,再按字母键,此时输入的就是大写字母。方法一:可以通过鼠标点击电脑右下角的输入法列表, 选择相应的输入法。在打开的文档中,滑动中间的滚轮可以上下翻阅文档。左键有单击、双击、长按拖动三种使用方法。用来打开文件/文档/应用软件等。

2024-09-03 22:39:50 1696

原创 SIP协议之匿名呼叫

匿名呼叫是SIP呼叫中的一个特殊业务,原理是构造一个没有个人信息的From头域,其中显示名部分为Anonymous, 这样被叫收到呼入请求时,按照From头域中的显示部分“Anonymous"显显示为Anonymous(匿名)来电。

2024-08-24 10:33:32 746

原创 减少软件使用的复杂度

对软件使用者来说,软件的安装和使用要足够方便,比如输入参数少、一键安装等。避免操作复杂度高导致用户使用的不适,使产品失去竞争力。

2024-06-03 21:25:35 222

原创 持续不断的学习

软件行业技术更新速度快,要想保持竞争力,需要不断的学习,所谓”技多不压身”。软件工程师在工作过程中,不仅要在自己的领域范围内深入学习,还要在整个软件行业链条上,不断的扩展自己的视野和能力,从而不被行业淘汰。

2024-06-03 21:24:29 192

原创 非紧急的难题延期处理

在日常工作中,经常会收到一些待处理的新问题,有些是紧急的,有些是非紧急的。遇到这种情况时,一部分人会停下手上的工作,去处理新问题,造成现有工作思路的中断,而处理完新问题后,已经忘记当时的思路了,又得重新思考之前的工作状态,导致效率降低。比较好的方法是:如果是紧急的问题,记录当前的工作状态,优先处理新问题;如果是非紧急的问题,则不要中断进行中的任务,将新问题放入待处理任务列表,延期处理。

2024-06-03 21:23:21 417

原创 程序员要做好软件测试

众所周知,软件完成开发后,要经过测试人员测试,找出问题,然后由程序员修复后再提交测试验证,直到没有问题。而这个修复测试过程中含有很多沟通、交互环节,耗费大量时间和精力,容易造成产品交付延期。因此,程序员在开发过程中,要做好用例测试,避免软件中出现低级错误,减少问题,从而减少反复提测版本造成的人力时间损耗,保证软件交付时间。

2024-06-03 21:20:30 297 1

原创 将成果加入版本管理

无论是代码、脚本、或是文档,都会根据需求进行不定期的修改,有时需要以前的版本。如果单靠备份机制维护不同版本文件,既占用空间,又容易出错,这时需要使用版本管理工具(如 git)将阶段性的版本管理起来并在提交时添加必要的说明。这样,在后面需要恢复到上一个版本的状态时,就很方便。一般公司也都有相应的代码和文档管理工具或机制,重点要说明的是,对于临时开发的 demo 程序、编写的文档等也要用版本管理起来,方便恢复到以前的版本。

2024-06-03 21:17:34 747

原创 先编码后调试

对于初级程序员来说,大多是写几行代码就编译看看有没有错误, 有错误改好了再编码,反复如此。这样做的缺点是造成了频繁的思路中断,编码效率降低。高级程序员的做法是先编码再编译调试,但这也不是说把所有代码全部写完再编译,重点是要尽量保持编码思路的连续性,从而提高编程效率。

2024-06-03 21:16:33 393

原创 与主流代码风格一致

不同的编程语言有不同的编程风格,软件工程师在编码时,要与主流代码风格保持一致,这样可以提高代码的可读性和可维护性,不同团队成员之间的协作更加顺畅。因此,建议参考大厂的编码风格进行编程。

2024-06-03 21:14:24 236

原创 从开源代码中学习

经典的开源项目都是经过多名顶级软件开发者的设计开发,里边一般都有值得学习的东西,比如架构设计、编程思想,语法技巧等,多分析和学习开源代码能够提高软件设计能力和编程水平。

2024-06-03 21:11:29 221

原创 确认好再开始编码

编码是软件开发的核心,在开始编码前一定要确认好相关事项,以免出现差错。

2024-06-03 21:10:24 261

原创 掌握常用的快捷键

无论在 windows 系统还是 Linux 操作系统中,各个应用软件都有很多快捷键,如打开、保存文件,复制/粘贴等等。相比于使用鼠标进行菜单选择,通过快捷键操作可以更快完成相应的操作,从而提高工作效率。因此,要尽可能掌握更多的快捷键。

2024-06-03 21:09:04 520

原创 提高打字速度

程序员打字速度的高低,往往直接影响着他们的工作效率。如果打字慢或左右手分工不明确,建议花费时间进行键盘指法练习,从而提高编程效率。

2024-06-03 21:07:57 234

原创 为自己积累编程积木

复杂程序代码其实是简单程序代码的组合。不同项目中经常会用到相同的功能函数、API 接口、功能库。为避免重复查询函数用途、参数调用等信息,可以在工作中将常用的程序片段、函数/API 示例、功能库调用框架等整理出来,构建成自己的开发库。在需要的时候,将相应的代码拷贝粘贴使用,避免重复开发代码耗费时间,像搭建积木一样来构建软件来提高整体的开发效率。

2024-05-30 20:37:49 205

原创 工欲善其事,必先利其器

因此,很多程序员都会自已准备顺手的设备,比如机械键盘、鼠标等。

2024-05-30 20:34:11 216

SIP(VoIP)常用RFC文档.zip

SIP/VoIP领域中常用的RFC文档 rfc3261: SIP(Session Initiation Protocol), 会话初始化协议 文中定义了消息的头域格式及用途, 会话、事务及状态机逻辑,是SIP协议的基础规范。 rfc4566: SDP: Session Description Protocol 作为会话描述协议 ,主要用于媒体(音频和视频)参数的协商,与SIP或RTSP等信令控制协议一起使用 rfc3262: Reliability of Provisional Responses in the Session Initiation Protocol (SIP) 作为SIP扩展协议,定义了临时响应18x(183/180)可靠传输机制 rfc2833: RTP Payload for DTMF Digits, Telephony Tones and Telephony Signals 用于DTMF 数字信号、电话音和电话信号的 RTP 负载格式

2023-04-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除