VoIP与音视频
文章平均质量分 86
VoIP与音视频通讯相关知识总结
alwaysrun
当你站在山顶的时候,你的头上还有星空。
展开
-
[go]根据背景色计算文本颜色
介绍了互补色与对比色,透明度混合处理;以及根据背景色如何计算文本的显示颜色原创 2022-09-12 12:56:22 · 813 阅读 · 0 评论 -
[go]gg库绘图与添加文字
介绍了gg库常用函数以及如何绘图(画圆、框等,裁剪图片、旋转图片),和添加文本内容(设定字体、颜色,文本对齐,与多行文本显示)原创 2022-08-28 18:49:35 · 2332 阅读 · 0 评论 -
golang图片处理库image简介
go中处理图片的标准库image支持常见的PNG、JPEG、GIF等格式的图片处理(可读取、裁剪、绘制、生成等)。图片缩放分为保持比例与不保持比例的缩放;保持比例时,要确定新图片的位置(是否居中),以及如何填充空白处。DrawMask多了一个遮罩蒙层参数,Draw为其一种特殊形式(遮罩相关参数为nil)。读取的jpg图像不是RGBA格式的(为YCbCr格式);有了缩放后的大小后,即可通过双线性插值bilinear的方式进行图片的缩放。通过subImage方法可方便地裁剪图片(需要为RGBA格式的).....原创 2022-07-23 22:42:48 · 6958 阅读 · 1 评论 -
最常用的18个SIP呼叫业务流程详解(6~18)
目录6、Transfer - Instant Messaging7、Call Forwarding Unconditional8、Call Forwarding - Busy9、Call Forwarding - No Answer10、3-Way Conference - Third Party Is Added11、3-Way Conference - Third Party Joins12、Find-Me13、Call Management (Incoming Call转载 2020-12-26 19:31:10 · 7936 阅读 · 1 评论 -
H.264/ AVC帧间预测(运动估计和运动补偿)
一、H.264的块、帧内预测、帧间预测H.264/ AVC标准中的基本预测技术是基于块,像素块预测编码包括帧内(intra)块预测和帧间(inter)块预测,在图像信号压缩编码中,由于亮度信号和色差信号是分别进行处理的,因此,预测又可分亮度信号预测和色差信号预测。帧内块预测:利用相邻像素的相关性,通过当前像素块的左边和上边的像素进行预测,只需对实际值和预测值的差值进行编码。 帧间预测:利用先前已编码帧的图像作为参考图像对当前图像进行预测的一种方式。它把参考图像的抽样点通过运动矢量的补偿作为当前图像转载 2020-12-05 21:25:06 · 3616 阅读 · 0 评论 -
音频编码PCM介绍
了解音频编码之前,先了解一下常用的音频格式:PCM参数 PCM(Pulse Code Modulation,脉冲编码调制)音频数据是未经压缩的音频采样数据裸流,它是由模拟信号经过采样、量化、编码转换成的标准数字音频数据。描述PCM数据的6个参数:(1).Sample Rate : 采样频率。8kHz(电话)、44.1kHz(CD)、48kHz(DVD)。(2).Sample Size : 量化位数。通常该值为16-bit。(3).Number of Channe...转载 2020-12-05 19:49:03 · 6510 阅读 · 0 评论 -
视频压缩编码和音频压缩编码的基本原理
本文介绍一下视频压缩编码和音频压缩编码的基本原理。其实有关视频和音频编码的原理的资料非常的多,但是自己一直也没有去归纳和总结一下,在这里简单总结一下,以作备忘。1.视频编码基本原理(1) 视频信号的冗余信息以记录数字视频的YUV分量格式为例,YUV分别代表亮度与两个色差信号。例如对于现有的PAL制电视系统,其亮度信号采样频率为13.5MHz;色度信号的频带通常为亮度信号的一半或更少,为6.75MHz或3.375MHz。以4:2:2的采样频率为例,Y信号采用13.5MHz,色度信号U和V采用.转载 2020-12-05 17:43:31 · 375 阅读 · 0 评论 -
Janus启用日志与事件和Amin-API请求
文章目录Janus配置修改Janus日志使用admin-API事件Janus源码分析文章列表Janus配置修改Janus的很多配置都是在配置文件janus.jcfg中设定的。Janus日志要启动Janus日志功能,只需设定日志文件即可(在general子项中):log_to_file = “./log/janus.log” # 设定日志文件名debug_level = 5 # 设定日志(调试)的级别使用admin-APIadmin-API是Janus中的控制API,通过它可以获取很多J原创 2020-09-24 21:03:32 · 736 阅读 · 0 评论 -
Audio Unit: iOS中最底层最强大音频控制API
阅读前提: Audio Session基础(Audio Session) Core Audio基本数据结构(Core Audio) 音视频基础知识 C/C++ 简单数据结构,函数使用 以下概念是文中常用的词语,因为其含义一般直接用英文表达, 一般不需中文翻译,可将其理解为固定名词词组. audio unit: 主要介绍的技术名称 audio processing graph: 另一种处理audio unit的技术 node: 承载audio转载 2020-09-08 21:02:36 · 1924 阅读 · 0 评论 -
SIP语音环境中十大经典问题及解决办法
在VOIP的环境中,特别是基于SIP通信的环境中,我们经常会遇到一些非常常见的问题,例如,单通,30秒就断线,注册问题,回声等。这些问题事实上都有非常直接的排查方式和解决办法,用户可以按照一定的排查方式,工具非常高效地解决这些问题。但是,因为读者技术水平参差不齐,网络上的很多技术也不完整。笔者今天系统归纳了这些问题。根据一些用户的使用环境和用户经常遇到一些问题,我们列举了以下十个在SIP呼叫中经常遇到的问题,并且给出了相应的排查方式,用户可以按照这些方法来解决SIP通话中的这些问题。这十个经典的问题包括:转载 2020-08-05 21:12:09 · 19250 阅读 · 3 评论 -
最常用的18个SIP呼叫业务流程详解(1~5)
在大部分的企业客户的电话呼叫业务中,特别是从运营商到企业IPPBX端的呼入业务中,有很多不同的呼叫涉及了多种SIP流程的操作,而且其流程和实际的IPPBX,代理和SIP终端存在着非常密切的关系。排查这些技术问题耗费相当多的时间。另外,因为越来越多的用户开始使用基于开源的软交换平台和媒体服务器(例如,Asterisk或FreeSWITCH,Kamailio等),用户更容易获得技术产品,因此,他们更容易接触到企业通信平台技术,导致其入门门槛也相对比较低,技术人员可能完全不了解系统底层的流程。而且不幸的是,在转载 2020-07-27 21:23:49 · 5789 阅读 · 0 评论 -
Ubuntu下ffmpeg的安装与配置
安装配置FFmpeg包括了目前领先的音/视频编码库libavcodec,提供了录制、转换以及流化音视频的完整解决方案。其强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。安装安装FFmpeg前,需要先安装依赖库:sudoapt-get-yinstallautoconfautomakebuild-essentiallibass-devlibfreetype6-devlibsdl2-devlibtheora-devlibtoollibva-d...原创 2020-07-12 09:18:58 · 4570 阅读 · 1 评论 -
Janus在Ubantu下的安装与Https配置
Janus安装https相关配置janus是Meetecho开发的一个WebRTC网关,基于插件思想,通过实现基础架构,完成了与浏览器链接的建立过程。Janus安装在Ubantu下需要先安装apttitude工具,然后再安装所需依赖库:sudo apt-get install aptitude安装依赖库Janu需要依赖很多库:sudoaptitudeinstall-ylibmicrohttpd-devlibjansson-devlibnice-devsudo...原创 2020-06-10 23:00:35 · 1315 阅读 · 2 评论 -
pjSIP收发自定义媒体
会议桥自定义媒体端口在《pjSIP注册呼叫流程简介》中介绍了pjSIP注册与呼叫的基本流程,本节对自定义媒体流与端口做下介绍。会议桥pjSIP中通过会议桥(Conference)把媒体流(Stream)与抽象音频设备端口(Sound Device Port)连接起来(并负责各路媒体的混流);他们之间数据传递都是通过pjmedia_port接口来实现的。若要收发自定义的媒...原创 2020-01-30 21:04:06 · 2184 阅读 · 1 评论 -
pjSIP注册呼叫流程简介
注册注销电话呼叫在《SIP开源库pjSIP简介》中介绍了pjSIP的基本框架,本节对pjSIP中SIP的注册与呼叫具体流程进行简要说明。注册注销SIP通过register进行注册请求: 终端向VoIP服务器发送register请求:URL中包含注册服务器的域名地址,To头域中包含准备生成的地址记录,Contact头域中表明此次注册所要绑定的地址(其中Expire表示绑定...原创 2020-01-11 18:59:54 · 4793 阅读 · 0 评论 -
SIP开源库pjSIP简介
基本框架说明PJLib使用Windows下库编译PJSIP(http://www.pjsip.org/)是一个免费的开源多媒体通信库,实现了基于标准的协议(如SIP,SDP,RTP,STUN,TURN和ICE)。把基于信令协议SIP的多媒体框架和NAT穿透功能整合成高层次、抽象的多媒体通信API。基本框架说明PJSIP库主要包括: SIP协议栈:处理SIP消息 ...原创 2019-11-21 19:47:29 · 2584 阅读 · 1 评论 -
FreeSWITCH中sip客户端注册细节
FreeSWITCH中用户信息默认是在directory下的xml中配置的,也可以通过lua脚本来使用其他配置, 参见使用数据库存储Freeswitch账户与密码。注册信息数据库表当有sip客户端向服务器注册时,在进行一番验证注册成功后,会向<dir>/freeswitch/db/core.db数据库的registrations表中以及sofia_reg_internal.d...转载 2019-11-02 20:28:16 · 4377 阅读 · 0 评论 -
FreeSWITCH中数据库API与Lua操作简介
mod_db实现了数据库(sqlit或ODBC)操作的api与app(可在拨号计划中使用)。在lua脚本中,通过freeswitch.Dbh可方便地对数据库进行操作,后面以默认的Sqlite数据库为例进行说明。API接口通过API接口的数据会被存到call_limit.db数据库中。1、通过db(与hash命令类似)操作,插入一个值到数据库:db_data表中,realm与k...原创 2018-07-24 21:46:51 · 2488 阅读 · 0 评论 -
FreeSWITCH之lua脚本事件订阅
FreeSWITCH中通过订阅事件,我们能获取到各种实时信息,进而可以对通话进行精确的控制。在lua中我们既能方便地订阅各种事件,也能自己生成所需的事件。相关接口简要说明freeswitch.Event创建一个事件,然后添加内容,最后发出 event:addBody event:addHeader event:fire freeswitch.Eve...原创 2018-08-12 21:12:07 · 3964 阅读 · 2 评论 -
FreeSWITCH中配置支持TLS连接
为保证SIP信令的安全传递,可通过TLS连接以保证SIP数据传输的安全;若要保证媒体数据的安全,则需要开启srtp。FreeSWITCH通过OpenSSL提供了对TLS的支持,为支持TLS连接需要创建证书,并修改配置。创建证书在conf目录下创建"ssl\ca"目录,用于创建证书。需要以管理员方式运行下面的命令(可能会提示找不到openssl.cnf文件,可忽略,或下载配置文...原创 2018-11-15 19:10:08 · 4709 阅读 · 0 评论 -
流媒体协议RTP与SRTP简介
RTP协议用于传输实时数据,可用于传输语音与视频。在网络协议分层层架构中,RTP工作在传输层(通常为UDP)之上。在VoIP系统中,音视频传输是通过RTP/RTCP协议协同实现的。RTP协议RTP协议通常由UDP来承载,由UDP提供复用(分配不同的端口号传送多个RTP流)及校验和服务。一般情形下,RTP流使用偶数(2n)端口号,相应的RTCP流使用相邻的奇数(2n+1)端口号。为...原创 2019-04-07 22:14:15 · 6261 阅读 · 1 评论 -
会话初始协议SIP与SDP简介
SIP(Session Initiation Protocol,会话初始协议)是一个控制发起、修改和终结交互式多媒体(音视频、聊天、游戏等)会话的信令协议(RFC 3261)。SIP是一个基于文本的协议,已为即时消息、列席和事件通知等定义了扩展。为建立会话,SIP一般需要使用以下协议: DNS:解析主机或域名; SDP(会话描述协议):描述、协商多媒体会话参数; RT...原创 2019-04-07 22:21:34 · 2786 阅读 · 0 评论 -
FS-Cli常用命令简介
fs_cli是FreeSWITCH的一个客户端连接程序,可以方便地查看运行情况,并对其进行控制。若在本机使用默认配置,可直接启动fs_cli;否则需要携带参数(以连接运行在192.168.1.100上的FreeSWITCH为例): 启动一个命令行窗口,通过help可以查看操作命令; fs_cli.exe -H 192.168.1.100 -P 8021 -p NewPSW fs...原创 2018-07-24 21:42:43 · 16377 阅读 · 0 评论