rambo0808

rambo0808

0个粉丝

1

问答

0

专栏

0

资料

rambo0808  发布于  2015-12-18 15:45:27
采纳率 0%
1个问答
5799

如果client不上报client_port,那服务器该往哪个client_port发数据呀?

   
目的是想在海思平台上实现ONVIF并通过onvif device manager进行视频播放。
现状:
1、已实现onvif基本功能
2、使用sample_venc搭建rtsp服务器,VLC播放没有问题
3、使用onvif device manage播放一直报“NO signal”。

定位:
1、使用wireshark抓包,发现与onvif device manager RTSP握手已完成。
2、对比VLC握手的区别是: VLC会上发 client_port号,而onvif device manager不会发client_port号。
   目前判断是服务器端没有往正确的 client_port 发数据。这个从服务器上log也看出来 client_port=0-1。

SetupAnswer >>>>>RTSP/1.0 200 OK
CSeq: 4
Date: Fri, Jan 02 1970 05:33:51 GMT
Transport: RTP/AVP;unicast;destination=172.21.45.202;client_port=0-1;server_port=53255-53511
Session: 1000


求助: 如果 onvif device manager 这类client不上报client_port,那服务器该往哪个client_port发数据呀?请大虾出手支招啊~~~~
我来回答
回答5个
时间排序
认可量排序

3wnae

0个粉丝

9

问答

0

专栏

0

资料

3wnae 2015-12-25 18:30:25
认可0
lz 能不能把完整的rtsp信息贴出来看下。

rambo0808

0个粉丝

1

问答

0

专栏

0

资料

rambo0808 2015-12-25 20:28:22
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=23832&ptid=9657]3wnae 发表于 2015-12-25 18:30[/url]
lz 能不能把完整的rtsp信息贴出来看下。[/quote]

<<<<<  OPTIONS rtsp://172.21.45.202/0 RTSP/1.0
CSeq: 2
User-Agent: LIVE555 Streaming Media v2012.06.17


>>>>>RTSP/1.0 200 OK
CSeq: 2
Date: Fri, Jan 02 1970 05:33:51 GMT
Public: OPTIONS,DESCRIBE,SETUP,PLAY,PAUSE,TEARDOWN


<<<<<  DESCRIBE rtsp://172.21.45.202/0 RTSP/1.0
CSeq: 3
User-Agent: LIVE555 Streaming Media v2012.06.17
Accept: application/sdp


--------------------------------------------172.21.45.202
>>>>>RTSP/1.0 200 OK
CSeq: 3
Date: Fri, Jan 02 1970 05:33:51 GMT
Content-Type: application/sdp
Content-length: 350
Content-Base: rtsp://172.21.45.202/0/

v=0
o=StreamingServer 3331435948 1116907222000 IN IP4 172.21.45.202
s=H.264
c=IN IP4 0.0.0.0
t=0 0
a=control:*
m=video 0 RTP/AVP 96
a=control:trackID=0
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1; sprop-parameter-sets=AAABBCCC
m=audio 0 RTP/AVP 97
a=control:trackID=1
a=rtpmap:97 G726-32/8000/1
a=fmtp:97 packetization-mode=1

<<<<<  SETUP rtsp://172.21.45.202/0/trackID=0 RTSP/1.0
CSeq: 4
User-Agent: LIVE555 Streaming Media v2012.06.17
Transport: RTP/AVP/TCP;unicast;interleaved=0-1


--------------------------------------------172.21.45.202
SetupAnswer >>>>>RTSP/1.0 200 OK
CSeq: 4
Date: Fri, Jan 02 1970 05:33:51 GMT
Transport: RTP/AVP;unicast;destination=172.21.45.202;client_port=0-1;server_port=53255-53511
Session: 1000

<<<<<  PLAY rtsp://172.21.45.202/0/ RTSP/1.0
CSeq: 5
User-Agent: LIVE555 Streaming Media v2012.06.17
Session: 1000
Range: npt=0.000-


[sample_venc.c][571][15:47:20][PlayAnswer] start
--------------------------------------------172.21.45.202
PlayAnswer >>>>>RTSP/1.0 200 OK
CSeq: 5
Date: Fri, Jan 02 1970 05:33:51 GMT
Range: npt=0.000-
Session: 1000
RTP-Info: url=rtsp://172.21.45.202/0;seq=0

rambo0808

0个粉丝

1

问答

0

专栏

0

资料

rambo0808 2015-12-25 20:29:25
认可0
隔壁一位朋友说 onvif device manager也可以设置为用UDP来接收RTP数据

但是不清楚onvif device manager怎么设置为用UDP来接收RTP数据?是GetCapabilities中的某个属性吗?

3wnae

0个粉丝

9

问答

0

专栏

0

资料

3wnae 2015-12-26 09:46:33
认可0
好像用tcp时传输rtp和rtcp和rtsp都用同一个端口,就是刚开始rtsp建立连接的那个端口,只是发送数据时多了一个包头用来区分是什么类型的数据。我看live555就是这么做的。

david

39个粉丝

368

问答

253

专栏

229

资料

david 2016-01-04 19:27:09
认可0
SetUP的时候就应该告诉服务器Port的
RTP 本来就可以 Over TCP 和 UDP的,比如网络环境不好时 TCP效果要好很多

服务器是不需要 client的port的,client连接上来了,会自动有一个port,也就是往联接上来的socket 发数据。
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区