# MediaCache, Adaptive Streaming, AWS S3

**URL:** <https://community.wowza.com/t/mediacache-adaptive-streaming-aws-s3/34103>\
**Category:** Wowza Streaming Engine\
**Tags:** server-administration\
**Created:** [May 20, 2012, 12:48pm UTC](https://community.wowza.com/t/mediacache-adaptive-streaming-aws-s3/34103 "2012-05-20T12:48:45Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![Bernd\_Suenkel](https://avatars.discourse-cdn.com/v4/letter/b/b5e925/32.png) [@Bernd\_Suenkel](https://community.wowza.com/u/Bernd_Suenkel)\
**Post date:** [May 20, 2012, 12:48pm UTC](https://community.wowza.com/t/mediacache-adaptive-streaming-aws-s3/34103/1 "2012-05-20T12:48:45Z")

</div>

I’ve setup MediaCache on a dedicated linux box to stream vod content from Amazon S3 through Wozwa 3. Let’s say I have a S3 Bucket: [s3.example.com](http://s3.example.com) and MediaCacheSource configured with prefix “s3”:

http

[http://s3.example.com.s3.amazonaws.com/](http://s3.example.com.s3.amazonaws.com/)

s3/

and an application named “vod”.

Playing mp4 files stored in this bucket with Strobe Media Playback and other Flash players works fine. If I create the f4m manifest files manually, RTMP based Dynamic streaming works as expected as well.

Unfortunately I am having problems getting SMIL files stored on S3 to work. As I’ve read in other posts, it should be simple as putting the SMIL files in the same folder as the media files and point to them with a relative path.

So I have a sample SMIL file named test.smil and two mp4 files stored on S3, all in the same folder:

Now I am not sure how to reference the SMIL file, for example in Strobe Media Playback with SMIL\_PLUGIN activated:

- http://{streaming-server}:1935/vod/_definst_/smil:s3/test.smil/manifest.f4m

- http://{streaming-server}:1935/vod/_definst_/s3/test.smil/manifest.f4m

- http://{streaming-server}:1935/vod/smil:s3/test.smil/manifest.f4m

- http://{streaming-server}:1935/vod/s3/smil:test.smil/manifest.f4m

Neither one works. Same for m3u8 playlists. Depending on which URL I try, I get one of the following errors:

HTTPStreamerCupertinoIndexPlaylist.indexFile[vod/_definst_/smil:/test.smil]: MediaList is empty.

or

WARN server comment 2012-05-20 12:35:59 - - - - - 124.148 - - - - - - - - LiveMediaStreamReceiver.connect: failure

WARN server comment 2012-05-20 12:36:07 - - - - - 132.196 - - - - - - - - HTTPStreamerAdapterCupertinoStreamer.service: Request timeout: 8000

In first case, wowza responds with an empty media list. Seems like the \<media url…\> stuff is missing…

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

test.smil

video/mp4

live

streaming

Any hints? Could you please help me to investigate this problem? I’d be really happy to get this solved.

---

<div class="post-metadata">

**Author:** ![Richard\_Lanham](https://avatars.discourse-cdn.com/v4/letter/r/c68b51/32.png) [@Richard\_Lanham](https://community.wowza.com/u/Richard_Lanham)\
**Post date:** [May 20, 2012, 10:44pm UTC](https://community.wowza.com/t/mediacache-adaptive-streaming-aws-s3/34103/2 "2012-05-20T22:44:43Z")

</div>

Is the bucket or item have limiited ACL access? You have to add AWS keys to /conf/MediaCache.xml. Then restart. Or give change the bucket permission to Everyone = read

Richard

---

<div class="post-metadata">

**Author:** ![Richard\_Lanham](https://avatars.discourse-cdn.com/v4/letter/r/c68b51/32.png) [@Richard\_Lanham](https://community.wowza.com/u/Richard_Lanham)\
**Post date:** [May 21, 2012, 12:19am UTC](https://community.wowza.com/t/mediacache-adaptive-streaming-aws-s3/34103/3 "2012-05-21T00:19:11Z")

</div>

Hm, what is the smil plugin? I have not needed to use that to playback using a Wowza .smil file and the Flash Media Playback player. Just follow this guide:

> **[Players and playback](https://www.wowza.com/docs/media-players-and-devices)**
>
> Learn how to configure Wowza Streaming Engine to send streams to various players and devices for playback.

Note at bottom:

> Flash HTTP (Sanjose) Streaming
> 
> This player can also play Flash HTTP (Sanjose) streams. Check the box labeled "In the Flash Media Playback configurator, you have to check “Are you using HTTP Streaming or Flash Access 2.0?”. Then enter a URL like:
> 
> ```auto
> http://[wowza-ip-address]:1935/vod/smil:sample.smil/manifest.f4m
> 
> ```

The correct URL for you is:

```auto
http://{streaming-server}:1935/vod/_definst_/smil:s3/test.smil/manifest.f4m

```

Richard

---

<div class="post-metadata">

**Author:** ![Richard\_Lanham](https://avatars.discourse-cdn.com/v4/letter/r/c68b51/32.png) [@Richard\_Lanham](https://community.wowza.com/u/Richard_Lanham)\
**Post date:** [May 21, 2012, 1:15pm UTC](https://community.wowza.com/t/mediacache-adaptive-streaming-aws-s3/34103/4 "2012-05-21T13:15:49Z")

</div>

Great! Thanks for the update

Richard

---

<div class="post-metadata">

**Author:** ![Richard\_Lanham](https://avatars.discourse-cdn.com/v4/letter/r/c68b51/32.png) [@Richard\_Lanham](https://community.wowza.com/u/Richard_Lanham)\
**Post date:** [April 4, 2013, 12:33pm UTC](https://community.wowza.com/t/mediacache-adaptive-streaming-aws-s3/34103/5 "2013-04-04T12:33:11Z")

</div>

Are you using “smil:” prefix? Show the names ou are using for the smil and for one of the working .mp4 files

Richard

---

<div class="post-metadata">

**Author:** ![Richard\_Lanham](https://avatars.discourse-cdn.com/v4/letter/r/c68b51/32.png) [@Richard\_Lanham](https://community.wowza.com/u/Richard_Lanham)\
**Post date:** [August 1, 2013, 11:09am UTC](https://community.wowza.com/t/mediacache-adaptive-streaming-aws-s3/34103/6 "2013-08-01T11:09:44Z")

</div>

What is the issue? The smil file is stored on S3 along-side the vod files that it references. The smil itself will be unchanged. You will playback the smil with smil: prefix and the same amazons3 prefix as single file. Like this:

```auto
http://[wowza-ec2-address]:1935/vods3/smil:amazons3/sample.smil/manifest.f4m

```

Richard

---

<div class="post-metadata">

**Author:** ![Richard\_Lanham](https://avatars.discourse-cdn.com/v4/letter/r/c68b51/32.png) [@Richard\_Lanham](https://community.wowza.com/u/Richard_Lanham)\
**Post date:** [August 8, 2013, 9:03am UTC](https://community.wowza.com/t/mediacache-adaptive-streaming-aws-s3/34103/7 "2013-08-08T09:03:33Z")

</div>

Are you using the “vods3” application that is included in default Wowza EC2 AMIs? You have to use that or another application that is configured for MediaCache.

Re-start Wowza and test what you are doing. Then zip up /conf and current access log showing the re-start and test to support@wowza.com

Richard

---

<div class="post-metadata">

**Author:** ![Bernd\_Suenkel](https://avatars.discourse-cdn.com/v4/letter/b/b5e925/32.png) [@Bernd\_Suenkel](https://community.wowza.com/u/Bernd_Suenkel)\
**Post date:** [May 21, 2012, 12:59am UTC](https://community.wowza.com/t/mediacache-adaptive-streaming-aws-s3/34103/8 "2012-05-21T00:59:27Z")

</div>

> Is the bucket or item have limiited ACL access? You have to add AWS keys to /conf/MediaCache.xml. Then restart. Or give change the bucket permission to Everyone = read
> 
> Richard

Thanks, Richard. All items in bucket are public. AWS Keys are set correctly. Streaming video files from S3 through Media Cache is working. Just having issues working with SMIL files. It works if I create the f4m manifest files from within my web app. I can live with that for RTMP dynamic streaming… In order to avoid additional encoding jobs I’d really like to use Wowza for adaptive streaming on mobile devices (m3u8) as well.

---

<div class="post-metadata">

**Author:** ![Bernd\_Suenkel](https://avatars.discourse-cdn.com/v4/letter/b/b5e925/32.png) [@Bernd\_Suenkel](https://community.wowza.com/u/Bernd_Suenkel)\
**Post date:** [May 21, 2012, 11:25am UTC](https://community.wowza.com/t/mediacache-adaptive-streaming-aws-s3/34103/9 "2012-05-21T11:25:43Z")

</div>

Thanks again for your advice, Richard. Actually I haven’t investigated the source for the smil plugin, yet: [http://sourceforge.net/apps/mediawiki/osmf.adobe/index.php?title=SMIL\_Support](http://sourceforge.net/apps/mediawiki/osmf.adobe/index.php?title=SMIL_Support)

Unfortunately, I am still having no luck. Wowza responds with an empty media list. I’ll further investigate my setup on another freshly installed self-hosted linux box plus an EC2 instance.

**Update**

Well, everything works fine on an EC2 instance. No smill\_plugin needed for Strobe Media Playback. Works on my dedicated linux boxes as well: Just copied the Application.xml and MediaCache.xml settings from EC2 and tweaked according to my needs. Seems like I made a mistake while setting up MediaCache in the first step. Just wondering why it worked for mp4 files but not smill…

Thank you very much for your patience and fast support!

---

<div class="post-metadata">

**Author:** ![Matt\_Bodman](https://avatars.discourse-cdn.com/v4/letter/m/6bbea6/32.png) [@Matt\_Bodman](https://community.wowza.com/u/Matt_Bodman)\
**Post date:** [April 4, 2013, 4:57pm UTC](https://community.wowza.com/t/mediacache-adaptive-streaming-aws-s3/34103/10 "2013-04-04T16:57:21Z")

</div>

I am having a similar issue. I have successfully streamed from ec2/s3 using the default vods3 application. Now I am trying to use a smil file for HLS, however the server error log says:

```auto
WARN	server	comment	2013-04-04	06:43:04	-	-	-	-	-	25.363	-	-	-	-	-	-	-	-	MediaCacheItemHTTPImpl.getItemInfo[our-vod.s3.amazonaws.com/stream.smil]: HTTP response: 307
WARN	server	comment	2013-04-04	06:43:04	-	-	-	-	-	25.364	-	-	-	-	-	-	-	-	MediaCacheItemBase.init: Item does not exist: amazons3/our-vod/stream.smil
WARN	server	comment	2013-04-04	06:43:04	-	-	-	-	-	25.364	-	-	-	-	-	-	-	amazons3/our-vod/stream.smiopen: java.io.IOException: MediaCacheRandomAccessReader.open: Item not in cache: amazons3/our-vod/stream.smil
WARN	server	comment	2013-04-04	06:43:04	-	-	-	-	-	25.365	-	-	-	-	-	-	-	-	HTTPStreamerCupertinoIndexPlaylist.indexFile[vods3/_definst_/smil:amazons3/our-vod/stream.smil]: MediaList is empty.

```

Yes, I have quadruple-checked the permissions for the bucket and the smil file and its all public. What else could it be?

The smil file lives in a bucket called ‘our-vod’. Along side the smil file in the ‘our-vod’ bucket are 3 folders: ‘1mb’, ‘700kb’, ‘300kb’. This is what the smil looks like:

[HTML]

[/HTML]

Any help would be appreciated. Thanks in advance.

---

<div class="post-metadata">

**Author:** ![Matt\_Bodman](https://avatars.discourse-cdn.com/v4/letter/m/6bbea6/32.png) [@Matt\_Bodman](https://community.wowza.com/u/Matt_Bodman)\
**Post date:** [April 5, 2013, 9:26am UTC](https://community.wowza.com/t/mediacache-adaptive-streaming-aws-s3/34103/11 "2013-04-05T09:26:54Z")

</div>

Is this what you mean?

The smil file is called ‘stream.smil’ and is publicly accessable here: [https://s3-ap-southeast-2.amazonaws.com/our-vod/stream.smil](https://s3-ap-southeast-2.amazonaws.com/our-vod/stream.smil)

The video file is called ‘AU064593-M.mp4’ and there is a copy (encoded accordingly) in each of the folders ‘1mb’, ‘700kb’, ‘300kb’.

Here is one of the video files publicly accessible: [https://s3-ap-southeast-2.amazonaws.com/our-vod/700kb/AU064593-M.mp4](https://s3-ap-southeast-2.amazonaws.com/our-vod/700kb/AU064593-M.mp4)

This is the link construction:

[http://ec2-54-252-81-153.ap-southeast-2.compute.amazonaws.com:1935/vods3/_definst_/smil:amazons3/our-vod/stream.smil/playlist.m3u8](http://ec2-54-252-81-153.ap-southeast-2.compute.amazonaws.com:1935/vods3/_definst_/smil:amazons3/our-vod/stream.smil/playlist.m3u8)

---

<div class="post-metadata">

**Author:** ![Matt\_Bodman](https://avatars.discourse-cdn.com/v4/letter/m/6bbea6/32.png) [@Matt\_Bodman](https://community.wowza.com/u/Matt_Bodman)\
**Post date:** [April 6, 2013, 6:45am UTC](https://community.wowza.com/t/mediacache-adaptive-streaming-aws-s3/34103/12 "2013-04-06T06:45:06Z")

</div>

Aah ok, so I’m not going crazy. The problem is that Amazon are using a redirect in my bucket, which MediaCache doesn’t like?

---

<div class="post-metadata">

**Author:** ![Andrew\_Kennedy1](https://avatars.discourse-cdn.com/v4/letter/a/278dde/32.png) [@Andrew\_Kennedy1](https://community.wowza.com/u/Andrew_Kennedy1)\
**Post date:** [April 5, 2013, 8:08am UTC](https://community.wowza.com/t/mediacache-adaptive-streaming-aws-s3/34103/13 "2013-04-05T08:08:21Z")

</div>

The problem is the bucket is responding with a 307

WARN server comment 2013-04-04 06:43:04 - - - - - 25.363 - - - - - - - - MediaCacheItemHTTPImpl.getItemInfo[[our-vod.s3.amazonaws.com/stream.smil](http://our-vod.s3.amazonaws.com/stream.smil)]: HTTP response: 307

and this will not work with MediaCache.

Andrew.

---

<div class="post-metadata">

**Author:** ![Tarun\_Sood](https://avatars.discourse-cdn.com/v4/letter/t/97f17d/32.png) [@Tarun\_Sood](https://community.wowza.com/u/Tarun_Sood)\
**Post date:** [August 1, 2013, 11:12am UTC](https://community.wowza.com/t/mediacache-adaptive-streaming-aws-s3/34103/14 "2013-08-01T11:12:22Z")

</div>

Phaex i am currently hosting my video transcoded in 3 diffrent bitrates and mp4 format stored in s3 . can you please help in providing the detail how you were able to call smil file from s3 storage for HLS delivery . i am using ec2 instance running wowza application. For single bitrate delivery there is no issue and media cache works fine but for multibitrate delivery using HLS protocol i am facing the issue .

---

<div class="post-metadata">

**Author:** ![Tarun\_Sood](https://avatars.discourse-cdn.com/v4/letter/t/97f17d/32.png) [@Tarun\_Sood](https://community.wowza.com/u/Tarun_Sood)\
**Post date:** [August 8, 2013, 11:09am UTC](https://community.wowza.com/t/mediacache-adaptive-streaming-aws-s3/34103/15 "2013-08-08T11:09:33Z")

</div>

i did the same but the video is not getting played. where as if i put the files in wowza content folder it works fine . there seems to be some issue with smil file reference on s3 storage which media cache is not able to fetch properly
