droidcoffee / rtsplib-java Goto Github PK
View Code? Open in Web Editor NEWAutomatically exported from code.google.com/p/rtsplib-java
License: GNU Lesser General Public License v3.0
Automatically exported from code.google.com/p/rtsplib-java
License: GNU Lesser General Public License v3.0
Hello,
I have been able to connect to the server, and successfully receive responses
for the DESCRIBE, SETUP and PLAY.
Once the PLAY is successful, how do I retrieve the actual video data from the
server? The PLAYTest program does not show this. I will appreciate it if you
can send me an answer. Thanks in advance and thanks for making this library
available.
Zahir
Original issue reported on code.google.com by [email protected]
on 29 Apr 2011 at 2:47
I've tried to get a h264 video rtsp stream by running the playttest program,
and I get the following message (below). It seems that Method method =
Method.valueOf(line.substring(0, line.indexOf(' '))); in incomingmessage was bad
regards
Xavier
Session Descriptor
v=0
o=- 1284115067424162 1 IN IP4 0.0.0.0
s=Session streamed by "nessyMediaServer"
i=h264
t=0 0
a=tool:LIVE555 Streaming Media v2010.04.09_dyna_modi_2010.05.05
a=type:broadcast
a=control:*
a=range:npt=0-
a=x-qt-text-nam:Session streamed by "nessyMediaServer"
a=x-qt-text-inf:h264
m=video 0 RTP/AVP 99
c=IN IP4 0.0.0.0
a=rtpmap:99 H264/90000
a=fmtp:99 packetization-mode=28;profile-level-id=42E020.;
sprop-parameter-sets=J0LgII1oBQBbsBbIAAADABAAAAMAyHnPUA==,KM4F8g==
a=control:track1
a=cliprect:0,0,1280,720
a=framerate:12.500000
m=audio 7878 RTP/AVP 0
a=rtpmap:0 PCMU/8000/1
a=control:track2
Got response:
RTSP/1.0 200 OK
CSeq: 0
Date: Fri, Sep 10 2010 15:00:40 GMT
Content-Base: rtsp://192.168.2.236:8554/h264/
Content-Type: application/sdp
Content-Length: 613
x-Accept-Dynamic-Rate: 1
for the request:
DESCRIBE rtsp://192.168.2.236:8554/h264 RTSP/1.0
CSeq: 0
Accept: application/sdp
User-Agent: RTSPClientLib/Java
[*, track1, track2]
Got response:
RTSP/1.0 200 OK
CSeq: 1
Cache-Control: must-revalidate
Date: Fri, Sep 10 2010 15:00:40 GMT
Transport:
RTP/AVP;unicast;destination=192.168.2.34;source=192.168.2.236;client_port=2000-2
001;server_port=6970-6971
Session: 18
for the request:
SETUP rtsp://192.168.2.236:8554/h264/track1 RTSP/1.0
CSeq: 1
Transport: RTP/AVP;unicast;client_port=2000-2001
User-Agent: RTSPClientLib/Java
java.lang.IllegalArgumentException: No enum const class
br.com.voicetechnology.rtspclient.concepts.Request$Method.x-Transport-Options:
at java.lang.Enum.valueOf(Unknown Source)
at br.com.voicetechnology.rtspclient.concepts.Request$Method.valueOf(Request.java:1)
at br.com.voicetechnology.rtspclient.RTSPMessageFactory.incomingMessage(RTSPMessageFactory.java:103)
at br.com.voicetechnology.rtspclient.RTSPClient.dataReceived(RTSPClient.java:235)
at br.com.voicetechnology.rtspclient.transport.SafeTransportListener.dataReceived(SafeTransportListener.java:60)
at br.com.voicetechnology.rtspclient.transport.TransportThread.run(PlainTCP.java:69)
Original issue reported on code.google.com by [email protected]
on 10 Sep 2010 at 2:07
Evaluating the library I have found two minor issues. Please see patches
attached.
Original issue reported on code.google.com by [email protected]
on 12 Mar 2013 at 9:14
Attachments:
Apparently the parameters are inverted at the RTSPRequest constructor:
public RTSPRequest(String messageLine) throws URISyntaxException
{
String[] parts = messageLine.split(" ");
setLine(parts[0], Method.valueOf(parts[1]));
}
setLine() looks like this:
public void setLine(String uri, Method method) throws URISyntaxException
So instead, the second line of the constructor shoud be
setLine(parts[1], Method.valueOf(parts[0]));
to match the request line, e.g.
DESCRIBE rtsp://example RTSP/1.0
Original issue reported on code.google.com by [email protected]
on 6 Jan 2011 at 12:41
There's a problem with the parsing of the Transport header when a
lower-transport parameter is specified. The index increment at line 84 should
be 3 instead of 2.
Excerpt from br/com/voicetechnology/rtspclient/headers/TransportHeader.java
pinpointing the error:
if(value.charAt(index) == '/')
{
switch(value.charAt(++index))
{
case 'T':
transport = LowerTransport.TCP;
break;
case 'U':
transport = LowerTransport.UDP;
break;
default:
throw new IllegalArgumentException("Invalid Transport: "
+ value.substring(7));
}
index += 2; // FIXME: Increment should be 3 instead of 2.
} else
transport = LowerTransport.DEFAULT;
Original issue reported on code.google.com by [email protected]
on 12 Jan 2011 at 1:35
I've tried to get a h264 video rtsp stream from an ip camera by running the
playttest program included in the project. I get the following traces.
Best regards.
Session Descriptor
v=0
o=- 1175309572184317 1 IN IP4 0.0.0.0
s=Session streamed by "nessyMediaServer"
i=h264
t=0 0
a=tool:LIVE555 Streaming Media v2010.04.09_dyna_modi_2010.05.05
a=type:broadcast
a=control:*
a=range:npt=0-
a=x-qt-text-nam:Session streamed by "nessyMediaServer"
a=x-qt-text-inf:h264
m=video 0 RTP/AVP 99
c=IN IP4 0.0.0.0
a=rtpmap:99 H264/90000
a=fmtp:99 packetization-mode=28;profile-level-id=4D4028;
sprop-parameter-sets=J01AKI2NKA8ARPy4C1AQEBQAAA+kAAOpgaGABQAAAwBZ/K7y40MACgAAAwC
z+V3lwXosAA==,KO48gA==
a=control:track1
a=cliprect:0,0,1920,1080
a=framerate:29.969999
m=audio 7878 RTP/AVP 98
a=rtpmap:98 G726-40/8000/1
a=control:track2
Got response:
RTSP/1.0 200 OK
CSeq: 0
Date: Sat, Mar 31 2007 04:08:10 GMT
Content-Base: rtsp://10.0.51.146/h264/
Content-Type: application/sdp
Content-Length: 654
for the request:
DESCRIBE rtsp://10.0.51.146/h264 RTSP/1.0
CSeq: 0
Accept: application/sdp
User-Agent: RTSPClientLib/Java
[*, track1, track2]
Got response:
RTSP/1.0 200 OK
CSeq: 1
Cache-Control: must-revalidate
Date: Sat, Mar 31 2007 04:08:10 GMT
Transport:
RTP/AVP;unicast;destination=10.0.51.104;source=10.0.51.146;client_port=2000-2001
;server_port=6970-6971
Session: 48
for the request:
SETUP rtsp://10.0.51.146/h264/track1 RTSP/1.0
CSeq: 1
Transport: RTP/AVP;unicast;client_port=2000-2001
User-Agent: RTSPClientLib/Java
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(Unknown Source)
at br.com.voicetechnology.rtspclient.RTSPMessageFactory.incomingMessage(RTSPMessageFactory.java:103)
at br.com.voicetechnology.rtspclient.RTSPClient.dataReceived(RTSPClient.java:235)
at br.com.voicetechnology.rtspclient.transport.SafeTransportListener.dataReceived(SafeTransportListener.java:60)
at br.com.voicetechnology.rtspclient.transport.TransportThread.run(PlainTCP.java:69)
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(Unknown Source)
at br.com.voicetechnology.rtspclient.RTSPMessageFactory.incomingMessage(RTSPMessageFactory.java:103)
Got response:
RTSP/1.0 200 OK
CSeq: 2
Cache-Control: must-revalidate
Date: Sat, Mar 31 2007 04:08:10 GMT
Transport:
RTP/AVP;unicast;destination=10.0.51.104;source=10.0.51.146;client_port=2002-2003
;server_port=6972-6973
Session: 48
for the request:
SETUP rtsp://10.0.51.146/h264/track2 RTSP/1.0
CSeq: 2
Transport: RTP/AVP;unicast;client_port=2002-2003
Session: 48
User-Agent: RTSPClientLib/Java
at br.com.voicetechnology.rtspclient.RTSPClient.dataReceived(RTSPClient.java:235)
at br.com.voicetechnology.rtspclient.transport.SafeTransportListener.dataReceived(SafeTransportListener.java:60)
at br.com.voicetechnology.rtspclient.transport.TransportThread.run(PlainTCP.java:69)
Got response:
RTSP/1.0 200 OK
CSeq: 3
Date: Sat, Mar 31 2007 04:08:10 GMT
Session: 48
RTP-Info:
url=rtsp://10.0.51.146/h264/track1;seq=12328;rtptime=707795532,url=rtsp://10.0.5
1.146/h264/track2;seq=55352;rtptime=3790400010
for the request:
PLAY rtsp://10.0.51.146/h264 RTSP/1.0
CSeq: 3
Session: 48
User-Agent: RTSPClientLib/Java
Got response:
RTSP/1.0 200 OK
CSeq: 4
Date: Sat, Mar 31 2007 04:08:20 GMT
for the request:
TEARDOWN rtsp://10.0.51.146/h264 RTSP/1.0
CSeq: 4
Session: 48
Connection: close
User-Agent: RTSPClientLib/Java
Original issue reported on code.google.com by [email protected]
on 24 Jan 2011 at 4:06
HI , I have solve the problem ,cause in vlc server may contain "timeout" in
session head,so rtsplib would send the "session+timeout" back to vlc server
,but the server wont recognize ,so no stream.
you could find the resolution in my project:
http://code.google.com/p/android-rtsp-client/
Original issue reported on code.google.com by Peter880313
on 20 Dec 2012 at 2:31
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.