【问题标题】:Getting video width height from RTP Packets or Rtsp Server从 RTP 数据包或 Rtsp 服务器获取视频宽度高度
【发布时间】:2011-12-15 01:05:45
【问题描述】:

我必须获取流视频 [来自 rtsp 服务器] 的宽度和高度。

第三方服务器在 RTSP DESCRIBE REQUEST 提供以下信息:

一台 RTSP 服务器给我宽高

Server Response:

RTSP/1.0 200 OK
....

Content-Type: application/sdp

Content-Length: 376

a=x-dimensions:1280,1024 // GET WIDTH HEIGHT

....

a=x-dimensions:1280,1024

但是对方没有给我宽高信息.... 好像支持ONVIF...

Server Response:


RTSP/1.0 200 OK

x-Accept-Dynamic-Rate: 1
... 
Content-Length: 625
... 
m=video 0 RTP/AVP 96

i=Video channel in H264 VBR format

a=mpeg4-esid:201

a=control:trackID=0

a=rtpmap:96 H264/90000

a=fmtp:96 packetization-mode=1;profile-level-id=640032;....

m=application 0 RTP/AVP 107

i=ONVIF metadata

a=control:events

a=sendonly

a=rtpmap:107 vnd.onvif.metadata/90000

获取流宽高的任何方法?建议...

最好的祝福

【问题讨论】:

  • 服务器请求时如何做RSTP分辨率选择???

标签: directshow h.264 rtsp rtp rtsp-client


【解决方案1】:

宽度和高度可以从 H.264 序列参数集中提取,通常是 DESCRIBE 响应中 SDP 的 fmtp 行的一部分。请参阅 cipi 的 helpful SO post

【讨论】:

  • 我认为更多时候分辨率/尺寸不能通过 X-Dimensions 获得,但是它们可以通过 SDP 提供的参数集获得。尽管如此,最可靠的信息来源,有时是唯一的来源,是比特流本身和嵌入其中的参数集。顺便说一句,实际上没有什么可以阻止 RTSP 源即时更改分辨率。
猜你喜欢
  • 2022-01-03
  • 2012-03-19
  • 1970-01-01
  • 2015-04-10
  • 1970-01-01
  • 2023-03-04
  • 2019-07-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多