You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@jmeter.apache.org by Ed Young <ej...@summitbid.com> on 2009/04/13 23:59:40 UTC
Does jmeter support RTSP (Real-Time Streaming Protocol)
*^ <http://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol#cite_ref-0>* RFC
2326 <http://tools.ietf.org/html/rfc2326>, *Real Time Streaming Protocol
(RTSP)*, IETF, 1998
That is, can I send simple requests like DESCRIBE, SETTUP, PLAY, PAUSE, etc.
The RTSP protocol has similarities to HTTP<http://en.wikipedia.org/wiki/HTTP>,
but RTSP adds new requests. While HTTP is
stateless<http://en.wikipedia.org/wiki/Stateless_server>,
RTSP is a stateful protocol. A session identifier is used to keep track of
sessions when needed. thus, no permanent TCP connection is needed. RTSP
messages are sent from client to server, although some exceptions exist
where the server will send to the client.
Anyone know if there is already jmeter support?
Thanks,
--
- Ed
Re: Does jmeter support RTSP (Real-Time Streaming Protocol)
Posted by sebb <se...@gmail.com>.
On 13/04/2009, Ed Young <ej...@summitbid.com> wrote:
> *^ <http://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol#cite_ref-0>* RFC
> 2326 <http://tools.ietf.org/html/rfc2326>, *Real Time Streaming Protocol
> (RTSP)*, IETF, 1998
>
> That is, can I send simple requests like DESCRIBE, SETTUP, PLAY, PAUSE, etc.
>
>
> The RTSP protocol has similarities to HTTP<http://en.wikipedia.org/wiki/HTTP>,
> but RTSP adds new requests. While HTTP is
> stateless<http://en.wikipedia.org/wiki/Stateless_server>,
> RTSP is a stateful protocol. A session identifier is used to keep track of
> sessions when needed. thus, no permanent TCP connection is needed. RTSP
> messages are sent from client to server, although some exceptions exist
> where the server will send to the client.
>
> Anyone know if there is already jmeter support?
There is no RTSP support included with JMeter.
However perhaps someone has written a sampler.
> Thanks,
>
> --
>
> - Ed
>
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
Re: Does jmeter support RTSP (Real-Time Streaming Protocol)
Posted by Er...@Schange.com.
Glad to help.
My SETUP request actually has 5 children.
1. A response assertion that looks for the text "RTSP/1.0 200 OK"
2. A regex extractor to get the session id...
regular expression: Session: ([0-9a-f]+);
template: $1$
match no.: 1
3. Another regex extractor to the the source ip...
similar to the previous one but regex: source=([0-9.]+)
4. Another regex extractor to the the source port...
regex: source_port=([0-9]+)
5. A callout to ping the edge card. This is a bit involved and you
probably don't need it. My streaming device requires some NAT
handshaking.
Shouldn't be any problem with threads. Each JMeter thread gets its own
response and has its own variables (instances of the reference names). A
common mistake that I make is forgetting that the regex extractors should
be children of the sampler. I like to make sure one thread works properly
by adding a Java Request Sampler and setting its name to the reference
variables, i.e.
${source_ip} ${source_port} ${session_id}
This should show up in the results with the values retrieved from the
extractors.
Ed Young <ej...@summitbid.com>
04/24/2009 05:49 PM
Please respond to
"JMeter Users List" <jm...@jakarta.apache.org>
To
JMeter Users List <jm...@jakarta.apache.org>
cc
Subject
Re: Does jmeter support RTSP (Real-Time Streaming Protocol)
Eric,
Thanks for the reply. That definitely helped. By the way, are you
using a Regular Expression Extractor to get the sessionId from the
SETUP result?
One of the issues I'm next having to deal with is that when executing
multithreaded SETUP requests against a streaming server, each request
in each thread requires a different qamPort be specified. I'm having
difficulty figuring out how to get that to work. I'll post another
question specific to that one.
Thanks again,
Ed
On Thu, Apr 16, 2009 at 7:16 AM, <Er...@schange.com> wrote:
> My streaming server needed a CR/LF/CR/LF at the end of the text before
it
> would process.
> So I created a JMeter User Defined Variable:
> Name: CRLF
> Value: ${__javaScript('\r\n')}
>
> And, for example, my RTSP play is a TCP Sampler with IP and port set
> appropriately and text to send:
> PLAY * RTSP/1.0${CRLF}CSeq: 2${CRLF}Range: npt=0.0-${CRLF}Scale:
> 1.0${CRLF}Session: ${session_id}${CRLF}${CRLF}
>
> The variable ${session_id} was pulled from the response to RTSP setup.
I
> check re-use connection, but don't think that's required.
>
>
>
>
>
> Ed Young <ej...@summitbid.com>
> 04/15/2009 01:22 PM
> Please respond to
> "JMeter Users List" <jm...@jakarta.apache.org>
>
>
> To
> JMeter Users List <jm...@jakarta.apache.org>
> cc
>
> Subject
> Re: Does jmeter support RTSP (Real-Time Streaming Protocol)
>
>
>
>
>
>
> Thanks for the reply. I've started experimenting with the TCP Sampler,
and
> I
> think I'm close, but I'm missing something. May I ask you a few
questions
> on
> how you've simulated the requests?
>
> What I've done:
> I've sent some requests generated from a python script and I can setup
> sessions and play and teardown, etc. I'm watching the traffic using
> wireshark and seeing the requests and responses.
>
> I'm basically copying the valid request text from the wireshark traffic
> and
> pasting it into he TCPSampler "text to send" for example:
>
> OPTIONS rtsp://10.253.239.205:554 RTSP/1.0
> CSeq: 346
> Require: com.comcast.ngod.r2
>
> Wireshark indicates this is an RTSP message, but the streaming server
> rejects it.
>
> So, I think I'm on the right track. Any ideas are appreciated.
>
> -Ed
>
> What I've tried to do is to copy the request from wireshark and paste it
> into the TCPSampler "text to send".
>
> On Tue, Apr 14, 2009 at 6:00 AM, <Er...@schange.com> wrote:
>
>> I have simulated RTSP using the TCP Sampler.
>> You can extract the session id from the setup response using a regex
>> extractor post-processor.
>>
>>
>>
>>
>> Ed Young <ej...@summitbid.com>
>> 04/13/2009 05:58 PM
>> Please respond to
>> "JMeter Users List" <jm...@jakarta.apache.org>
>>
>>
>> To
>> JMeter Users List <jm...@jakarta.apache.org>
>> cc
>>
>> Subject
>> Does jmeter support RTSP (Real-Time Streaming Protocol)
>>
>>
>>
>>
>>
>>
>> *^ <
http://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol#cite_ref-0
>>*
>> RFC
>> 2326 <http://tools.ietf.org/html/rfc2326>, *Real Time Streaming
Protocol
>> (RTSP)*, IETF, 1998
>>
>> That is, can I send simple requests like DESCRIBE, SETTUP, PLAY, PAUSE,
>> etc.
>>
>>
>> The RTSP protocol has similarities to HTTP<
>> http://en.wikipedia.org/wiki/HTTP>,
>> but RTSP adds new requests. While HTTP is
>> stateless<http://en.wikipedia.org/wiki/Stateless_server>,
>> RTSP is a stateful protocol. A session identifier is used to keep track
> of
>> sessions when needed. thus, no permanent TCP connection is needed. RTSP
>> messages are sent from client to server, although some exceptions exist
>> where the server will send to the client.
>>
>> Anyone know if there is already jmeter support?
>>
>> Thanks,
>>
>> --
>> - Ed
>>
>>
>
>
> --
> - Ed
>
>
--
- Ed
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
Re: Does jmeter support RTSP (Real-Time Streaming Protocol)
Posted by Ed Young <ej...@summitbid.com>.
Eric,
Thanks for the reply. That definitely helped. By the way, are you
using a Regular Expression Extractor to get the sessionId from the
SETUP result?
One of the issues I'm next having to deal with is that when executing
multithreaded SETUP requests against a streaming server, each request
in each thread requires a different qamPort be specified. I'm having
difficulty figuring out how to get that to work. I'll post another
question specific to that one.
Thanks again,
Ed
On Thu, Apr 16, 2009 at 7:16 AM, <Er...@schange.com> wrote:
> My streaming server needed a CR/LF/CR/LF at the end of the text before it
> would process.
> So I created a JMeter User Defined Variable:
> Name: CRLF
> Value: ${__javaScript('\r\n')}
>
> And, for example, my RTSP play is a TCP Sampler with IP and port set
> appropriately and text to send:
> PLAY * RTSP/1.0${CRLF}CSeq: 2${CRLF}Range: npt=0.0-${CRLF}Scale:
> 1.0${CRLF}Session: ${session_id}${CRLF}${CRLF}
>
> The variable ${session_id} was pulled from the response to RTSP setup. I
> check re-use connection, but don't think that's required.
>
>
>
>
>
> Ed Young <ej...@summitbid.com>
> 04/15/2009 01:22 PM
> Please respond to
> "JMeter Users List" <jm...@jakarta.apache.org>
>
>
> To
> JMeter Users List <jm...@jakarta.apache.org>
> cc
>
> Subject
> Re: Does jmeter support RTSP (Real-Time Streaming Protocol)
>
>
>
>
>
>
> Thanks for the reply. I've started experimenting with the TCP Sampler, and
> I
> think I'm close, but I'm missing something. May I ask you a few questions
> on
> how you've simulated the requests?
>
> What I've done:
> I've sent some requests generated from a python script and I can setup
> sessions and play and teardown, etc. I'm watching the traffic using
> wireshark and seeing the requests and responses.
>
> I'm basically copying the valid request text from the wireshark traffic
> and
> pasting it into he TCPSampler "text to send" for example:
>
> OPTIONS rtsp://10.253.239.205:554 RTSP/1.0
> CSeq: 346
> Require: com.comcast.ngod.r2
>
> Wireshark indicates this is an RTSP message, but the streaming server
> rejects it.
>
> So, I think I'm on the right track. Any ideas are appreciated.
>
> -Ed
>
> What I've tried to do is to copy the request from wireshark and paste it
> into the TCPSampler "text to send".
>
> On Tue, Apr 14, 2009 at 6:00 AM, <Er...@schange.com> wrote:
>
>> I have simulated RTSP using the TCP Sampler.
>> You can extract the session id from the setup response using a regex
>> extractor post-processor.
>>
>>
>>
>>
>> Ed Young <ej...@summitbid.com>
>> 04/13/2009 05:58 PM
>> Please respond to
>> "JMeter Users List" <jm...@jakarta.apache.org>
>>
>>
>> To
>> JMeter Users List <jm...@jakarta.apache.org>
>> cc
>>
>> Subject
>> Does jmeter support RTSP (Real-Time Streaming Protocol)
>>
>>
>>
>>
>>
>>
>> *^ <http://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol#cite_ref-0
>>*
>> RFC
>> 2326 <http://tools.ietf.org/html/rfc2326>, *Real Time Streaming Protocol
>> (RTSP)*, IETF, 1998
>>
>> That is, can I send simple requests like DESCRIBE, SETTUP, PLAY, PAUSE,
>> etc.
>>
>>
>> The RTSP protocol has similarities to HTTP<
>> http://en.wikipedia.org/wiki/HTTP>,
>> but RTSP adds new requests. While HTTP is
>> stateless<http://en.wikipedia.org/wiki/Stateless_server>,
>> RTSP is a stateful protocol. A session identifier is used to keep track
> of
>> sessions when needed. thus, no permanent TCP connection is needed. RTSP
>> messages are sent from client to server, although some exceptions exist
>> where the server will send to the client.
>>
>> Anyone know if there is already jmeter support?
>>
>> Thanks,
>>
>> --
>> - Ed
>>
>>
>
>
> --
> - Ed
>
>
--
- Ed
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
Re: Does jmeter support RTSP (Real-Time Streaming Protocol)
Posted by Er...@Schange.com.
My streaming server needed a CR/LF/CR/LF at the end of the text before it
would process.
So I created a JMeter User Defined Variable:
Name: CRLF
Value: ${__javaScript('\r\n')}
And, for example, my RTSP play is a TCP Sampler with IP and port set
appropriately and text to send:
PLAY * RTSP/1.0${CRLF}CSeq: 2${CRLF}Range: npt=0.0-${CRLF}Scale:
1.0${CRLF}Session: ${session_id}${CRLF}${CRLF}
The variable ${session_id} was pulled from the response to RTSP setup. I
check re-use connection, but don't think that's required.
Ed Young <ej...@summitbid.com>
04/15/2009 01:22 PM
Please respond to
"JMeter Users List" <jm...@jakarta.apache.org>
To
JMeter Users List <jm...@jakarta.apache.org>
cc
Subject
Re: Does jmeter support RTSP (Real-Time Streaming Protocol)
Thanks for the reply. I've started experimenting with the TCP Sampler, and
I
think I'm close, but I'm missing something. May I ask you a few questions
on
how you've simulated the requests?
What I've done:
I've sent some requests generated from a python script and I can setup
sessions and play and teardown, etc. I'm watching the traffic using
wireshark and seeing the requests and responses.
I'm basically copying the valid request text from the wireshark traffic
and
pasting it into he TCPSampler "text to send" for example:
OPTIONS rtsp://10.253.239.205:554 RTSP/1.0
CSeq: 346
Require: com.comcast.ngod.r2
Wireshark indicates this is an RTSP message, but the streaming server
rejects it.
So, I think I'm on the right track. Any ideas are appreciated.
-Ed
What I've tried to do is to copy the request from wireshark and paste it
into the TCPSampler "text to send".
On Tue, Apr 14, 2009 at 6:00 AM, <Er...@schange.com> wrote:
> I have simulated RTSP using the TCP Sampler.
> You can extract the session id from the setup response using a regex
> extractor post-processor.
>
>
>
>
> Ed Young <ej...@summitbid.com>
> 04/13/2009 05:58 PM
> Please respond to
> "JMeter Users List" <jm...@jakarta.apache.org>
>
>
> To
> JMeter Users List <jm...@jakarta.apache.org>
> cc
>
> Subject
> Does jmeter support RTSP (Real-Time Streaming Protocol)
>
>
>
>
>
>
> *^ <http://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol#cite_ref-0
>*
> RFC
> 2326 <http://tools.ietf.org/html/rfc2326>, *Real Time Streaming Protocol
> (RTSP)*, IETF, 1998
>
> That is, can I send simple requests like DESCRIBE, SETTUP, PLAY, PAUSE,
> etc.
>
>
> The RTSP protocol has similarities to HTTP<
> http://en.wikipedia.org/wiki/HTTP>,
> but RTSP adds new requests. While HTTP is
> stateless<http://en.wikipedia.org/wiki/Stateless_server>,
> RTSP is a stateful protocol. A session identifier is used to keep track
of
> sessions when needed. thus, no permanent TCP connection is needed. RTSP
> messages are sent from client to server, although some exceptions exist
> where the server will send to the client.
>
> Anyone know if there is already jmeter support?
>
> Thanks,
>
> --
> - Ed
>
>
--
- Ed
Re: Does jmeter support RTSP (Real-Time Streaming Protocol)
Posted by Ed Young <ej...@summitbid.com>.
Thanks for the reply. I've started experimenting with the TCP Sampler, and I
think I'm close, but I'm missing something. May I ask you a few questions on
how you've simulated the requests?
What I've done:
I've sent some requests generated from a python script and I can setup
sessions and play and teardown, etc. I'm watching the traffic using
wireshark and seeing the requests and responses.
I'm basically copying the valid request text from the wireshark traffic and
pasting it into he TCPSampler "text to send" for example:
OPTIONS rtsp://10.253.239.205:554 RTSP/1.0
CSeq: 346
Require: com.comcast.ngod.r2
Wireshark indicates this is an RTSP message, but the streaming server
rejects it.
So, I think I'm on the right track. Any ideas are appreciated.
-Ed
What I've tried to do is to copy the request from wireshark and paste it
into the TCPSampler "text to send".
On Tue, Apr 14, 2009 at 6:00 AM, <Er...@schange.com> wrote:
> I have simulated RTSP using the TCP Sampler.
> You can extract the session id from the setup response using a regex
> extractor post-processor.
>
>
>
>
> Ed Young <ej...@summitbid.com>
> 04/13/2009 05:58 PM
> Please respond to
> "JMeter Users List" <jm...@jakarta.apache.org>
>
>
> To
> JMeter Users List <jm...@jakarta.apache.org>
> cc
>
> Subject
> Does jmeter support RTSP (Real-Time Streaming Protocol)
>
>
>
>
>
>
> *^ <http://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol#cite_ref-0>*
> RFC
> 2326 <http://tools.ietf.org/html/rfc2326>, *Real Time Streaming Protocol
> (RTSP)*, IETF, 1998
>
> That is, can I send simple requests like DESCRIBE, SETTUP, PLAY, PAUSE,
> etc.
>
>
> The RTSP protocol has similarities to HTTP<
> http://en.wikipedia.org/wiki/HTTP>,
> but RTSP adds new requests. While HTTP is
> stateless<http://en.wikipedia.org/wiki/Stateless_server>,
> RTSP is a stateful protocol. A session identifier is used to keep track of
> sessions when needed. thus, no permanent TCP connection is needed. RTSP
> messages are sent from client to server, although some exceptions exist
> where the server will send to the client.
>
> Anyone know if there is already jmeter support?
>
> Thanks,
>
> --
> - Ed
>
>
--
- Ed
Re: Does jmeter support RTSP (Real-Time Streaming Protocol)
Posted by Er...@Schange.com.
I have simulated RTSP using the TCP Sampler.
You can extract the session id from the setup response using a regex
extractor post-processor.
Ed Young <ej...@summitbid.com>
04/13/2009 05:58 PM
Please respond to
"JMeter Users List" <jm...@jakarta.apache.org>
To
JMeter Users List <jm...@jakarta.apache.org>
cc
Subject
Does jmeter support RTSP (Real-Time Streaming Protocol)
*^ <http://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol#cite_ref-0>*
RFC
2326 <http://tools.ietf.org/html/rfc2326>, *Real Time Streaming Protocol
(RTSP)*, IETF, 1998
That is, can I send simple requests like DESCRIBE, SETTUP, PLAY, PAUSE,
etc.
The RTSP protocol has similarities to HTTP<
http://en.wikipedia.org/wiki/HTTP>,
but RTSP adds new requests. While HTTP is
stateless<http://en.wikipedia.org/wiki/Stateless_server>,
RTSP is a stateful protocol. A session identifier is used to keep track of
sessions when needed. thus, no permanent TCP connection is needed. RTSP
messages are sent from client to server, although some exceptions exist
where the server will send to the client.
Anyone know if there is already jmeter support?
Thanks,
--
- Ed