过去几天我一直在摆弄 ITX 的 DVR,尝试使用制造商提供的 SDK 连接到它的 RTSP 流。
官方语法如下:
PLAY rtsp://192.168.100.134/live?Live_video_channel_mask=0x0000FFFF&Live_audio_channel_mask=0
x00000000&Iframe_only=0&Stream_index=2/ RTSP/1.0\r\n
视频通道掩码声明了想要查看的视频通道数量,例如,如果我想要查看通道 06,则掩码将是 0x00000020(两个 LSB 将是 0010 0000 = 通道 6)。
我正在使用 ffmpeg 和 VLC 尝试显示流。我的语法如下:
ffplay -analyzeduration 2147483647 -probesize 2147483647 -i rtsp://ADMIN:[email protected]:554/live?Live_video_channel_mask=0x00000020&Live_audio_channel=0x00000000/RTSP/1.0
然而我收到的是以下消息:
*[rtsp @ 02a24680] UDP timeout, retrying with TCPB sq= 0B f=0/0
[rtsp @ 02a24680] method PAUSE failed: 501 Not Implemented
[rtsp @ 02a24680] Could not find codec parameters for stream 0 (Video: h264): un
specified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
rtsp://ADMIN:[email protected]:554/live?Live_video_channel_mask=0x00000020: could not find codec parameters*
我已经从用于连接 DVR 的 WWW 接口嗅探了数据包,RTSP 语法如下所示:
*rtsp://192.168.1.25/live?Live_video_channel_mask=0x000000ff&Live_audio_channel_mask=0x00000001&Live_iframe_only=0&Live_stream_index=0/*
当我尝试在 FFmpeg 中复制它时,DVR 重新启动。
VLC 也无法正确显示视频 - 我可以短暂地看到编解码器参数(DESCRIBE 可能正确触发?),但视频本身并未解码。
我也捕获了 RTSP 数据包:
https://www.dropbox.com/s/qzo7kc95mo7dq9o/RTSP_ITX.pcap
我不知道这个可能出了什么问题。有人能帮忙吗?