Results 1 to 10 of 10

Thread: Few questions regarding VOD HLS Streaming

  1. #1
    Join Date
    Oct 2011
    Posts
    17

    Default Few questions regarding VOD HLS Streaming

    Hi,

    I have a few questions about HLS VOD streaming.

    1. Regarding target duration:

      • This is the .smil file:
        <smil>
        	<head>
        	</head>
        	<body>
        		<switch>
        			<video src="mp4:00800_1000.mp4" system-bitrate="980992"/>
        			<video src="mp4:00800_1400.mp4" system-bitrate="1413120"/>
        		</switch>
        	</body>
        </smil>
        And this is my URI: http://lab001.dyndns.org:1935/vod/sm.../playlist.m3u8

      • This is the main playlist:
        #EXTM3U
        #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=980992
        http://lab001.dyndns.org:1935/vod/_definst_/mp4:00800_1000.mp4/playlist.m3u8?wowzasessionid=750677490
        #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1413120
        http://lab001.dyndns.org:1935/vod/_definst_/mp4:00800_1400.mp4/playlist.m3u8?wowzasessionid=750677490
        Opening one of the links would give me something like this:
        #EXTM3U
        #EXT-X-TARGETDURATION:12
        #EXT-X-MEDIA-SEQUENCE:1
        #EXTINF:12,
        media_1.ts?wowzasessionid=2146856501
        #EXTINF:11,
        media_2.ts?wowzasessionid=2146856501
        #EXTINF:11,
        media_3.ts?wowzasessionid=2146856501
        #EXTINF:11,
        media_4.ts?wowzasessionid=2146856501
        #EXTINF:10,
        media_5.ts?wowzasessionid=2146856501


      My first questions is: Why is the duration of each chunk different? Shouldn't all of them be equal to 12 in this example?

    2. Regarding streaming behavior:

      • I wanted to see the streaming behavior using WireShark, and this is what I got when the streaming started:



      • What I expected to see, is something like this:



      My second question is: Since I'm using HLS, why am I seeing "macromedia-fcs" instead of HTTP GET commads of the .ts files?

    3. Regarding KeyFrame Interval settings:

      My final question is: What's the recommended value when encoding at multiple bitrates? And how's it related to the value of #EXT-X-TARGETDURATION?


    I'd really appreciate any explanation to the above.

    Thanks in advance,
    Wiaam.
    Last edited by swiaam; 11-22-2011 at 05:23 AM.

  2. #2
    Join Date
    Sep 2011
    Posts
    1,920

    Default

    Hi
    The duration of each chunk is different because the encoding is not always a fixed size for each one, as long as the chunk value is close the the Max chunk value but not over it you should be fine.

    macromedia-fcs is the port number that is 1935 in this instance.
    WireShark just transforms the port number to a name.

    Each port has a normal use name and 1935 is macromedia-fcs
    in the same way that port 80 is HTTP.

    Your last question is answered here,
    http://www.wowza.com/forums/content....rameters-(iOS)

    Jason

  3. #3
    Join Date
    Oct 2011
    Posts
    17

    Default

    Hi,

    Thanks a lot.

    Everything's clear now except one thing:
    The #EXT-X-TARGETDURATION:<time> value varies from source media file to another - Why's that, and is that normal?

    For example:

    • If I open the link:
      http://lab001.dyndns.org/vod/_defins...onid=750677490

      I would get something like that:
      #EXTM3U
      #EXT-X-TARGETDURATION:12
      #EXT-X-MEDIA-SEQUENCE:1
      #EXTINF:12,
      media_1.ts?wowzasessionid=2146856501
      #EXTINF:11,
      media_2.ts?wowzasessionid=2146856501
      #EXTINF:11,
      media_3.ts?wowzasessionid=2146856501
      #EXTINF:11,
      media_4.ts?wowzasessionid=2146856501
      #EXTINF:10,
      media_5.ts?wowzasessionid=2146856501
    • On the other hand, if I open other link for other media, like this:
      http://lab001.dyndns.org/vod/_defins...nid=1389479844

      I would get something like this:
      #EXTM3U
      #EXT-X-TARGETDURATION:20
      #EXT-X-MEDIA-SEQUENCE:1
      #EXTINF:15,
      media_1.ts?wowzasessionid=1389479844
      #EXTINF:10,
      media_2.ts?wowzasessionid=1389479844
      #EXTINF:12,
      media_3.ts?wowzasessionid=1389479844
      #EXTINF:11,
      media_4.ts?wowzasessionid=1389479844
      #EXTINF:12,
      media_5.ts?wowzasessionid=1389479844


    That is when I use HLS VOD streaming at all times.

    I checked the link you posted, and although it's relevant to Live Streaming, there's a note about VOD.
    I tried to apply it by adding the following property to HTTPStreamer/Properties in [install-dir]/conf/vod/Application.xml file, but the behaviour didn't change.

    <Property>
    	<Name>cupertinoChunkDurationTarget</Name>
    	<Value>10000</Value>
    	<Type>Integer</Type>
    </Property>
    What am I missing?

    Wiaam.

  4. #4
    Join Date
    Oct 2011
    Posts
    17

    Default

    Ideas?

  5. #5

    Default

    Chunks are broken on key frames. So depending on the key frame interval and target duration the chunk sizes can differ. The target duration in the playlist is always the size of the largest chunk.

    Charlie

  6. #6
    Join Date
    Oct 2011
    Posts
    17

    Default

    Hi,

    As I understand, this means it depends entirely on the source and the way it was encoded - Please correct me if I'm wrong.
    Therefore, if I encoded my source at multiple bit-rates with the same key frame interval, why would I still get different chunk sizes?

    By the way, I'm using MS Expression Encoder 4 Pro.

    Thanks a lot.
    Wiaam.

  7. #7

    Default

    If you use the multi-bitrate encoding in the MS Expression Encoder and encode the files in the same session from the same source then yes they should be chunked the same. If the files are from different sessions or use a different source then Expression encoder might be using screen frame detection to insert key frames at scene changes and this might cause a variation between files.

    Charlie

  8. #8
    Join Date
    Oct 2011
    Posts
    17

    Default

    That's the thing... It's the same session. And nonetheless, I still get different chunk sizes.

    • This is my preset.
    • This is my .smil file.
    • Opening the first link from the .smil file would show me something like this:
      #EXTM3U
      #EXT-X-TARGETDURATION:18
      #EXT-X-MEDIA-SEQUENCE:1
      #EXTINF:11,
      media_1.ts?wowzasessionid=595218866
      #EXTINF:13,
      media_2.ts?wowzasessionid=595218866
      #EXTINF:10,
      media_3.ts?wowzasessionid=595218866
      #EXTINF:14,
      media_4.ts?wowzasessionid=595218866


    What do you think?

    Wiaam.

  9. #9

    Default

    I am not sure what you think is wrong. If I open all four renditions they are chunked exactly the same. All four renditions are broken up into chunks exactly the same way. If you are expecting each rendition's chunk size to be exactly 10 seconds this is not going to happen unless the key frame interval is perfectly broken on values that match the chunk duration. If you make the key frame interval a factor of the chunk size such as 2, 5 or 10 then this might work. Then again it might not lead to prefect chunk sizes because the encoder might inject key frames off the key frame interval due to scene change detection or the key frame interval might be off by one frame due to how it interprets the interval. Either way it doesn't matter. What is important is that the four files are broken up the same way.

    Charlie

  10. #10
    Join Date
    Oct 2011
    Posts
    17

    Default

    Got it.
    Cool... Thanks a lot.

Similar Threads

  1. VOD HLS Streaming
    By swiaam in forum Tutorials Discussion
    Replies: 17
    Last Post: 08-11-2015, 08:34 AM
  2. HLS VOD Streaming
    By EliYah in forum On-Demand Streaming
    Replies: 1
    Last Post: 05-25-2014, 02:57 PM
  3. HLS Adaptive streaming for VOD?
    By eTiMaGo in forum Video On Demand Streaming Discussion
    Replies: 2
    Last Post: 11-27-2012, 03:51 PM
  4. Vod -> MPG TS streaming questions
    By devinc in forum Tutorials Discussion
    Replies: 1
    Last Post: 09-28-2012, 06:58 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
  •