Browsed by
作者:taxuefeihong

实时音视频领域,下一个风口在哪里?

实时音视频领域,下一个风口在哪里?

随着网络技术的逐渐发展,人与人之间的社交通讯从文字、图片、视频不断发生转变。直播行业的兴起,催生了音视频领域相关技术的蓬勃发展。下一次社交通讯方式的变更,会是实时音视频领域嘛 ?

实时音视频主要应用在VoIP、远程会议、远程协助等实时场景。微信VoIP 的广泛使用[……]

继续阅读

记录写代码时的杂想

记录写代码时的杂想

近期工作比较忙,新版本要上线,线上还有一些问题要处理。从早到晚,都有人找你,在繁忙的工作中有一些思考。

线上出现问题很常见,代码是人写的,有bug很正常,充分测试规避低级错误。对于线上问题,查到问题原因后,都要给出优化措施,使问题得到收敛。如果是操作引起的问题,要完善制度,尽可能减少人为失误。[……]

继续阅读

protobuf 异常死锁分析

protobuf 异常死锁分析

最近在开发中,有个模块在测试时偶尔会出现卡死现象,进程状态处于futex状态。网络搜索发现这种状态下,进程大概率发生了死锁。最近的代码修改不涉及到锁的使用,可能是其它方面引入的问题。

在日常开发中,死锁并不陌生。只要能有堆栈就很容易解决。使用stace 命[……]

继续阅读

客户端抓包与日志分析方法

客户端抓包与日志分析方法

作为工程师,检测应用是否有收发包常见的方法就是抓包。linux平台下可以通过tcpdump命令进行抓包,windows 和Mac 平台也有Wireshark工具,对于终端如何进行抓包与日志分析。

终端抓包方法

苹果的生态很封闭,但开发工具很完美。将手机与Mac相连后,通过xcode就可以[……]

继续阅读

奇异果熟了

奇异果熟了

老家在陕西,秦岭大山深处。经过1年风雨的洗礼,今年的猕猴桃格外肉肥汁多,清香鲜美,酸甜可口。

一颗猕猴桃能提供一个人一日维生素C需求量的两倍多,被誉为“水果之王”。如果觉得橙子难剥皮、樱桃又要洗、香蕉容易坏,那就吃猕猴桃吧。

猕猴桃含有丰富的维生素A、C、E及钾、镁、纤维素等,还[……]

继续阅读

自适应ARQ算法实践

自适应ARQ算法实践

在实时音视频领域,数据传输强调实时性,通常选择UDP协议可靠性就会降低。数据包发生丢包,就会引起解码失败,导致接收端发生卡顿影响用户体验。

抗丢包技术综述

实时音视频类应用需要保证数据传输的可靠性,需要应用自身实现抗丢包、抗抖动、抗拥塞算法。本文重点介绍抗丢包技术,下图为业界主要的抗丢包[……]

继续阅读

音频质量评估POLQA算法介绍

音频质量评估POLQA算法介绍

随着VoIP技术的不断发展,VoIP的语音质量越来越得到大家的关注。如何评价音频质量,也逐渐成为大家讨论的热点问题。关于如何进行测试请关注音频质量PESQ得分评估原理与步骤这篇文章,本篇文章重点介绍POLQA算法。

POLQA算法是新一代语音质量评估标准,适用于固网、移动通信网络和IP 网 络[……]

继续阅读

前向纠错FEC算法实现原理

前向纠错FEC算法实现原理

前向纠错算法介绍

前向纠错(FEC)算法被广泛使用在实时音视频领域提升音视频的弱网抗性,只要收到FEC分组内的冗余包和一定数量的数据包,就能根据FEC算法恢复出对应的冗余包。常见的FEC实现包括M+1系列的异或算法、M+N系列的RS矩阵算法,这2种实现算法各有优缺点。

异或算法实现相对简[……]

继续阅读

C++智能指针使用的那些事

C++智能指针使用的那些事

指针指针的由来

在C/C++里面,内存管理由开发者自己管理。指针变量总是指向一片内存空间,这片内存空间可以是局部变量、也可以是通过malloc、new申请的。如果申请的内存没有释放,就会导致内存泄漏。最终因为内存耗尽,服务被操作系统OM掉

为了解决内存泄漏的问题,Java提出了虚拟[……]

继续阅读

一次内存异常引发半夜加班带来的思考

一次内存异常引发半夜加班带来的思考

最近有个relay模块在线上进行紧急发布,一共600台机器半天之内发布完成。晚上6点开始手机就开始持续震动,realy模块信令都出现异常,用户进房间失败率突增。监控曲线上跑出了一个凹字形。赶紧回退realy模块恢复业务,同时开始紧急定位问题原因。

后台服务采用特定框架进行开发,在回退的过程[……]

继续阅读