dorsvr
dorsvr copied to clipboard
Implement of method ANNOUNCE
I tried to push video steams to dorsvr server but the server refused the ANNOUNCE requests and returned a 405 Method Not Allowed
error.
I was using a streamer(encoder) called Larix Broadcaster
v1.0.31 on my Android device. It tried to push camera clips to the server, but failed due to a unknown connection failure
.
On the other hand, VLC player cannot open the rtsp link.
These logs are printed
We use port 80 for optional RTSP-over-HTTP tunneling, or for HTTP live streaming (for indexed Transport Stream files only).
This server's URL: rtsp://172.17.0.1:8554/<filename>.
2017/08/23 14:33:38 [I] Received 88 new bytes of request data.
2017/08/23 14:33:38 [I] Received a complete OPTIONS request:
OPTIONS rtsp://192.168.10.187:8554/hwcam RTSP/1.0
CSeq: 1
User-Agent: Larix/1.0.31
2017/08/23 14:33:38 [I] send response:
RTSP/1.0 200 OK
CSeq: 1
Date: 2017-08-23 14:33:38.390808291 +0800 CST
Public: [OPTIONS DESCRIBE SETUP TEARDOWN PLAY PAUSE RECORD GET_PARAMETER SET_PARAMETER]
2017/08/23 14:33:38 [I] Received 536 new bytes of request data.
2017/08/23 14:33:38 [I] Received a complete ANNOUNCE request:
ANNOUNCE rtsp://192.168.10.187:8554/hwcam RTSP/1.0
Content-Type: application/sdp
CSeq: 2
User-Agent: Larix/1.0.31
Content-Length: 395
v=0
m=video 0 RTP/AVP/TCP 96
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1; sprop-parameter-sets=Z0LgHqtAUB7QgAAAAwCAAAAecCAAPQkAAehJaxsDxQqo,KM48gA==; profile-level-id=42e01e
a=control:streamid=0
m=audio 0 RTP/AVP/TCP 97
a=rtpmap:97 mpeg4-generic/44100/1
a=fmtp:97 profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3;config=1208
a=control:streamid=1
2017/08/23 14:33:38 [I] send response:
RTSP/1.0 405 Method Not Allowed
CSeq: 2
Date: 2017-08-23 14:33:38.39978622 +0800 CST
Allow: [OPTIONS DESCRIBE SETUP TEARDOWN PLAY PAUSE RECORD GET_PARAMETER SET_PARAMETER]
2017/08/23 14:33:38 [I] default: EOF
2017/08/23 14:33:38 [I] end connection[192.168.10.139:42475].
Has anyone ever got a similar error? How can I do with it? Many thanks.
I have checked the source codes and found the ANNOUNCE method is solved as a unsupported command.
https://github.com/djwackey/dorsvr/blob/b5cdb8ebc165c252c7f73c1f6d24d6f092ab6e5c/rtspserver/connection.go#L94-L132