首先分别介绍下几个RTP (Real-time Transport Protocol)命令行小工具的用法.
1. mediastream.exe
mediastream --local <port> --remote <ip:port> --payload <payload type number>
[ --fmtp <fmtpline>]
[ --jitter <miliseconds>]
[ --width <pixels>]
[ --height <pixels> ]
[ --bitrate <bits per seconds>]
[ --ec (enable echo canceller)]
[ --agc (enable automatic gain control)]
[ --ng (enable noise gate)]
[ --ng-threshold <(float) [0-1]> (noise gate threshold)]
[ --capture-card <name>]
[ --playback-card <name>]
[ --infile <input wav file>] specify a wav file to be used for input, instead of soundcard
[ --outfile <output wav file>] specify a wav file to write audio into, instead of soundcard
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文件中的声音.
这里写了2个批处理, 分别完成上面2个任务.
rtpdump_gen.bat
@ECHO OFF
START "mediastream_test" /MIN mediastream.exe --local 2000 --remote 127.0.0.1:3000 --payload 110
START "rtpdump_test" /MIN rtpdump.exe -F dump -o ./my.rtpdump 127.0.0.1/3000
ECHO "Press Any Key to Finish the Voice Dump"
PAUSE
TASKKILL /F /FI "WINDOWTITLE eq mediastream_test"
TASKKILL /F /FI "WINDOWTITLE eq rtpdump_test"
EXIT
rtpdump_playback.bat
@ECHO OFF
START "mediastream_test" /MIN mediastream.exe --local 2000 --remote 127.0.0.1:3000 --payload 110
REM Delay for 2 seconds
ping 127.0.0.1 -n 2 > nul
rtpplay.exe -f ./my.rtpdump -s 3000 127.0.0.1/2000
ECHO "Press Any Key to Finish the Voice Playback"
PAUSE
TASKKILL /F /FI "WINDOWTITLE eq mediastream_test"
EXIT
分享到:
相关推荐
可以选择推UDP、RTP的流; 可以现在发送速度,可以设置带宽,百分比; 带有TS码流分析; 可以接收TS流,并分析; 可以暂停、restart; 可以选择网卡发送; 简单实用,功能强大。打开要推的流,设置好端口号 IP地址,...
RTP工具 RTP工具是一组小型应用程序,可用于处理RTP数据。 有关详细信息,请参见各个手册页。 rtpplay播放rtpdump记录的RTP会话 rtpsend通过手工或rtpdump生成的文本描述生成RTP数据包 rtpdump解析并打印RTP数据包...
该工具可以用于媒体服务器开发,模拟信令服务发送RTP码流,调试RTP媒体功能。实现信令和媒体分离同步开发. 使用方式 如: rtpplay.exe -T -f RTP文件名 -s 发送端口号 目的IP地址/目的端口号,如 rtpplay.exe -T -f ...
调试rtsp收发流时,经常会需要抓包以确认是网络问题还是程序问题还是其它问题。通过tcpdump或者... 我这里有一段rtp流文件,作为演示使用(这个文件有点不标准,一般一个nal打一个mark,但这里是一帧打一个mark)
采集电脑摄像头和mic,rtp端口推送音视频工具,而且可以选择摄像头和推送的rtpip和端口
用于将RTP转换为WAV文件。比ethereal.exe的转换功能强大,可以保留RTP中的gap。转换后的文件后缀是.wav。可以转换G.711 a率,G.711 u率, G.729,G.723编码格式。
RTP协议详细分析结合jrtplib提供计算RTP各字段的方法,各字段的意义,以及jrtplib的实现原理。
可以在pcap抓包文件中提取指定ssrc rtp的h265或opus码流
使用Wireshark导出符合http://www.cs.columbia.edu/irt/software/rtptools/所指定的rtp流的步骤
一个命令行的MPEG TS发包工具,支持发送单播和扩展,支持同时发到多个目标,支持添加RTP头,支持模拟丢包。 tclite [ts caster命令行版本]用法-h --help:显示此用法信息。 -i --input:Set the input file.-d --dest...
.NET 解析rtp数据包,c#解析rtp包
rtp库介绍使用向西方法,有实际例子,接收发送数据
最小RTP数据传输测试程序,包括发送、接收
rtptools-1.18.rar,各种rtp工具,可用于调试rtp数据
从文件中读取h264打包成rtp发送,用java编写 未提供h264文件..
将一段视频文件通过拆分的方式封装成了一个一个的rtp数据包,每一个单独的文件是一个独立的rtp数据包,在开发测试阶段非常是实用
wireshark检测RTP丢包
RTP(h264)播放器,用于调试RTSP信令,SIP信令,媒体部分可以用改播放器模拟和验证。 (更新release版本,解决之前debug版本缺库问题)
一个简单的RTP服务器,rtp部分是纯C实现,编码则是利用了FFmpeg库
RTP使用的demo,包含客户端和服务端