directshow - 从 RTP 数据包或 Rtsp 服务器获取视频宽度高度

标签 directshow h.264 rtsp rtp rtsp-client

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

第三方服务器在 RTSP 描述请求中提供以下信息:

一个 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

获取流宽高的方法/方法?

最佳答案

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

关于directshow - 从 RTP 数据包或 Rtsp 服务器获取视频宽度高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7891517/

相关文章:

ffmpeg - 转码后的视频流无法在 QuickTime 播放器中播放

c++ - IMMDevice::Activate() 与 IBaseFilter 返回 REGDB_E_CLASSNOTREG 类未注册

python - Django,使用 FileWrapper (HTML5) 流式传输 H.264 视频

c++ - 如何使用 Visual C++ 5.0 构建 DirectShow 过滤器?

linux - 安装 gst-libav 包代码库后缺少 gstreamer 插件 avdec_h264

video - 共享 IP 摄像机源 (RTSP?)

java - 创建用于屏幕传输 RTSP 的处理器

stream - 通过live555代理rtp源流到rtsp

c++ - 如何通过 UVC 支持硬件编码 H264

filter - 编写自定义 DirectShow RTSP/RTP 源推送过滤器 - 来自实时源的时间戳数据