Dears,
we have a Wowza instance on AWS with mediacache add-on installed. I try to stream a mp4 file from S3 bucket but get the error
WARN server comment 2013-10-17 16:20:50 - - - - - 1951.662 - - - - - - - s3/s3-eu-west-1.amazonaws.com/wowzastreamingdemo/test.mp4 MediaReaderH264.open[1]: java.io.IOException: MediaCacheRandomAccessReader.open: Item not in cache: s3/s3-eu-west-1.amazonaws.com/wowzastreamingdemo/test.mp4
I have a bucket on s3 with this url: https://s3-eu-west-1.amazonaws.com/wowzastreamingdemo/test.mp4
and my MediaCache.xml file is this:
<MediaCacheSource>
<Name>http</Name>
<BasePath>https://</BasePath>
<Prefix>s3/</Prefix>
<BaseClass>com.wowza.wms.plugin.mediacache.impl.MediaCacheItemHTTPImpl</BaseClass>
<ReaderClass></ReaderClass>
<DefaultBlockSize>256K</DefaultBlockSize>
<MaxTimeToLive>1200000</MaxTimeToLive>
<MinTimeToLive>600000</MinTimeToLive>
<ReadAhead>true</ReadAhead>
<ReadAheadThreshold>50</ReadAheadThreshold>
<IsPassThru>false</IsPassThru>
<Properties>
<!-- maximum number of concurrent connections this source will make back to the web server -->
<Property>
<Name>maxPoolSize</Name>
<Value>25</Value>
<Type>Integer</Type>
</Property>
<!-- HTTP request timeout -->
<Property>
<Name>httpReadTimeout</Name>
<Value>6000</Value>
<Type>Integer</Type>
</Property>
<!-- HTTP connection timeout -->
<Property>
<Name>httpConnectionTimeout</Name>
<Value>6000</Value>
<Type>Integer</Type>
</Property>
<!-- HTTP read request retry count -->
<Property>
<Name>httpReadRetries</Name>
<Value>3</Value>
<Type>Integer</Type>
</Property>
<!-- Close socket connection if Content-Length incorrect on byte range request -->
<Property>
<Name>closeConnectOnBadContentLength</Name>
<Value>false</Value>
<Type>Boolean</Type>
</Property>
<!-- HTTP send buffer size -->
<Property>
<Name>httpSendBufferSize</Name>
<Value>8000</Value>
<Type>Integer</Type>
</Property>
<!-- HTTP receive buffer size -->
<Property>
<Name>httpReceiveBufferSize</Name>
<Value>65000</Value>
<Type>Integer</Type>
</Property>
<!-- Set to true if streaming from S3 so that bucket name is properly handled in URL structure -->
<Property>
<Name>isAmazonS3</Name>
<Value>true</Value>
<Type>Boolean</Type>
</Property>
<Property>
<Name>s3BucketNameInDomain</Name>
<Value>false</Value>
<Type>Boolean</Type>
</Property>
<!-- Uncomment and set properties if streaming from S3 authenticated -->
<!--
<Property>
<Name>awsAccessKeyId</Name>
<Value></Value>
</Property>
<Property>
<Name>awsSecretAccessKey</Name>
<Value></Value>
</Property>
-->
<!-- Uncomment and set these properties to send the request through a forward proxy server -->
<!--
<Property>
<Name>proxyHost</Name>
<Value></Value>
</Property>
<Property>
<Name>proxyPort</Name>
<Value></Value>
<Type>Integer</Type>
</Property>requestFullURL
<Property>
<Name>requestFullURL</Name>
<Value>true</Value>
<Type>Boolean</Type>
</Property>
-->
</Properties>
</MediaCacheSource>
The url for playout is this
Server: rtmp://[wowza-address]/mediacache
Stream: mp4:s3/wowzastreamingdemo/test.mp4