# S3FS Fuse-based file system

**URL:** <https://community.wowza.com/t/s3fs-fuse-based-file-system/235>\
**Category:** Wowza Streaming Engine\
**Created:** [August 4, 2009, 6:46pm UTC](https://community.wowza.com/t/s3fs-fuse-based-file-system/235 "2009-08-04T18:46:11Z")\
**Posts on this page:** 20\
**Page:** 2

<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 19, 2010, 8:19pm UTC](https://community.wowza.com/t/s3fs-fuse-based-file-system/235/21 "2010-08-19T20:19:44Z")

</div>

These will work in the fileMoverDestinationPath Property. If you the mount location was at one of those locations it might be useful.

fileMoverDestinationPath

${com.wowza.wms.context.VHostConfigHome}/mnt/s3

This would assume you mounted your S3FS bucket here:

/usr/local/WowzaMediaServer/mnt

It’s not that helpful for you really, I don’t think.

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 19, 2010, 9:53pm UTC](https://community.wowza.com/t/s3fs-fuse-based-file-system/235/22 "2010-08-19T21:53:24Z")

</div>

Don’t create folders inside the s3 mount with linux commands. If you want “subfolders”, create sub-buckets in S3 organizer or similar tool.

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:** [February 23, 2011, 5:18pm UTC](https://community.wowza.com/t/s3fs-fuse-based-file-system/235/23 "2011-02-23T17:18:30Z")

</div>

In Liverepeater (origin/edge), the actual stream name that an edge restreams from an origin is something like:

```auto
rtmp://[wowza-address]:1935/liveorigin/_defint_/video_0.flv

```

Some characters are replace, but otherwise, it is being saved by its name. You can use this built-in module and properties to change the name:

[https://www.wowza.com/docs/how-to-use-imediawriteractionnotify-to-programmatically-move-and-rename-recordings-of-live-streams](https://www.wowza.com/docs/how-to-use-imediawriteractionnotify-to-programmatically-move-and-rename-recordings-of-live-streams)

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:** [February 24, 2011, 5:56pm UTC](https://community.wowza.com/t/s3fs-fuse-based-file-system/235/24 "2011-02-24T17:56:18Z")

</div>

You will have to build the ModuleWriteListener example at the top of the post instead of using the built-in module, and add code to rename and copy in the onWriteComplete handler

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:** [February 28, 2011, 7:20pm UTC](https://community.wowza.com/t/s3fs-fuse-based-file-system/235/25 "2011-02-28T19:20:44Z")

</div>

Sorry, yes [this post](https://www.wowza.com/docs/how-to-use-imediawriteractionnotify-to-programmatically-move-and-rename-recordings-of-live-streams)

When using these examples, make sure the name of file matches the name of the module, and adjust the package path, the line at top, as necessary.

So, for ModuleWriteListener, the file name must be ModuleWriteListener.Java

Trick: You can select the text of the example, copy, then click on a package in the ide, right click and paste, and the module will be created with package path adjusted automatically.

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:** [November 30, 2011, 10:58pm UTC](https://community.wowza.com/t/s3fs-fuse-based-file-system/235/26 "2011-11-30T22:58:57Z")

</div>

Yes, that is recommended if you want content on S3. You can copy not move, so it could be played back locally. It won’t be available as vod from local storage until after recording is complete, and it won’t be available to MediaCache edge servers until it finishes being copied to s3 bucket (using s3fs).

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:** [November 30, 2011, 11:08pm UTC](https://community.wowza.com/t/s3fs-fuse-based-file-system/235/27 "2011-11-30T23:08:29Z")

</div>

Use Liverepeater (orgin/edge) and the Wowza Load Balancer for live streams

[https://www.wowza.com/docs/how-to-configure-a-live-stream-repeater](https://www.wowza.com/docs/how-to-configure-a-live-stream-repeater)

[https://www.wowza.com/docs/how-to-get-dynamic-load-balancing-addon](https://www.wowza.com/docs/how-to-get-dynamic-load-balancing-addon)

Use MediaCache and the Wowza Load Balancer for vod

[https://www.wowza.com/docs/how-to-scale-video-on-demand-streaming-with-media-cache](https://www.wowza.com/docs/how-to-scale-video-on-demand-streaming-with-media-cache)

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:** [December 1, 2011, 1:57pm UTC](https://community.wowza.com/t/s3fs-fuse-based-file-system/235/28 "2011-12-01T13:57:49Z")

</div>

You can use nDVR addon on live streams from edge servers.

MediaCache caches to disk, but in chunks that you would not recognize. There is more details and documentation in the package.

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 24, 2012, 11:54am UTC](https://community.wowza.com/t/s3fs-fuse-based-file-system/235/29 "2012-05-24T11:54:02Z")

</div>

I don’t think this is useful for your purpose. I answered another post from you about streaming from Android. See if that helps

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 17, 2012, 11:42am UTC](https://community.wowza.com/t/s3fs-fuse-based-file-system/235/30 "2012-08-17T11:42:38Z")

</div>

Please explain in more detail. What version of Wowza are you using?

Richard

---

<div class="post-metadata">

**Author:** ![Rick\_Hurst](https://avatars.discourse-cdn.com/v4/letter/r/ecc23a/32.png) [@Rick\_Hurst](https://community.wowza.com/u/Rick_Hurst)\
**Post date:** [February 11, 2010, 9:10pm UTC](https://community.wowza.com/t/s3fs-fuse-based-file-system/235/31 "2010-02-11T21:10:51Z")

</div>

I understand the issue with s3. However if you have mounted a ebs does the same thing apply.

I want to avoid writing to an instance if possible.

Ie can I record to ebs then transfer the recorded file to s3?

---

<div class="post-metadata">

**Author:** ![Ian\_Beyer](https://avatars.discourse-cdn.com/v4/letter/i/e99b99/32.png) [@Ian\_Beyer](https://community.wowza.com/u/Ian_Beyer)\
**Post date:** [December 1, 2011, 8:35pm UTC](https://community.wowza.com/t/s3fs-fuse-based-file-system/235/32 "2011-12-01T20:35:51Z")

</div>

Streaming anything directly off S3 is not recommended for performance reasons. Better to use vods3/mediacache.

---

<div class="post-metadata">

**Author:** ![Sebastien\_Faure](https://avatars.discourse-cdn.com/v4/letter/s/9f8e36/32.png) [@Sebastien\_Faure](https://community.wowza.com/u/Sebastien_Faure)\
**Post date:** [March 5, 2010, 1:25pm UTC](https://community.wowza.com/t/s3fs-fuse-based-file-system/235/33 "2010-03-05T13:25:53Z")

</div>

> The “ls” command don’t show any result, any suggestion?

In my case, ls command hangs PuTTY terminal ☹

s3fs command seems to work but after that, I just can’t do anything with mounted bucket …

mkdir test output :

> drwxr-xr-x 2 root root 4096 Mar 5 09:45 test

After s3fs command :

> drwxr-xr-x 1 root root 0 Dec 31 1969 test

I tried both ami-47bc9733 and ami-41bc9735, keys are ok, bucket exists at root, s3cmd works correctly, don’t know what’s going on …

---

<div class="post-metadata">

**Author:** ![Sebastien\_Faure](https://avatars.discourse-cdn.com/v4/letter/s/9f8e36/32.png) [@Sebastien\_Faure](https://community.wowza.com/u/Sebastien_Faure)\
**Post date:** [March 9, 2010, 11:52am UTC](https://community.wowza.com/t/s3fs-fuse-based-file-system/235/34 "2010-03-09T11:52:44Z")

</div>

Still not working here. European S3 and EC2.

I’ve installed s3cmd and everything is ok with my buckets …

---

<div class="post-metadata">

**Author:** ![Sebastien\_Faure](https://avatars.discourse-cdn.com/v4/letter/s/9f8e36/32.png) [@Sebastien\_Faure](https://community.wowza.com/u/Sebastien_Faure)\
**Post date:** [March 9, 2010, 2:13pm UTC](https://community.wowza.com/t/s3fs-fuse-based-file-system/235/35 "2010-03-09T14:13:53Z")

</div>

Actually it works with US bucket and EU ami.

I created a US bucket from scratch, set ACL, no distribution. s3fs works, I can ls dir and copy to.

I created a EU bucket from scratch, set ACL, no distribution. s3fs works, ls, copy, etc. fails and PuTTY gets stuck …

Any fix possible ?

---

<div class="post-metadata">

**Author:** ![Sebastien\_Faure](https://avatars.discourse-cdn.com/v4/letter/s/9f8e36/32.png) [@Sebastien\_Faure](https://community.wowza.com/u/Sebastien_Faure)\
**Post date:** [March 9, 2010, 2:57pm UTC](https://community.wowza.com/t/s3fs-fuse-based-file-system/235/36 "2010-03-09T14:57:11Z")

</div>

No EU bucket support : [http://code.google.com/p/s3fs/issues/detail?id=32](http://code.google.com/p/s3fs/issues/detail?id=32).

Patch available : [http://github.com/tractis/s3fs-fork](http://github.com/tractis/s3fs-fork)

Fixes : It changes the way urls are used passing from [http://s3.amazonaws.com/bucket](http://s3.amazonaws.com/bucket) to [http://bucket.s3.amazonaws.com](http://bucket.s3.amazonaws.com).

No comment …

---

<div class="post-metadata">

**Author:** ![Sebastien\_Faure](https://avatars.discourse-cdn.com/v4/letter/s/9f8e36/32.png) [@Sebastien\_Faure](https://community.wowza.com/u/Sebastien_Faure)\
**Post date:** [March 12, 2010, 4:36pm UTC](https://community.wowza.com/t/s3fs-fuse-based-file-system/235/37 "2010-03-12T16:36:38Z")

</div>

About ModuleMediaWriterFileMover : it works great but moving file is so slow and then WMS is blocked in module.

I’m moving record from EC2 EU to S3 US. Could it explain why it’s so long ?

I’d like to ask if you could change module to externalize file transfer but the answer will certainly be DIY 😉

---

<div class="post-metadata">

**Author:** ![Sebastien\_Faure](https://avatars.discourse-cdn.com/v4/letter/s/9f8e36/32.png) [@Sebastien\_Faure](https://community.wowza.com/u/Sebastien_Faure)\
**Post date:** [March 12, 2010, 6:25pm UTC](https://community.wowza.com/t/s3fs-fuse-based-file-system/235/38 "2010-03-12T18:25:16Z")

</div>

Thank you …

---

<div class="post-metadata">

**Author:** ![Stephane\_Legay](https://avatars.discourse-cdn.com/v4/letter/s/c6cbf5/32.png) [@Stephane\_Legay](https://community.wowza.com/u/Stephane_Legay)\
**Post date:** [January 19, 2010, 9:03pm UTC](https://community.wowza.com/t/s3fs-fuse-based-file-system/235/39 "2010-01-19T21:03:59Z")

</div>

For the record, recording directly to S3 using S3FS is a very bad idea. Wowza re-opens the recording file for writing for every streamed chunk. Since S3 does not support appending bytes to existing object, S3FS re-sends the entire file contents every time a chunk is recorded.

The longer your recording is, the more data will need to be sent for each chunk. For recordings longer than a minute you’ll start experiencing a delay when closing the stream. For a 20 minute recording that delay will be 5+ minutes. Your private network bandwidth will be maxed out.

A better approach is to simply record to local disk and transfer to the S3 mount once the recording is finished. From my experience, EC2 to S3 bandwidth (for writes) is about 60 Mbps (around 7 MB / sec) on a small instance.

---

<div class="post-metadata">

**Author:** ![Alejandro\_Ferrari](https://avatars.discourse-cdn.com/v4/letter/a/d6d6ee/32.png) [@Alejandro\_Ferrari](https://community.wowza.com/u/Alejandro_Ferrari)\
**Post date:** [February 16, 2010, 12:35am UTC](https://community.wowza.com/t/s3fs-fuse-based-file-system/235/40 "2010-02-16T00:35:04Z")

</div>

Hi Richard,

After mount the s3fs all is working well except the “ls” linux command.

I can read/write/delete/create any file, and list this after with S3Fox extension but inside the wowza server I don’t see the files.

The “ls” command don’t show any result, any suggestion?

What version of S3FS is p recompiled in the last EC2 image?

Thanks,

Ale

[Previous page](https://community.wowza.com/t/s3fs-fuse-based-file-system/235.md?page=1)

[Next page](https://community.wowza.com/t/s3fs-fuse-based-file-system/235.md?page=3)
