Results 1 to 8 of 8

Thread: wowza smil files

  1. #1
    Join Date
    Feb 2012
    Posts
    7

    Default wowza smil files

    Hi,

    please correct me if am wrong:

    As you know in a smil file we have few streams and wowza decides which stream to play according to the bandwidth and network conditions.

    right?

    i need to run some statistics on the streams we play in a smil file.


    say we have this smil file with a number of streams in it, such as:

    <?xml version="1.0" encoding="utf-8"?>

    <smil>

    <head />

    <body>

    <switch>

    <video src="SF2_DA2_MPEGTS_WebTV.stream" system-bitrate="1500000" />

    ...

    </switch>

    </body>

    </smil>

    i need to know What is the initial bit rate WOWZA starts streaming.

    then i need to know how long WOWZA transffered in each bit rate in order to calculate an average.



    Here is an example:

    Initial bitrate: 700kbps

    Average bitrate: 65 seconds @700kbps, 348 seconds @ 500kbps, 87 seconds @ 300kbps, 32 seconds

    @150kbps => 471kbps



    is there a chance to use some wowza plugin to get this information?


    Many Thanks,
    Snabel

  2. #2
    Join Date
    Dec 2007
    Posts
    21,962

    Default

    Snabel,

    Actually it is the player that decides what to play and when to switch. There isn't any logging at present like what you describe, switching info

    One way to get average bitrate and duration is from access log, from rows with x-event "destroy" and x-category "cupertino" for iOS clients, then look at sc-bytes (multiply by 8 from bits) and x-duration fields, which are cumulative for the session. Average bitrate is:

    sc-bytes * 8 / x-duration

    Richard

  3. #3
    Join Date
    Feb 2012
    Posts
    7

    Default

    Quote Originally Posted by rrlanham View Post
    Snabel,

    Actually it is the player that decides what to play and when to switch. There isn't any logging at present like what you describe, switching info

    One way to get average bitrate and duration is from access log, from rows with x-event "destroy" and x-category "cupertino" for iOS clients, then look at sc-bytes (multiply by 8 from bits) and x-duration fields, which are cumulative for the session. Average bitrate is:

    sc-bytes * 8 / x-duration

    Richard

    Thanks Richard, but the logs won't help me.
    here are parts of the session statistics that i need to print in my SDRS.

    I'm using Wowza as part of my code. for the stream statistics I'm using:

    IMediaStream mediaStream

    mediaStream.getMediaIOPerformance().getMessagesOutBytes() : now is this parameter the same as sc-bytes?
    mediaStream.getMediaIOPerformance().getMessagesOutBytesRate() * 8 : will this give me the same result as sc-bytes * 8 / x-duration?
    mediaStream.getHTTPStreamerSession().getSessionTimeout() : what is this value exactly?

    how can i get the x-duration field?

    again can i some how get the parameters i asked for, using IMediaStream or any other API?
    we really need to print the initial bit rate and the average bit rate in our SDRS. is there a chance to use some plugin or data collector which can provide this data for us?

    Many thanks,
    Snabel

  4. #4
    Join Date
    Feb 2012
    Posts
    7

    Default

    Hi guys,

    it's really an urgent issue for our clients to have this info.
    can you please answer my question?

    here is more info:
    we are talking about Wowza Media Server 3.
    i need this info for these stream types: Silverlight Smooth Streaming and HTTP Live Streaming


    I've looked into the server side documentation for IOPerformanceCounter API
    and i couldn't find answers to my questions.



    i will really appreciate your response.

    Thanks,
    Snabel

  5. #5
    Join Date
    Dec 2007
    Posts
    21,962

    Default

    The IOPerformanceCounter.getMessagesOutBytesRate() is a 5 second moving average. And yes, multiply by 8 to get bitrate.

    getHTTPStreamerSession.getSessionTimeout should, I think, return 12000 milliseconds (12 seconds) by default, and it is relevant to HTTP streaming types. Or it might 8 be seconds.

    Richard

  6. #6
    Join Date
    Feb 2012
    Posts
    7

    Default

    Thank you Richard.

    what do you mean by: '5 second moving average'?

    do you keep a counter for the bytes transferred in the last 5 seconds and divide this value by 5? can you please give me an example?

    i get these values on 'onStreamDestroy' event, so when i get this event

    isn't this value:

    'mediaStream.getMediaIOPerformance().getMessagesOut BytesRate() * 8' the same as 'sc-bytes * 8 / x-duration'

    is this value 'mediaStream.getMediaIOPerformance().getMessagesOutBytes()' the same as sc-bytes?

    how can i please get the x-duration from Wowza interfaces.

  7. #7
    Join Date
    Dec 2007
    Posts
    21,962

    Default

    No, sc-bytes is cumulative for the session. If it is data from a x-event "destroy" row it is cumulative for the whole session. getMessagesOutBytesRate is a byte rate, so many bytes per second on average over the last 5 seconds, a rolling average of the last 5 seconds.

    http://en.wikipedia.org/wiki/Moving_average

    So you are not going to replace logged sc-bytes with this approach

    Richard

  8. #8
    Join Date
    Dec 2007
    Posts
    21,962

    Default

    To correct, I meant getMessagesOutBytesRate is a byte rate, so many bytes per second

Similar Threads

  1. resolvePlayAlias and SMIL files
    By vjagannathan in forum General Forum
    Replies: 2
    Last Post: 07-24-2014, 07:21 PM
  2. Problem with smil files
    By Atmapuri in forum Wowza Streaming Server Java API
    Replies: 5
    Last Post: 02-27-2014, 02:27 PM
  3. Accept SMIL files not on the wowza server
    By skookie in forum Suggestions
    Replies: 4
    Last Post: 08-28-2012, 08:25 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •