首页 > 解决方案 > 在 ANNOUNCE 消息后获取 RTSP/1.0 404 Not Found

问题描述

我正在尝试使用 FFmpeg 将视频流式传输到 Gstreamer-RTSP-Server(它实际上是一个运行 Gstreamer-RTSP-Server 的 docker)。OPTION 消息获得“RTSP/1.0 200 OK”响应。但是,ANNOUNCE 消息得到“RTSP/1.0 404 Not Found”响应。

这是 FFmpeg 命令(可以在不同的 RTSP 服务器上正常工作):

ffmpeg -f v4l2 -i /dev/video0 -c:v libx264 -intra -an -f rtsp -rtsp_transport tcp rtsp://192.168.1.10:8554/test

这是来自 Wireshark 的消息序列快照:

OPTIONS rtsp://192.168.1.10:8554/test RTSP/1.0
CSeq: 1
User-Agent: Lavf58.20.100

RTSP/1.0 200 OK
CSeq: 1
Public: OPTIONS, DESCRIBE, ANNOUNCE, GET_PARAMETER, PAUSE, PLAY, RECORD, SETUP, SET_PARAMETER, TEARDOWN
Server: GStreamer RTSP server
Date: Sat, 21 Dec 2019 18:23:03 GMT

ANNOUNCE rtsp://192.168.1.10:8554/test RTSP/1.0
Content-Type: application/sdp
CSeq: 2
User-Agent: Lavf58.20.100
Content-Length: 287

v=0
o=- 0 0 IN IP4 127.0.0.1
s=No Name
c=IN IP4 192.168.1.10
t=0 0
a=tool:libavformat 58.20.100
m=video 0 RTP/AVP 96
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1; sprop-parameter-sets=Z3oQHry4FAe0IAAAAwAgAAAHgIA=,aO4PLIs=; profile-level-id=7A101E
a=control:streamid=0
RTSP/1.0 404 Not Found
CSeq: 2
Server: GStreamer RTSP server
Date: Sat, 21 Dec 2019 18:23:03 GMT

知道为什么 ANNOUNCE 消息会失败吗?

Gstreamer-RTSP-Server 是 docker 的一部分,我猜它使用默认的 Gstreamer 管道参数运行 - 也许这会导致问题?

标签: ffmpeggstreamerh.264rtsprtsp-client

解决方案


推荐阅读