Results 1 to 5 of 5

Thread: how to call smil file from s3 storage

  1. #1
    Join Date
    Jul 2013
    Posts
    6

    Lightbulb how to call smil file from s3 storage

    i am currently trascoding raw video files into 3 different bitrate and hosting them on s3 storage . I am using wowza hosted on ec2 instance to deliver video on hls protocol . Is there a way in which i can use the already transcoded file to be delivered on HLS supporting multibitrate using wowza.
    can i use smil file containing information about the different bitrate file if yes, where to store those smil file and how to call them.

    i am successfully delivering single bitrate stored in s3 using wowza mediacache.

  2. #2
    Join Date
    Jun 2012
    Posts
    723

    Default

    Hi,

    If you are already using the MediaCache addon, you can place the smil file in the same location as your media files, and then use the smil: prefix to reference the smil file.
    The request should look something like this:
    http://[WowzaIP]:[port]/[applicationName]/[applicationInstance]/smil:mediacachesource/[smilFileName].smil/playlist.m3u8

    The smil file should look something like this:

    <smil>
    <head>
    </head>
    <body>
    <switch>
    <video src="mp4:sample_400.mp4" width="320" height="240" system-bitrate="528000"></video>
    <video src="mp4:sample_800.mp4" width="640" height="480" system-bitrate="928000"></video>
    </switch>
    </body>
    </smil>
    I hope this helps.

    Zoran
    Last edited by zoran_u; 08-02-2013 at 12:53 PM.

  3. #3
    Join Date
    Jul 2013
    Posts
    6

    Default

    followed the instruction but got the below error.

    ERROR server comment 2013-08-05 09:19:28 - - - - - 3.431 - - - - - - - - HTTPStreamerAdapterCupertinoStreamer.onPlaylist: java.lang.NullPointerException
    ERROR server comment 2013-08-05 09:19:28 - - - - - 3.702 - - - - - - - - HTTPStreamerAdapterCupertinoStreamer.onPlaylist: java.lang.NullPointerException
    java.lang.NullPointerException
    at com.wowza.wms.util.ModuleUtils.decodeStreamExtension(Unknown Source)
    at com.wowza.wms.httpstreamer.model.HTTPStreamerAdapterBase.resolveStreamName(Unknown Source)
    at com.wowza.wms.httpstreamer.cupertinostreaming.httpstreamer.HTTPStreamerAdapterCupertinoStreamer.onPl aylist(Unknown Source)
    at com.wowza.wms.httpstreamer.cupertinostreaming.httpstreamer.HTTPStreamerAdapterCupertinoStreamer.serv iceMsg(Unknown Source)
    at com.wowza.wms.httpstreamer.cupertinostreaming.httpstreamer.HTTPStreamerAdapterCupertinoStreamer.serv ice(Unknown Source)
    at com.wowza.wms.server.ServerHandler.a(Unknown Source)
    at com.wowza.wms.server.ServerHandler.a(Unknown Source)
    at com.wowza.wms.server.ServerHandler.messageReceived(Unknown Source)
    at com.wowza.wms.server.ServerHandlerThreaded.messageReceived(Unknown Source)
    at org.apache.mina.common.support.AbstractIoFilterChain$2.messageReceived(Unknown Source)
    at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Unknown Source)
    at org.apache.mina.common.support.AbstractIoFilterChain.access$900(Unknown Source)
    at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(Unknown Source)
    at org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(Unknown Source)
    at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(Unknown Source)
    at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Unknown Source)
    at org.apache.mina.common.support.AbstractIoFilterChain.access$900(Unknown Source)
    at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived(Unknown Source)
    at org.apache.mina.filter.executor.ExecutorFilter.processEvent(Unknown Source)
    at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:724)

    my smil content
    <smil>
    <head>
    </head>
    <body>
    <switch>
    <video src="mp4:amazons3/****s3bucket*****/testing/*********_256.mp4" system-bitrate="250000"/>
    <video src="mp4:amazons3/****s3bucket*****/testing/*********_512.mp4" system-bitrate="512000"/>
    <video src="mp4:amazons3/****s3bucket*****/testing/*********_728.mp4" system-bitrate="728000"/>
    </switch>
    </body>
    </smil>

    the content of m3u8 file when i hit the smil
    #EXTM3U
    #EXT-X-VERSION:3
    #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=250000
    chunklist_w787809996_b250000.m3u8
    #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=512000
    chunklist_w787809996_b512000.m3u8
    #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=728000
    chunklist_w787809996_b728000.m3u8

    The url i am accessing through wowza
    http://mywowza.server.com/vods3/smil.../playlist.m3u8

  4. #4
    Join Date
    Sep 2011
    Posts
    1,933

    Default

    Hi,
    I don't think you have a valid .smil file, it should only be the file name and the bitrate.
    If you download the .smil file found in the video on demand tutorial, download the content and move the content and .smil file to your storage area, does it work?
    Please fine the guide here,
    Video on demand tutorial

    The .smil file looks like this:

    <smil>
    <head>
    </head>
    <body>
    <switch>
    <video src="mp4:bigbuckbunny_450.mp4" system-bitrate="450000"/>
    <video src="mp4:bigbuckbunny_750.mp4" system-bitrate="750000"/>
    <video src="mp4:bigbuckbunny_1100.mp4" system-bitrate="1100000"/>
    <video src="mp4:bigbuckbunny_1500.mp4" system-bitrate="1500000"/>
    </switch>
    </body>
    </smil>
    You will need to download all of the content referenced in the .smil file and store both the content and .smil file in the same location for it to work correctly.

    For example I would have in my [Wowza-Install]/content directory:
    bigbuckbunny.smil
    bigbuckbunny_450.mp4
    bigbuckbunny_750.mp4
    bigbuckbunny_1100.mp4
    bigbuckbunny_1500.mp4

    Jason

  5. #5
    Join Date
    Jul 2013
    Posts
    6

    Default

    If i put the same videos & smil file in wowza content folder the delivery is working fine But if i place it in S3 storage its not working . i think media cache component does not recognize the smil content.

Similar Threads

  1. http(hls) streaming with smil file to refer 1 mp4 file ( multi-cahannels )
    By qstream in forum Video On Demand Streaming Discussion
    Replies: 4
    Last Post: 10-26-2013, 12:52 AM
  2. cannot play SMIL file in STB using ASX file
    By BKCPuttur in forum Server Administration Discussion
    Replies: 3
    Last Post: 12-06-2011, 07:09 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
  •