How do I test a webm videostream using jmeter? - jmeter

AFAIK there are 2 video streaming plugins available for JMeter:
BlazeMeter - HLS Plugin and
UbikLoadPack Video Streaming plugin
UbikLoadPack as a prohibitive pricing tag and HLS Plugin doesn't test the format I need. Also I want a FOSS solution not a paid one.
Does anyone know of some other plugin or method I could test a webm video stream ?
Edit
#dmitri-t when I try to do this it just hangs. Here I found this script that shows how to test a video. But when I changed the parameters to my video and range to 0-100 it hanged.
Also the example is using HTTP and my video uses HTTPS.
Tried to include a timer. It hangs also.
Yet the video loads perfectly in Chrome with the same url I used in Jmeter.
I also tested the request with Postman. It ignores the range header. So what's probably happening in JMeter is that it's trying to load the whole continuous stream. How do I make it consider range header ?
I tested with Postman on an image in the same server to see if range header was being considered or if it was a server problem and range was respected correctly.
Content-Range header doesn't work also. Please check this related question I did relative to the range problem with streams: Request to a webm stream ignores range header

I don't think you need any form of plugin, you can simulate the browser playing the video using normal HTTP Request sampler sending simple HTTP GET request
Here is the evidence that "playing" an webm "stream" is nothing more than downloading it.
It would be a good idea to add Timers to simulate users watching the video till the end (or according to your test case)

Related

Chromecast MediaInfo.Builder can't play shoutcast

I have one problem regarding MediaInfo.Builder of Google Cast. I used following code:
MediaInfo mediaInfo = new MediaInfo.Builder("http://shoutcast2.index.uz.zgora.pl:8000")
.setStreamType(MediaInfo.STREAM_TYPE_LIVE)
.setContentType("audio/mpeg")
.build();
But Cast player is not working at all. The reason is, that URL leads to SHOUTCAST. Apparently, the problem is in content type. Could somebody advise which contentType to use for shoutcast streams, or at least provide some workaround for this?
Thank you.
Instead of http://shoutcast2.index.uz.zgora.pl:8000/, use http://shoutcast2.index.uz.zgora.pl:8000/;. Note the semicolon on the end.
SHOUTcast servers are going to look for Mozilla in the User-Agent request header, as a way of detecting a browser vs. a media player. If the server thinks the client is a browser, it will send the admin page rather than the stream. By passing ; in the request URI, the SHOUTcast server will use the user agent string of MPEG OVERRIDE and will send the actual stream data.
You should also know that SHOUTcast isn't truly HTTP compatible. It's close enough that it will probably work, but may stop working in the future. Icecast is one of several better alternatives.
Brad's solution worked for me. Just added a slash and a semicolon after the port. I also changed the content type from audio/mpeg to audio/mp3. My working code looks like this.
MediaInfo mediaInfo = new MediaInfo.Builder("http://shoutcast2.index.uz.zgora.pl:8000/;")
.setStreamType(MediaInfo.STREAM_TYPE_LIVE)
.setContentType("audio/mp3")
.build();

FlowPlayer with Wowza

we're using flow player with Wowza. We've managed to get it so the stream starts on opening the page, however the stream is made up of several individual videos and between videos the user has to click play to resume the stream. Is there anyway to get flowplayer to automatically play the next video? Thanks
Dobro.
Assuming you are using the flash version of flowplayer (not the HTML5). Flowplayer offers a complete api, with events and properties to modify every aspect of the original configuration. For instance you could declare the 'onFinish' method in the clip, and then load another clip automatically
Check the flowplayer documentation:
http://flash.flowplayer.org/documentation/api/clip.html

Play data while downloading

I am trying do play songs from soundcloud, which is working fine for one exception: when the response handler is called, the download of the file is allready complete. I'd like to start playing the file directly after the download started, but i have no clue how to access the data before the response handler gets called. Accessing the data ln the progress handler would be nice, but i need a hint on how to do it.
If you write your own download code using NSURLConnection and
initWithRequest:delegate:startImmediately:, the delegate methods (e.g.
connection:didReceiveData:) will be called as the data becomes available.
You risk running out of data if you try to play the sound as it is downloaded. You should probably implement a buffering system where you download enough extra data for several seconds of playback before you start playing. That way you can smooth over short "stutters" in the download.
I suggest you at least two options to perform what you want:
1. AVPlayer supports playing a file from http. If you download a static file - you can just ask a player to stream over http.
2. You can download a small chunks of file (5 MB at once, for example) and append them to the result file or write directly into memory buffer. You can download a file chunk of specified size by just adding a Content-Range header with an offset you need. (see RFC, 14.16 Content-Range for more specific info). This method requires server to support partial downloads, but in nowadays it is harder to find a sever that does not support this =) Alamofire easily allows you to do that.

get notified / check of end of transcoding for vimeo-api?

What's the best-practice method of checking for the release of the video after transcoding using the vimeo api?
Is there any way to set a callback url for notification?
I'll be using this ruby wrapper but can make a html request if need be....
Thanks.
There is not currently a transcoding callback (it is a planned feature), but the new API tells the transcoding status on all of your clip responses.
Look for "status", the valid fields are : available, uploading, transcoding, uploading_error, transcoding_error

Windows Phone 7 ASX Streaming

I'm trying a small app which play a asx streaming file. My understanding was i should parse the asx and get the URL. But in my case, REFHREF in ASX points like this www.website.com:8084. Is this the server configuration need to be modified ? Totally new to this audio streaming protocols. Any suggestion would be much appreacited ...
My code streams audio fine when i test with a ww.website.com/file.MP3
the URL from refhref may most probably lead you to another asx file, which needs to be parsed again, i would advice recursively parsing till u reach a valid playable stream! Wp7 supports asx streams but it disallows(throws an exception for some tags check here )
so you will have to parse the asx yourself, extract the URL and process it further!
Good Luck! post your findings too!

Resources