Wowza Community

Moving files after recording

I’m trying to use this guide https://www.wowza.com/docs/how-to-move-recordings-from-live-streams to set up automatic moving of recorded files. Here’s the setup I have:

  • Wowza GoCoder encoder on my iPhone (I know this works as I can watch the stream on my test players)

  • Wowza server running on Windows 7.

  • nDVR AddOn with the following path as my storage directory:

${com.wowza.wms.context.VHostConfigHome}/dvr

I know this works because I can see new data being written to this directory as I stream from my phone.

  • I have set up my Application.xml file according to the instructions in the guide, with my fileMoverDestinationPath as ${com.wowza.wms.context.VHostConfigHome}/acopy.

  • I restart the application after making modifications to the XML file.

After streaming for a while and stopping the stream, no data ever gets written to my acopy directory. What am I doing wrong?

Hi,

As far as I’m aware, the ModuleMediaWriterFileMover will not move recordings created by the nDVR AddOn as they are needed and can be viewed while recording is still ongoing.

The above Module is for moving FLV or MP4 files from the content directory to another location when completed.

This would be used with a StreamType of “live-record” which is what happens when selecting “Options > Record all incoming streams” in the application when editing with Wowza Steaming Engine Manager (WSEM).

Alternatively you can record using the stream recorder in Wowza Streaming Engine.

Jason

Hi,

That’s great news, thanks for the update.

Yes you can use the ModuleMediaWriterFileMover to move files recorded on the EC2 server which is recording the streams to the S3 bucket as this will be viable as a mounted drive.

Jason

Hi,

I’m glad you managed to figure out how to move content to S3 without using an EC2 instance and I apologies for misreading the question.

If you use Wowza as a HTTP origin you can have a web-server cache the chunks created by Wowza. Perhaps HTTP origin mode is something you could use as the chunks will be session-less.

If you use a web browser, you can get the playlist, chunklist and then chunks while they are available if it’s a live stream.

Jason

Thanks! Turning off nDVR and turning on “Record all incoming streams” instead worked.

Now I’d like to know if I can move the files from my local machine to S3. Is this possible? I know I can use S3FS with an EC2 instance of Wowza to mount an S3 destination on the EC2 filesystem, but is there a way to move things to S3 without using EC2? I tried the obvious thing of just specifying the URL of my S3 folder (which is public read/write) as fileMoverDestinationPath, but that didn’t work.

My question was about how to upload data to S3 without using an EC2 instance. I was actually able to get this working by writing a module that triggers on the onWriteComplete event and then uses the AWS API to upload the file to S3 (no EC2 involved).

My next question is:

Is there a way to get notified when each individual HLS segment of a stream is available, and then upload it somewhere (e.g. S3)? We need a way to do this that doesn’t have to wait for the stream/recording to be complete. I understand S3 doesn’t allow appending bytes to an existing file, so we’d have to get each segment as its own file somehow.