操作系统:CentOS7.6_x64 FreeSWITCH版本:1.10.9   之前写过FreeSWITCH添加自定义endpoint的文章: https://www.cnblogs.com/MikeZhang/p/fsAddEndpoint20230528.html 今天记录下endpoint媒体交互的过程并提供示例代码及相关资源下载,本文涉及示例代码和资源可从如下渠道获取: 关注微信公众号(聊聊博文,文末可扫码)后回复20230806获取。 一、originate流程  1、originate命令的使用 originate用于发起呼...

  vztpThzMOt7M   2023年11月02日   129   0   0 C语言

python版本:python3.9   mutagen版本:1.46.0 mutagen是一个处理音频元数据的python模块,支持多种音频格式,是一个纯粹的python库,仅依赖python标准库,可在Python3.7及以上版本运行,支持Linux、Windows和macOS系统。  github地址:https://github.com/quodlibet/mutagen 帮助文档地址:https://mutagen.readthedocs.io/en/latest/ pypi地址:https://pypi.org/project/mutagen/ 一、...

  vztpThzMOt7M   2023年11月02日   36   0   0 Python

python版本:python3.9 libpcap版本:1.11.0b7 pythonlibpcap库是底层绑定c语言libpcap库的开发包,旨在提供python应用可访问的unixclibpcap库API(以及为win32系统提供的Npcap、WinPcap),直接使用底层c代码,性能很好。 这里记录下Windows10环境下python3.9如何安装及使用libpcap库(Linux和mac系统可参考Windows)。 pypi地址: https://pypi.org/project/libpcap/ github地址: https://github.com/karp...

  vztpThzMOt7M   2023年11月02日   40   0   0 Python

操作系统:CentOS7.6.1810_x64 Python版本:2.7.5 一、背景描述 工作中会遇到需要监控程序运行过程数据的情况,比如定时执行监控的cmd并记录执行结果,本文提供一种实现方式,便于后续排查问题。 二、具体实现 使用python实现该功能很简单,大致分为以下几个步骤: 1、编写cmd命令,确保执行后有控制台输出且退出命令; 2、使用popen执行cmd命令,并获取cmd的执行结果; 3、将执行结果以日志形式写入文件,并设置日志文件总大小,避免占用过多磁盘; 自动监控脚本示例代码如下: 完整代码可从如下途径获取: 关注微信公众号(聊聊博文,文末可扫码)后回复 20...

  vztpThzMOt7M   2023年11月02日   310   0   0 Python

操作系统:CentOS7.6.1810_x64 Python版本:3.9.12 一、背景描述 使用python开发过程中,会遇到需要使用缓存加速应用的情况,比如下面这些场景: 数据转换加速 字符串时间转换成int时间戳; 字符串时间转换成datetime类型; ... 数据解析加速 bytes数据转换为int(数据包解析场景的端口、序列号等); bytes数据转换为string(数据包解析场景的ip地址等); ... 本文提供两种实现方式来加速应用,这里记录下,希望对你有帮助。  二、具体实现 1、使用python自带的OrderedDict实现LRU 实现思路: 1)使用O...

  vztpThzMOt7M   2023年11月02日   61   0   0 Python

操作系统:Windows10_x64、CentOS7.6.1810_x64 wireshark版本:3.6.12 Python版本 : 3.9.12 一、背景描述 工作中有时候会遇到需要从pcap抓包文件里面提取音频的情况,比如下面这些场景: 从pcap文件里面导出wav文件 从pcap文件里面导出mp3文件 ...  本文以pcma音频编码为例,介绍下从pcap文件提取音频的流程。 二、具体实现 这里提供两种实现方式从pcap文件提取音频的流程,分别为Windows10环境和CentOS7环境。 1、Windows10环境使用wireshark提取rtp音频...

  vztpThzMOt7M   2023年11月02日   94   0   0 Python

操作系统:CentOS7.6_x64    freeswitch版本:1.10.9 sofia-sip版本:sofia-sip-1.13.14   freeswitch使用sip协议进行通信,当sip消息超过mtu时,会出现拆包的情况,这里整理下sip消息拆包原理及组包流程。 一、拆包的原理  简单来说:拆包的原因是,sip消息过长,超过mtu值。  具体原理可以参考《TCP/IP详解卷2:实现》第10章:IP的分片与重装 这里贴下拆包的示意图: 二、生成sip拆包的pcap文件 1、让sip消息超...

  vztpThzMOt7M   2023年11月02日   23   0   0 Python

环境:CentOS7.6_x64Python版本:3.9.12FreeSWITCH版本:1.10.9 一、背景描述 ESL库是FreeSWITCH对外提供的接口,使用起来很方便,但该库是基于C语言实现的,Python使用该库的话需要使用源码进行编译。如果使用系统自带的Python版本进行编译,过程会比较流畅,就不描述了。这里记录下使用自定义Python版本(比如自编译的Python版本)编译及使用ESL的过程,并提供预编译的二进制文件。 二、具体实现 1、准备自定义Python环境 这里使用Python3.9.12版本,具体编译过程可参考这篇文章: 关注微信公众号(聊聊博文,文末可扫码)后回复...

  vztpThzMOt7M   2023年11月02日   157   0   0 Python

环境:CentOS7.6_x64 FreeSWITCH版本:1.10.9 Python版本:3.9.12 一、背景描述 PCM(PulseCodeModulation,脉冲编码调制)音频数据是未经压缩的音频采样数据,它是由模拟信号经过采样、量化、编码转换成的标准数字音频数据。 在FreeSWITCH中体现为L16编码(switch_pcm.c文件),和网络平台进行音频对接时会使用到该编码,这里记录下如何使用FreeSWICH进行L16编码通信,以及如何从pcap文件中获取raw数据。 这里使用的FreeSWITCH版本是1.10.9,操作系统是CentOS7.6_x64,FreeSWITCH...

  vztpThzMOt7M   2023年11月02日   35   0   0 Python

环境:CentOS7.6_x64   Python版本:3.9.12 pjsip版本:2.13  一、背景描述  pjsip地址:https://www.pjsip.org/ GitHub地址:https://github.com/pjsip/pjproject pjsip文档地址:https://docs.pjsip.org/en/latest/ 最新版本:2.13 pjsip是一个功能强大的sip协议栈和媒体处理库,MicroSIP软电话就是基于pjsip实现的,功能很强大。 其中的pjsua可以实现软电话的基础功能,在日常开发中可以作为uas或ua...

  vztpThzMOt7M   2023年11月02日   28   0   0 Python

环境:CentOS7.6_x64   Python版本:3.9.12 pjsip版本:2.13   之前写过一篇CentOS7环境编译python3.9版本pjsua的文章: https://www.cnblogs.com/MikeZhang/p/centos7py39pjsua20230608.html 在上篇文章中我着重介绍了怎样编译python3.9版本的pjsua库,并演示了如何使用,今天记录下CentOS7环境下python3.9使用pjsua作为uas或uac,对接FreeSWITCH进行呼叫测试的过程,并提供示例代码及相关...

  vztpThzMOt7M   2023年11月02日   97   0   0 Python

环境:Windows10_x64  Python版本:3.9.2   sip协议提供了OPTIONS请求方法可用于探测对端状态,今天记录下Windows10环境下使用python3.9简单实现sip协议的options功能(udp承载)的过程,并提供示例代码及相关资源下载,可从如下渠道获取: 关注微信公众号(聊聊博文,文末可扫码)后回复20230624获取。  一、背景描述 sip协议提供了OPTIONS请求方法,可实现如下功能: 1)查询对端能力; 2)检测对端状态(类似ping的功能); 3)NAT会话保活; 4)探测...

  vztpThzMOt7M   2023年11月02日   88   0   0 Python

环境:Windows10_x64  Python版本:3.9.2 Pillow版本:9.1.1   写的博客文章被转载且不注明出处的情况时有发生,甚至有部分转载者将文章配图添加自己的水印!为了保护作者劳动成果,添加水印是一个可选项。 今天记录下Windows10环境下使用python3.9简单实现批量添加中文文本水印背景的过程,并提供示例代码及相关资源下载,可从如下渠道获取: 关注微信公众号(聊聊博文,文末可扫码)后回复20230704获取。  一、背景描述 python的PIL库可进行图片处理,十分强大,可使用该库实现图片添加水印...

  vztpThzMOt7M   2023年11月02日   56   0   0 Python

操作系统:debian11(bullseye,docker)、Windows10_x64 FreeSWITCH版本:1.10.9 Docker版本:23.0.6 Python版本 : 3.9.2   日常工作中,有时候会遇到g729编码的相关内容,但FreeSWITCH默认是不支持g729编码转码的,今天记录下使用开源的bcg729进行g729转码的过程(本文仅作技术研究,商业使用请购买商业版本),以及如何从g729格式的pcap数据中提取音频文件。 本文基于docker打包的debian11环境,构建base包的过程可以参考我之前的文章...

  vztpThzMOt7M   2023年11月02日   18   0   0 Python

环境:CentOS7.6_x64  FreeSWITCH版本:1.10.9  sipp版本:3.6.1  python版本:3.9.12 日常工作中,有时会遇到批量自动压测FreeSWITCH的需求,sipp是一个非常好的VoIP压测工具,python是个很好用的脚本语言,今天记录下CentOS7环境下python3如何借助ESL使用sipp自动压测FreeSWITCH服务器。 一、背景描述 sipp的灵活性很好,可根据实际的业务场景定制不同的压测模型,这里选取的压测模型比较简单,整体结构如下:    说明: 1...

  vztpThzMOt7M   2023年11月02日   68   0   0 Python

环境:CentOS7.6_x64   FreeSWITCH版本:1.10.9   sipp版本:3.6.1  一、背景描述 sipp是一款VoIP测试工具,日常开发过程中会使用到该软件,但其自身携带的pcap文件夹里面的rtp数据包太小,rtp长时间测试的场景会出现媒体异常的情况,需要制作长时间pcap文件以满足测试,这里记录下使用sipp作为uac和uas对接freeswitch重放长时间rtp数据测试的过程。 github地址:https://github.com/SIPp/sipp targz文件下载地址:https://github.c...

  vztpThzMOt7M   2023年11月01日   26   0   0 软件测试

操作系统:CentOS7.6_x64    freeswitch版本:1.10.7 一、安装步骤 1、下载freeswitch源代码 wgethttp://files.freeswitch.org/releases/freeswitch/freeswitch-1.10.7.-release.tar.gz 2、安装依赖环境 yuminstallautoconfautomakepostgresql-devellibtoolgccgcc-clibtifflibtiff-devellibjpeg-developenssl-devel yuminstalllibuu...

  vztpThzMOt7M   2023年11月01日   67   0   0 开源研究

操作系统:Windows10_x64    OBSStudio是开源免费的录屏和直播软件,支持Windows、macOS及Linux操作系统。 这里记录下桌面录屏和桌面区域录屏的使用,也方便我后续查阅(文末有安装包资源链接)。 官方网址:https://obsproject.com/ 一、安装 这里以windows为例进行演示。 1、获取安装文件 文件名:OBS-Studio-28.0.3-Full-Installer-x64.exe 可在官网下载,也可以在github下载:https://github.com/obsproject/obs-studio/ &...

  vztpThzMOt7M   2023年11月01日   50   0   0 开源研究

FreeSWITCH版本:1.10.9 操作系统:CentOS7.6.1810 originate经常用于发起呼叫,在实际工作过程中用到的也比较多,今天总结下基本用法,也方便我以后查阅。 一、wiki及源码介绍 该命令在FreeSWITCH官方wiki也有介绍,这里列下wiki地址。 wiki首页:https://developer.signalwire.com/freeswitch/FreeSWITCH-Explained/ originate相关wiki地址: https://developer.signalwire.com/freeswitch/FreeSWITCH-Explained...

  vztpThzMOt7M   2023年11月01日   82   0   0 开源研究

环境:CentOS7.6_x64 FreeSWITCH版本:1.10.9 Python版本:3.9.2 一、背景描述 vosk是一个开源语音识别工具,可识别中文,之前介绍过python使用vosk进行中文语音识别,今天记录下FreeSWITCH对接vosk实现实时语音识别。 vosk离线语音识别可参考我之前写的文章: python使用vosk进行中文语音识别 二、具体实现 1、编译及安装vosk模块 可直接使用github上的代码进行编译: https://github.com/alphacep/freeswitch.git  这里描述下使用...

  vztpThzMOt7M   2023年11月01日   26   0   0 开源研究
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~