RTSP 关于client_port 端口错误问题

zjg555543 2013-08-07 10:09:48
问题描述:
我是按照OPTIONS、DESCRIBE、SETUP、PLAY的过程来进行 RTSP 点播的,同样的代码在 Windows 平台上能点播,但是在 Linux 平台上却点播不了,最后发现在Linux 平台的在 SETUP 的候,服务器返回的 client_port 竟然跟我 SETUP 的时候不一样,这就奇怪了。以下是交互内容。红色部分是错误的信息,初始值为client_port=58810-58811,返回值却为client_port=10504-10505;请问各位,这是什么原因引起的啊?

OPTIONS rtsp://61.181.152.98:554/vod/00000020010001179136.mpg?userid=800000000065&stbip=10.24.159.20&clienttype=1&mediaid=0000000030010000440944&ifcharge=1&time=20130617142515+08&life=172800&usersessionid=1957312&vcdnid=001&boid=001&srcboid=001&columnid=1B0002&backupagent=61.181.152.98:554&ctype=1&playtype=0&Drm=0&EpgId=null&programid=00000020010001179136&contname=&fathercont=&bp=0&authid=210202605&tscnt=0&tstm=0&tsflow=0&ifpricereqsnd=1&stbid=00100299007011500002D0154AD3CAD6&nodelevel=3&usercharge=606D5784EBC357A7C5DC20CED5DAE366 RTSP/1.0

CSeq: 2

User-Agent: LibVLC/2.0.7 (LIVE555 Streaming Media v2012.12.18)



RTSP/1.0 200 OK

Public: DESCRIBE,OPTIONS,SETUP,TEARDOWN,PLAY,PAUSE,GET_PARAMETER,SET_PARAMETER

Server: ZXUSS100 1.0 CSeq: 2



DESCRIBE rtsp://61.181.152.98:554/vod/00000020010001179136.mpg?userid=800000000065&stbip=10.24.159.20&clienttype=1&mediaid=0000000030010000440944&ifcharge=1&time=20130617142515+08&life=172800&usersessionid=1957312&vcdnid=001&boid=001&srcboid=001&columnid=1B0002&backupagent=61.181.152.98:554&ctype=1&playtype=0&Drm=0&EpgId=null&programid=00000020010001179136&contname=&fathercont=&bp=0&authid=210202605&tscnt=0&tstm=0&tsflow=0&ifpricereqsnd=1&stbid=00100299007011500002D0154AD3CAD6&nodelevel=3&usercharge=606D5784EBC357A7C5DC20CED5DAE366 RTSP/1.0

CSeq: 3

User-Agent: LibVLC/2.0.7 (LIVE555 Streaming Media v2012.12.18)

Accept: application/sdp



RTSP/1.0 200 OK

Server: ZXUSS100 1.0

Cache-Control: must-revalidate

Content-Base: rtsp://61.181.152.98:554/vod/00000020010001179136.mpg/

Content-Length: 236

Content-Type: application/sdp

CSeq: 3

Date: Tue, 06 Aug 2013 09:34:29 GMT

Expires: Tue, 06 Aug 2013 09:34:29 GMT



v=0

o=- 1723404807 0 IN IP4 0.0.0.0

s=ZMSS RTSP Server

c=IN IP4 0.0.0.0

b=AS:2600

t=0 0

a=control:*

a=range:npt=0.00000-6339.72510

m=video 0 RTP/AVP 33

a=control:trackID=1

a=rtpmap:33 MP2T/90000

a=3GPP-Adaptation-Support:5

SETUP rtsp://61.181.152.98:554/vod/00000020010001179136.mpg/trackID=1 RTSP/1.0

CSeq: 4

User-Agent: LibVLC/2.0.7 (LIVE555 Streaming Media v2012.12.18)

Transport: RTP/AVP;unicast;client_port=58810-58811



RTSP/1.0 200 OK

Server: ZXUSS100 1.0

CSeq: 4

Date: Tue, 06 Aug 2013 09:34:29 GMT

Expires: Tue, 06 Aug 2013 09:34:29 GMT

Session: 131075159

Transport: RTP/AVP;unicast;destination=10.24.159.20;client_port=10504-10505;server_port=11890-11891;source=61.181.152.82



PLAY rtsp://61.181.152.98:554/vod/00000020010001179136.mpg?userid=800000000065&stbip=10.24.159.20&clienttype=1&mediaid=0000000030010000440944&ifcharge=1&time=20130617142515+08&life=172800&usersessionid=1957312&vcdnid=001&boid=001&srcboid=001&columnid=1B0002&backupagent=61.181.152.98:554&ctype=1&playtype=0&Drm=0&EpgId=null&programid=00000020010001179136&contname=&fathercont=&bp=0&authid=210202605&tscnt=0&tstm=0&tsflow=0&ifpricereqsnd=1&stbid=00100299007011500002D0154AD3CAD6&nodelevel=3&usercharge=606D5784EBC357A7C5DC20CED5DAE366 RTSP/1.0

CSeq: 5

User-Agent: LibVLC/2.0.7 (LIVE555 Streaming Media v2012.12.18)

Session: 131075159



RTSP/1.0 200 OK

Server: ZXUSS100 1.0

CSeq: 5

Range: npt=0.00000-6339.72510

Scale: 1.0

Session: 131075159

RTP-Info: url=rtsp://61.181.152.82:11890/vod/00000020010001179136.mpg/trackID=1;seq=0;rtptime=0
...全文
477 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hell_wolf 2014-07-29
  • 打赏
  • 举报
回复
貌似端口要用50000以下吧,50000+一般用做路由映射。
zjg555543 2013-08-07
  • 打赏
  • 举报
回复
没有人来看啊,大侠在哪里?我自己先顶一个
zjg555543 2013-08-07
  • 打赏
  • 举报
回复
结贴结贴结贴
如何查询端口用及停止程序的方被占法 收藏 端口如果被其他程序占用就不能正常启动,比如有时启动时会提示WEB启动失败,其实就是80端口被占用了,而迅雷等下载软件恰恰就是占用了80端口,关掉就行了。但有时迅雷等都没有开也启动不了,那就是别的东西占用了,那怎么办呢?我来叫你查看端口并关掉的方法。 1.在开始--运行 里面输入cmd点回车,会出现运行窗口。 2.在提示符后输入netstat -ano回车,找到tcp 80端口对应的pid,比如1484. -a 表示显示所有活动的TCP连接以及计算机监听的TCP和UDP端口。 -e 表示显示以太网发送和接收的字节数、数据包数等。 -n 表示只以数字形式显示所有活动的TCP连接的地址和端口号。 -o 表示显示活动的TCP连接并包括每个连接的进程ID(PID)。 -s 表示按协议显示各种连接的统计信息,包括端口号。 3.ctrl+alt+del打开任务管理器,选进程,这里有很多正在运行的程序怎么找? 查看--选择列--在PID(进程标示符)前面打钩。好了,下面的进程前面都有了PID号码。这时上一步找到的PID就有用了,找到1484,比如PEER.EXE什么的,结束进程吧。这时再开服务器,看WEB可以启动了! 关闭/开启端口 在介绍各种端口的作用前,这里先介绍一下在Windows中如何关闭/打开端口,因为默认的情况下,有很多不安全的或没有什么用的端口是开启的,比如Telnet服务的23端口、FTP服务的21端口、SMTP服务的25端口、RPC服务的135端口等等。为了保证系统的安全性,我们可以通过下面的方法来关闭/开启端口。 【附:】 关闭端口 比如在Windows 2000/XP中关闭SMTP服务的25端口,可以这样做:首先打开“控制面板”,双击“管理工具”,再双击“服务”。接着在打开的服务窗口中找到并双击“Simple Mail Transfer Protocol (SMTP)”服务,单击“停止”按钮来停止该服务,然后在“启动类型”中选择“已禁用”,最后单击“确定”按钮即可。这样,关闭了SMTP服务就相当于关闭了对应的端口。 开启端口 如果要开启该端口只要先在“启动类型”选择“自动”,单击“确定”按钮,再打开该服务,在“服务状态”中单击“启动”按钮即可启用该端口,最后,单击“确定”按钮即可。 21端口:21端口主要用于FTP(File Transfer Protocol,文件传输协议)服务。 23端口:23端口主要用于Telnet(远程登录)服务,是Internet上普遍采用的登录和仿真程序。 25端口:25端口为SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)服务器所开放,主要用于发送邮件,如今绝大多数邮件服务器都使用该协议。 53端口:53端口为DNS(Domain Name Server,域名服务器)服务器所开放,主要用于域名解析,DNS服务在NT系统中使用的最为广泛。 67、68端口:67、68端口分别是为Bootp服务的Bootstrap Protocol Server(引导程序协议服务端)和Bootstrap Protocol Client(引导程序协议客户端)开放的端口。 69端口:TFTP是Cisco公司开发的一个简单文件传输协议,类似于FTP。 79端口:79端口是为Finger服务开放的,主要用于查询远程主机在线用户、操作系统类型以及是否缓冲区溢出等用户的详细信息。 80端口: 80端口:是为HTTP(超文本传输协议)开放的,这是上网冲浪使用最多的协议,主要用于在WWW(World Wide Web,万维网)服务上传输信息的协议。 99端口:99端口是用于一个名为“Metagram Relay”(亚对策延时)的服务,该服务比较少见,一般是用不到的。 109、110端口:109端口是为POP2(Post Office Protocol Version 2,邮局协议2)服务开放的,110端口是为POP3(邮件协议3)服务开放的,POP2、POP3都是主要用于接收邮件的。 111端口:111端口是SUN公司的RPC(Remote Procedure Call,远程过程调用)服务所开放的端口,主要用于分布式系统中不同计算机的内部进程通信,RPC在多种网络服务中都是很重要的组件。 113端口:113端口主要用于Windows的“Authentication Service”(验证服务)。 119端口:119端口是为“Network News Transfer Protocol”(网络新闻组传输协议,简称NNTP)开放的。 135端口:135端口主要用于使用RPC(Remote Procedure Call,远程过程调用)协议并提供DCOM(分布式组件对象模型)服务。 137端口:137端口主要用于“NetBIOS Name Service”(NetBIOS名称服务)。 139端口:139端口是为“NetBIOS Session Service”提供的,主要用于提供Windows文件和打印机共享以及Unix中的Samba服务。 143端口:143端口主要是用于“Internet Message Access Protocol”v2(Internet消息访问协议,简称IMAP)。 161端口:161端口是用于“Simple Network Management Protocol”(简单网络管理协议,简称SNMP)。 443端口:43端口即网页浏览端口,主要是用于HTTPS服务,是提供加密和通过安全端口传输的另一种HTTP。 554端口:554端口默认情况下用于“Real Time Streaming Protocol”(实时流协议,简称RTSP)。 1024端口:1024端口一般不固定分配给某个服务,在英文中的解释是“Reserved”(保留)。 1080端口:1080端口是Socks代理服务使用的端口,大家平时上网使用的WWW服务使用的是HTTP协议的代理服务。 1755端口:1755端口默认情况下用于“Microsoft Media Server”(微软媒体服务器,简称MMS 4000端口:4000端口是用于大家经常使用的QQ聊天工具的,再细说就是为QQ客户端开放的端口,QQ服务端使用的端口是8000。 5554端口:在今年4月30日就报道出现了一种针对微软lsass服务的新蠕虫病毒——震荡波(Worm.Sasser),该病毒可以利用TCP 5554端口开启一个FTP服务,主要被用于病毒的传播。 5632端口:5632端口是被大家所熟悉的远程控制软件pcAnywhere所开启的端口。 8080端口:8080端口同80端口,是被用于WWW代理服务的,可以实现网页端口概念 在网络技术中,端口Port)大致有两种意思: 一是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。 二是逻辑意义上的端口,一般是指TCP/IP协议中的端口端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。我们这里将要介绍的就是逻辑意义上的端口端口分类 逻辑意义上的端口有多种分类标准,下面将介绍两种常见的分类: 1. 按端口号分布划分 (1)知名端口(Well-Known Ports) 知名端口即众所周知的端口号,范围从0到1023,这些端口号一般固定分配给一些服务。比如21端口分配给FTP服务,25端口分配给SMTP(简单邮件传输协议)服务,80端口分配给HTTP服务,135端口分配给RPC(远程过程调用)服务等等。 (2)动态端口(Dynamic Ports) 动态端口的范围从1024到65535,这些端口号一般不固定分配给某个服务,也就是说许多服务都可以使用这些端口。只要运行的程序向系统提出访问网络的申请,那么系统就可以从这些端口号中分配一个供该程序使用。比如1024端口就是分配给第一个向系统发出申请的程序。在关闭程序进程后,就会释放所占用的端口号。 不过,动态端口也常常被病毒木马程序所利用,如冰河默认连接端口是7626、WAY 2.4是8011、Netspy 3.0是7306、YAI病毒是1024等等。 2. 按协议类型划分 按协议类型划分,可以分为TCP、UDP、IP和ICMP(Internet控制消息协议)等端口。下面主要介绍TCP和UDP端口: (1)TCP端口 TCP端口,即传输控制协议端口,需要在客户端和服务器之间建立连接,这样可以提供可靠的数据传输。常见的包括FTP服务的21端口,Telnet服务的23端口,SMTP服务的25端口,以及HTTP服务的80端口等等。 (2)UDP端口 UDP端口,即用户数据包协议端口,无需在客户端和服务器之间建立连接,安全性得不到保障。常见的有DNS服务的53端口,SNMP(简单网络管理协议)服务的161端口,QQ使用的8000和4000端口等等。 查看端口 在Windows 2000/XP/Server 2003中要查看端口,可以使用Netstat命令: 依次点击“开始→运行”,键入“cmd”并回车,打开命令提示符窗口。在命令提示符状态下键入“netstat -a -n”,按下回车键后就可以看到以数字形式显示的TCP和UDP连接的端口号及状态(如图)。

2,553

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧