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