多协议、性能稳定、丰富API的流媒体服务器软件
您现在的位置:首页  >  文档  >  录制UDP流

前面已经介绍了Ti Top Streamer 支持MPEG—TS Over UDP协议,可以接收UDP单播流和组播流。

我们知道UDP是一个无连接的数据传输协议,无法保证收流的顺序,也存在丢包的情况,这种情况常见于互联网上。但在内网环境下,也会遇到类似的问题,只是不像互联网上那么明显而已。 此外,mpegts包本身也可能存在问题(比如时间戳有错误)。这样就会导致一些传输质量问题。

为了方便排查这类问题,我们提供了一个UDP流的录制工具,它会把收到的流录制到一个ts文件中(目前仅支持Mpeg-ts格式)。 你只需要把录制下来的文件发给我们,我们在自己的服务器上做个测试,就能很快定位问题。

下面介绍一下这个工具的使用方法:

1、下载这个工具

wget http://www.ttstream.com/download/xmtools
			
如果你的服务器不能连接外网,也可以先用本地浏览器下载下来,再上传到服务器上。下载地址: http://www.ttstream.com/download/xmtools

2、将下载的文件(xmtools)保存在TiTopStreamer安装目录下的bin目录下,这个目录通常就是/usr/local/TiTopStreamer/bin

3、赋予xmtools文件可执行权限
chmod +x xmtools
			
4、运行xmtools,对某一路udp流做录制,命令行示例如下:
./xmtools udpdump --listen 236.27.138.18:7001 --output /tmp/udpdump.ts
			
简单解释一下,上面的--listen就是指监听,后面的地址236.27.138.18:7001就是某一路UDP流的接收地址,格式就是IP地址和端口(x.x.x.x:port)。--output就是输出,后面跟一个文件名(可以带路径)。

注1): 上面的IP地址,如果是个组播地址,而你的服务器又是多网卡环境,你可以再指定一个网卡地址用于接收这路组播流。命令示例:--interface 192.168.101.100

注2): 上面的IP地址,如果是个单播地址,而Ti Top Streamer正在从这个地址收流,你必须先在Ti Top Streamer上停止接收这路流,再用上面的命令录制流。也就是说Ti Top Streamer和xmtools,不能同时从一路单播流上接收流(UDP端口会冲突的)。

如果你想全面了解xmtools接收UDP流的使用方式,也可以执行 xmtools udpdump -h。 这样,你会得到详细的使用说明,如下所示:



此外,也请注意这个命令执行后在控制台的输出。比如,当你的网络环境中有多个"UDP推送源",都往当前这台服务器上推送,那么这个xmtools会在切换到新的"源"时给你提示。 这种情况,经常出现在测试环境,你在一台编码器上开始了推送,忘了停止,然后你要在另一台编码器上也开始了推送。这样,混乱的情况就出现了。

如果要结束录制时,用Ctrl + C命令即可。

通常,当你遇到问题,怀疑UDP流有问题时,你就用上面的命令来录制这路流,录制30秒到1分钟的就可以了,不用太多。然后,你只要将录制输出的文件发送给我们,我们首先会用TS文件分析工具检查这个文件,再用这个文件在我们自己的Ti Top Streamer服务器上做测试(用ffmpeg推送UDP流到服务器上),看看能否复现您 遇到的问题。

通过这个方式,我们可以快速准确的定位您的问题。