首先分别介绍下几个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地址,...
6. **rtp_packet工具**:这个特定的工具“rtp_packet”可能是用于实现上述过程的一个实用程序。它可能将视频文件解码,然后根据RTP协议的规定重新打包,生成一系列单独的RTP数据包文件。这些文件在开发和测试环境中...
标题中的“从rtp包中提取opus及h265码流的小工具”指的是一个专门设计用于处理网络传输协议RTP(Real-time Transport Protocol)的数据分析工具。这个工具能够从pcap(Packet Capture)格式的抓包文件中,筛选出特定...
6. **与其他工具的配合**:rtptools可以与Wireshark等网络分析工具结合使用,Wireshark可以捕获网络流量,而rtptools则能对这些流量进行更深入的RTP层面的分析。 7. **注意事项**:使用rtptools时,确保对RTP和网络...
RTP工具 RTP工具是一组小型应用程序,可用于处理RTP数据。 有关详细信息,请参见各个手册页。 rtpplay播放rtpdump记录的RTP会话 rtpsend通过手工或rtpdump生成的文本描述生成RTP数据包 rtpdump解析并打印RTP数据包...
开发者可以使用 wrenv 命令来创建一个新的开发环境,然后使用其他命令行工具来开发和调试嵌入式系统。 VxWorks 命令行工具的使用 VxWorks 命令行工具的使用非常灵活,可以使用各种方式来调用命令行工具,例如: *...
在RTP(PS)播放器中,这两种技术结合在一起,为开发者提供了一个强大的工具,用于信令调试、PS流的接收、解封以及播放。 首先,RTP协议在多媒体通信中起着关键作用。它设计的主要目标是确保数据能够及时、无损地在...
java Rtp地址工具类 java Rtp地址工具类java Rtp地址工具类 java Rtp地址工具类java Rtp地址工具类 java Rtp地址工具类java Rtp地址工具类 java Rtp地址工具类java Rtp地址工具类 java Rtp地址工具类java Rtp地址...
RTP播放器,如"RTP(h264)播放器",是一个专为调试和验证RTSP(Real-Time Streaming Protocol)和SIP(Session Initiation Protocol)信令设计的工具。RTSP是一种应用层控制协议,用于管理、控制和发送多媒体数据流,...
该工具可以用于媒体服务器开发,模拟信令服务发送RTP码流,调试RTP媒体功能。实现信令和媒体分离同步开发. 使用方式 如: rtpplay.exe -T -f RTP文件名 -s 发送端口号 目的IP地址/目的端口号,如 rtpplay.exe -T -f ...
这个工具可能包含一个命令行界面或者图形用户界面,用户只需提供RTP数据包的输入文件,就可以生成相应的WAV文件。 在实际操作中,首先你需要确保拥有RTP数据包的文件,这通常来源于VoIP通话记录或者网络抓包工具如...
标题 "h264 rtp打包 java版本" 描述了一个使用Java编程语言将从文件读取的H264视频流进行RTP打包并发送的过程。在这个过程中,我们需要理解几个关键概念和技术: 1. **H264**:H264(也称为AVC,Advanced Video ...
总结来说,使用`jrtplib`库接受RTP数据并还原音视频流涉及以下几个关键步骤: 1. 初始化`RTPSession`,设置参数并注册接收者。 2. 使用库提供的功能重组乱序的RTP包。 3. 解析H264的NAL单元和AAC的ADTS头。 4. 重组...
使用Wireshark导出RTPdump文件是网络分析和故障排除过程中一个非常有用的技术,特别是在处理VoIP(Voice over IP)和音频/视频流通信时。RTP(Real-time Transport Protocol)是互联网上用于实时数据传输的一套标准...
使用 Wireshark 抓 RTSP、RTP、...Wireshark 是一个功能强大的网络协议分析工具,可以对 RTSP、RTP、RTCP 等协议进行详细的分析和解析。同时,Wireshark 的灵活性和可扩展性也使其可以应用于各种网络协议的分析和调试。
4. 解封装RTP包:接收到RTP包后,使用PayloadType将其解封装为原始音频数据。 5. 播放音频:将解封装后的音频数据传递给AudioSystem播放。 五、挑战与优化 1. 网络抖动:网络延迟和丢包可能导致声音质量下降。可以...
标题中的“rtp_src.rar_ ts rtp_mpeg ts_rtp_ts rtp_ts send”提到了几个关键术语,包括RTP、MPEG-TS、TS-RTP和TS-Send,这些都与网络传输和视频流处理相关。RTP(Real-time Transport Protocol)是一种用于在IP网络...
“wav2rtp-0.9.3”可能是一个命令行工具,用于将WAV音频文件编码并封装成RTP包。它可能包含了RTP编码、打包、时间戳设置等核心功能,便于开发者进行音视频流的网络传输。 6. **RTP在音视频传输中的应用**: 在...
使用RTP API开发时,开发者需要注意以下几点: 1. **网络环境**:确保网络的带宽和延迟能满足实时传输的需求。 2. **丢包恢复**:RTP本身不提供错误恢复机制,开发者可能需要结合RTCP(RTP控制协议)或其他机制来...
在"vs2015Project"这个压缩包文件中,可能包含了一个使用Visual Studio 2015开发的示例项目,演示了如何在C++环境中实现RTP的TCP和UDP发送及接收。通过分析和学习该项目,开发者可以深入理解这两种传输方式的差异和...