aler9 / rtsp-simple-proxy Goto Github PK
View Code? Open in Web Editor NEWDEPRECATED - please use https://github.com/aler9/rtsp-simple-server
License: MIT License
DEPRECATED - please use https://github.com/aler9/rtsp-simple-server
License: MIT License
Would it be possible to integrate the run pre/post script feature from rtsp-simple-server into rtsp-simple-proxy? It would be great to use this feature to help keep track of and log the number of connected clients.
Thanks
Stream set credentials is not feasible cause preliminary OPTIONS request return 401 response (requires digest authentication), it doesn't handle it and returns from function.
https://github.com/aler9/rtsp-simple-proxy/blob/master/stream.go#L220
May be others can check this too but compared to other services, the CPU usage for rtsp-simple-proxy
seems quite high (3 streams setup, no clients connected).
In fact it uses almost as much CPU as the GitLab
container 🙄
But this may be normal for this type of service?
Hi,
I'm trying to make this work with https://github.com/AxisCommunications/media-stream-library-js
and websockify.
First attempt with VLC is OK and asking the right url proxyStream
(we are using your proxy as a drop-in replacement for live555ProxyServer);
but in the second attempt from localhost (the TCP end of the Websocket->TCP bridge);
the URL got somewhat mangled as proxyStreamtrackID=0, and that doesn't match anything.
This somewhat worked with live555ProxyServer.
Willing to help, providing traces etc....
2020/06/09 07:07:38 [RTSP client 10.150.21.35:54907] connected
2020/06/09 07:07:38 [RTSP client 10.150.21.35:54907] OPTIONS
2020/06/09 07:07:38 [RTSP client 10.150.21.35:54907] DESCRIBE
2020/06/09 07:07:38 [RTSP client 10.150.21.35:54907] SETUP
2020/06/09 07:07:38 [RTSP client 10.150.21.35:54907] PLAY
2020/06/09 07:07:38 [RTSP client 10.150.21.35:54907] is receiving on path 'proxyStream', 1 track via udp
2020/06/09 07:08:09 [RTSP client 10.150.21.35:54907] TEARDOWN
2020/06/09 07:08:09 [RTSP client 10.150.21.35:54907] disconnected
2020/06/09 07:10:16 [RTSP client 127.0.0.1:54764] connected
2020/06/09 07:10:16 [RTSP client 127.0.0.1:54764] OPTIONS
2020/06/09 07:10:16 [RTSP client 127.0.0.1:54764] DESCRIBE
2020/06/09 07:10:16 [RTSP client 127.0.0.1:54764] SETUP
2020/06/09 07:10:16 [RTSP client 127.0.0.1:54764] ERR: there is no stream on path 'proxyStreamtrackID=0'
2020/06/09 07:10:16 [RTSP client 127.0.0.1:54764] disconnected
Greetings.
I'm trying to proxy my IP camera's RTSP stream and getting following error:
2020/06/15 21:35:57 [STREAM cam1] initializing with protocol udp
2020/06/15 21:35:57 [STREAM cam1] ERR: invalid SDP: decode failed: field origin is unexpected: DecodeError in section s: no matches in ordering array at s[2] for origin
Here's the conf.yml
server:
protocols: [ tcp, udp ]
streams:
cam1:
url: rtsp://viewer:[email protected]:554/channel1
protocol: tcp
IP-Cam model: rvi-ipc50dn12
Connecting to a raspberry camera using v4l2rtspserver I get the following.
Could you please add support? Thanks!
v4l2rtspserver-connect-fail.zip
2020/06/05 02:24:47 rtsp-simple-proxy v0.3.3
2020/06/05 02:24:47 [UDP/RTP listener] opened on :8050
2020/06/05 02:24:47 [UDP/RTCP listener] opened on :8051
2020/06/05 02:24:47 [TCP listener] opened on :5554
2020/06/05 02:24:47 [STREAM cam1] initializing with protocol tcp
2020/06/05 02:24:47 [STREAM cam1] ERR: expected 'RTSP/1.0', got '$,��Q��f��+olT�*�5h��Q��fcam1$[���W�2��Q��f!�4!��@
ڷ�fDIs�ؑ���l�&'
Hi, I'm using uniview ip camera to test this program, but got the following output:
2020/06/22 14:47:08 rtsp-simple-proxy v0.3.7
2020/06/22 14:47:08 [UDP/RTP listener] opened on :8050
2020/06/22 14:47:08 [UDP/RTCP listener] opened on :8051
2020/06/22 14:47:08 [TCP listener] opened on :8554
2020/06/22 14:47:08 [STREAM test1] initializing with protocol tcp
2020/06/22 14:47:08 [STREAM test1] ERR: unable to setup authentication: unable to parse key-value (,nonce="133767111917411116111311118211673010032", stale="FALSE")
2020/06/22 14:47:13 [STREAM test1] initializing with protocol tcp
2020/06/22 14:47:13 [STREAM test1] ERR: unable to setup authentication: unable to parse key-value (,nonce="1337961385111862179317211191311699045743", stale="FALSE")
2020/06/22 14:47:18 [STREAM test1] initializing with protocol tcp
2020/06/22 14:47:18 [STREAM test1] ERR: unable to setup authentication: unable to parse key-value (,nonce="133771274111532192614111111111883456838", stale="FALSE")
My conf is here:
# timeout of read operations
readTimeout: 5s
# timeout of write operations
writeTimeout: 5s
server:
# supported protocols
protocols: [ tcp, udp ]
# port of the RTSP TCP listener
rtspPort: 8554
# port of the RTP UDP listener
rtpPort: 8050
# port of the RTCP UDP listener
rtcpPort: 8051
# optional username required to read
readUser:
# optional password required to read
readPass:
streams:
# name of the stream
test1:
# url of the source stream, in the format rtsp://user:pass@host:port/path
url: 'rtsp://xxx:[email protected]'
# whether to use tcp or udp
protocol: tcp
The RTSP url works fine in VLC. Any help will be appreciated.
with a config:
streams:
furtka:
url: 'rtsp://user:pass@ipadress:554/cam/realmonitor?channel=1&subtype=0'
protocol: tcp
im getting 404 (not found) response from a proxy
2020/06/26 15:18:52 rtsp-simple-proxy v0.3.7
2020/06/26 15:18:52 [UDP/RTP listener] opened on :8052
2020/06/26 15:18:52 [UDP/RTCP listener] opened on :8053
2020/06/26 15:18:52 [TCP listener] opened on :8558
2020/06/26 15:18:52 [STREAM furtka] initializing with protocol tcp
2020/06/26 15:18:52 [STREAM furtka] ERR: OPTIONS returned code 404 (Not Found)
2020/06/26 15:18:53 [RTSP client 10.152.11.23:50093] connected
2020/06/26 15:18:53 [RTSP client 10.152.11.23:50093] OPTIONS
2020/06/26 15:18:53 [RTSP client 10.152.11.23:50093] DESCRIBE
2020/06/26 15:18:53 [RTSP client 10.152.11.23:50093] ERR: stream 'furtka' is not ready yet
2020/06/26 15:18:53 [RTSP client 10.152.11.23:50093] disconnected
Trying to get this going with a Wyze Cam using their RTSP firmware.
Here is my conf:
server:
# supported protocols
protocols: [ tcp, udp ]
# port of the RTSP TCP listener
rtspPort: 8554
# port of the RTP UDP listener
rtpPort: 8050
# port of the RTCP UDP listener
rtcpPort: 8051
streams:
# name of the stream
nursery:
# url of the source stream
url: 'rtsp://user:[email protected]/live'
# whether to receive this stream in udp or tcp
useTcp: no
And here is the ouput I get:
/opt/rtsp-proxy$ ./rtsp-simple-proxy conf.yml
2020/04/07 16:05:05 rtsp-simple-proxy v0.2.10
2020/04/07 16:05:05 [UDP/RTP listener] opened on :8050
2020/04/07 16:05:05 [UDP/RTCP listener] opened on :8051
2020/04/07 16:05:05 [TCP listener] opened on :8554
2020/04/07 16:05:05 [STREAM nursery] initializing with protocol udp
2020/04/07 16:05:05 [STREAM nursery] ERR: SETUP returned code 404
2020/04/07 16:05:10 [STREAM nursery] initializing with protocol udp
2020/04/07 16:05:10 [STREAM nursery] ERR: SETUP returned code 404
The same RTSP url works fine in VLC. I've also tried the URL without quotes and double-quotes. Also tried TCP mode.
Any tips?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.