近来在移植RTP库过程中出现问题,RTP数据包没有语音数据,数据包格式为unknown rtp version 0,为了检测模块是否正确,dsp能否读出RTP数据,于是使用一些rtp工具来进行实验。结果证实dsp可以读出数据,问题的产生是RTP库的问题。

打开cmd,切换到当前目录,执行rtpplay -f rtp语音文件 目标地址(即接收rtp数据的IP地址)/目标端口
例如:rtpplay.exe -f bark.rtp 192.168.27.103(目标板地址)/8000

此前提必须在目标端打开连接,即执行接收rtp数据的程序,并对地址和端口进行绑定,这样在执行rtpplay时,才可以建立连接,成功发送rtp数据,通过wireshark可以看到相关rtp(udp)数据包。

下面是流程
首先在目标板运行 voip-control -s 192.168.27.100(发送rtp包的目标机) -b
对于上面参数以及其他参数的具体用法 请见 voip-control -h
输入指令 i  发起呼叫,并根据提示如相关数值,如下
Destination (1 = DECT, 2 = FXS):
1
Instance:
1 (随便)
Source:
1
Line (0x200 = next free VoIP line, 0x200 + # of VoIP line (1-4):
200
Handset (0x0 = any handset, bit 1 = 0x1 for handset 1 etc.):
0
Codec:
8(根据你的codec,8表示G.711a,0表示G.711u)
Duration:
20 (10的倍数)

输入完成后 摘机,便建立了通话
接着执行rtpplay.exe -f bark.rtp 192.168.27.103/8000 通过手柄便可听到声音。

下面在集中说一下其他rtp工具的使用。

1. mediastream.exe :mediastream --local <port> --remote <ip:port> --payload <payload type number>

mediastream的作用是从声卡捕捉声音, 编码, 然后通过RTP协议发送到远端, 同时接收远端发送过来的RTP报文, 解码, 通过声卡播放.
比如,
主机A IP 192.168.1.100
主机B IP 192.168.1.200
主机A运行 mediastream.exe --local 2000 --remote 192.168.1.200:3000 --payload 110
主机B运行 mediastream.exe --local 3000 --remote 192.168.1.100:2000 --payload 110
这里payload type 110表示payload_type_speex_nb.

2.  rtpdump.exe :rtpdump [-F format] [-t duration] [-x bytes] [-f file] [-o outputfile] address/port

rtpdump listens on the address and port pair for RTP and RTCP packets and dumps a processed version to outputfile if specified or stdout otherwise.
rtpdump可以监听地址/端口的RTP报文, 然后输出RTP报文到一个dump文件中. 这一点类似于抓包工具.

3. rtpplay.exe :rtpplay [-T] [-v] [-f file] [-p profile] [-s sourceport] [-b begin] [-e end] destination/port[/ttl]

rtpplay reads RTP session data, recorded by rtpdump -F dump from either the file or stdin, if file is not specified, sending it to network address destination and port port with a time-to-live value of ttl.
rtpplay可以读取dump文件中的RTP报文, 然后发送到某地址/端口.

上面三个工具, mediastream支持声音的捕获/播放以及RTP协议, 但不支持RTP报文的保存/读取, 而rtpdump/rtpplay支持RTP报文的保存/读取以及RTP协议, 但不支持声音的捕获/播放.

所以, 结合这三个工具就能完成下面的任务:
1. 把你的声音保存到一个dump文件中;
2. 播放一个dump文件中的声音.

首先保存声音:

mediastream.exe --local 2000 --remote 127.0.0.1:3000 --payload 110   
rtpdump.exe -F dump -o ./my.rtpdump 127.0.0.1/3000

然后播放声音:

mediastream.exe --local 2000 --remote 127.0.0.1:3000 --payload 110  
rtpplay.exe -f ./my.rtpdump -s 3000 127.0.0.1/2000

几个RTP工具的使用 rtptools_1.18【原创】相关推荐

  1. 驱动备份工具哪个好_文章原创度检测工具哪个好?这个工具还有其他你不知道的功能...

    文章原创度检测工具哪个好?这个工具还有其他你不知道的功能,现在的原创度检测工具其实有很多,但是有的工具是包含了原创度检测这个功能的,它还有其他的功能可以使用,我们接下来去看看. 原创度检测一直是老生常 ...

  2. 【伪原创工具】最好的伪原创工具

    关于惩罚惩罚一每[伪原创工具]最好的伪原创工具 我们提供目前最先进的伪原创手段,并有相应软件,软件1秒就提供一篇文章,而且GOOGLE&百度99%收录. 联系QQ 3257588001 添加理 ...

  3. 免费新闻采集工具之免费采集伪原创发布工具方法分享

    新闻采集工具注重内容质量.白帽SEO的重点是做好内容质量,为用户提供有价值的原创内容是关键.以上都没问题的话我们就可以用这款免费新闻采集工具实现自动采集伪原创发布以及主动推送给搜索引擎,操作简单不需要 ...

  4. python自动生成文章原创_Python 打造站长工具之软文伪原创工具

    摘要 作为一个站长,在网站日常运营的时候,经常需要写一些软文,以提高网站访问流量,可是作为一个屌丝,文笔肯定没有那么好,想写点文章,可惜肚子里面没有墨水,这个时候,我们肯定想到转载抄袭他人的文章,这样 ...

  5. 文章伪原创工具-自动批量文章伪原创工具免费

    文章伪原创工具,什么是文章伪原创工具?就是把互联网现有的文章经过处理变成一篇原创的文章,今天给大家分享一款免费文章伪原创工具,支持一篇文章伪原创成多篇文章.支持批量伪原创+智能API接口伪原创.接下来 ...

  6. 最全的视频转换器工具清单,这18款免费视频格式转换器记得收藏

    审查和比较具有功能和定价的最佳视频转换器软件.从这个顶级付费和免费在线视频转换器工具列表中选择,以快速轻松地转换任何视频: 什么是视频转换器? 视频转换工具允许您将视频从一种格式转换为另一种格式.第一 ...

  7. 身份证号码工具类(15位,18位,10位)

    解析身份证信息的工具类,包括获得身份证的出生日期,性别,身份证省份,留作自用 import java.text.ParseException; import java.text.SimpleDateF ...

  8. linux图片编辑工具,如何在Ubuntu 18.04中安装Pinta图像编辑器

    在本文中,我们将学习如何在Ubuntu 18.04中安装Pinta图像编辑器. Pinta是一个免费的开源GNOME绘画应用程序,可用于编辑图像和绘画. Pinta由Jonathan Post于201 ...

  9. 时间序列 工具库学习(18)adtk模块-异常类型

    1.异常类型 异常是一个广义的概念,它可以指代时间序列中许多不同类型的事件.根据具体情况,价值飙升.波动性转变.违反季节性模式等都可能是异常的或正常的.ADTK 提供了一组通用组件,可以针对不同场景组 ...

最新文章

  1. SQL学习教程:基础教程高级教程
  2. php图片写入带问号_php实现图片上传时添加文字和图片水印技巧
  3. 学习org-mode
  4. 计算机原理解读图,详细讲解仪器仪表测试系统,结构原理图拿走不谢
  5. python对异常_关于python中的异常
  6. 赢在中国 (2008-3-19)
  7. PHP中include和require的区别详解
  8. IDC:“互联网+流通”将进一步释放活力
  9. 飞翔pdf生成html,pdf转换成html转换器
  10. kux转mp4_QSV、KUX一秒转换成MP4,这两款神器你还不收藏?
  11. 数学分析高等代数考研试题荟萃[更新至2017年12月15日]
  12. WinCE6.0增加中文字库
  13. BZOJ.4340.[BJOI2015]隐身术(后缀数组 搜索)
  14. 基于安卓的小区物业管理系统
  15. 源码包安装 httpd
  16. 云框架研究:openstack基准测试框架rally
  17. 什么是中央管理服务器(CMS)?
  18. woo语言一行代码批量修改文件名称
  19. Java私活300元,完成JavaWeb志愿者管理系统(四)
  20. 【IVI】1. Android Automotive OS 安卓车载操作系统白皮书

热门文章

  1. 互联网产品经理喜欢的内容,连张小龙都主动加微信的男人写的
  2. 基于高斯分布的异常检测算法 项目描述
  3. about Microsoft Office SharePoint Portal Server 2003
  4. 多叉树的前序遍历_多叉树的创建和遍历(为Trie树做准备)
  5. python使用scrapy_Python实现从脚本里运行scrapy的方法
  6. python为什么那么多人用_为什么那么多人在学Python?
  7. java字符串拆分成数组_Java StringUtils字符串分割转数组的实现
  8. url传递中文的解决方案总结
  9. 6月国产网络游戏审批信息公布 共计86款游戏过审
  10. 全网沸腾!鸿蒙手机要来了