Wowza Community

Auto record live stream

Hello,

I need to to develop following scenario:

  • there is wowza media engine on server

  • some client connects to server and starts live transmission from his camera, connected to pc

  • live stream is available to watch at website

  • most important: every time when live stream starts, it should be silently and automatically recorded on server. So - wowza should detect when live stream starts, automatically start recording and then, automatically stop recording when live stream ends.

I got all of above funcionalities quite eaisly. But I have some problems with setup auto recording. So - what is the easiest way to perform auto recording like there is described above? I already checked your tutorials, but they don’t describe anything related to autorecord like this.

I would preffer some ready to serve solution (even if it will be paid), but if it doesn’t exist, please describe how to implement this. Is this possible to use nDVR addon for this? As I can see, it can auto record any live stream, but I’m not sure if recorded files can be archived as files available to play as vod later?

Thanks.

Hi,

You can configure your application to automatically record all incoming streams. You will need to edit your application’s Application.xml file and use the following STreamType in the /Root/Application/Streams/ block.

<StreamType>live-record</StreamType>

Zoran

In the encoder, you can add flv: prefix to the stream name and Wowza will record to .flv file. So stream named “flv:myStream” will be recorded to a file named “myStream.flv”

You can change the recording location in the manager Application screen, “Streaming File Directory”.

There is not a configurable way to change naming conventions of recordings using StreamType live-record, but you can alter the file name of the recording programatically when it is done recording using IMediaWriterActionNotify

The HTTP Live stream record features have more options for how to record and name files.

Richard

The DVR feature in FMLE will not work in Wowza as Zoran said. For DVR playback using Wowza you have to use the nDVR addon.

You can do ABR streaming with FMLE by setting 2 or more bitrate versions, then using % wildcard in the stream name: myStream% will create myStream1 and myStream2 if you have two bitrate settings.

The best way to do ABR streaming is with a single higher quality stream on the encoder side, then using the Wowza Transcoder to make ABR renditions, which will have the key frame alignment that is required.

Richard

Hi,

The URL above, mentioned by Zoran, has a section that describes how to record using a URL, so this might be the sort of recording tool that you are looking for. This could be integrated easily with other applications.

Daren

Hi,

In your Application.xml file, please add the following property in the /Root/Applications/Streams/Properties/ section:

<Property>
     <Name>appendFile</Name>
     <Value>true</Value>
     <Type>Boolean</Type>
</Property>

Don’t forget to restart your application after making the changes to the Application.xml file.

Zoran

Hi,

The record option in FMLE is fpr recording the live capture locally on the computer running the encoder.

You can use on-demand recording on Wowza server side by following the instructions from the How to record live streams (Wowza Streaming Engine) forum article.

Zoran

Yes, you are right. That particular option is sending a command to the streaming server, which is not implemented by Wowza.

 WARN    200     -       Missing function: DVRSetStreamInfo

All the additional tools that are provided by a Wowza installation are found in the examples/ folder and also some are available on the forum. These are just examples (not production ready tools) of what can be achieved/built using Wowza APIs.

You could implement the desired functionality by creating a custom Wowza module using the existing APIs.

Zoran

Hello,

I assume it’s the same as "Record all incoming streams " option in application configuration available via browser. I enabled this and there are mp4 files created in content directory. However, all of them are empty. What’s wrong?

[edit]

Ok, I know what’s the problem. I have set vp6 as video codec and mp4 conatiner doesn’t support it. But I have some other questions:

  • can set different container or only mp4 is supported?

  • can I change output directory and file naming convention?

Hello,

Thanks for response, now everything is clear.

I have one more question. Can I setup file append somehow? End user want to pause live streaming and resume it again. All of this should be recorded to single file? How to do this?

Hello,

Thanks for response. So - another question :slight_smile: Our client preffers to use desktop application to send live stream to server. Currently we recommend him to use Flash Media Encoder, because it’s easy to use and it supports multi bitrate sending (for adaptive bitrate). It also has recording function (there is Record button).

However, it doesn’t even seem to work. When I press this button, nothing is recorded on Wowza. Our client preffer to have on demand recording with append and pause possibility but without stopping streaming (only pause recording). Flash Media Encoder seems to have this functionality, but it doesn’t work with Wowza, can we reconfigure Wowza to make it working?

If not, what software for sending live stream and record as mentioned above can you recommend? Our requirements:

  • support for multi bitrate stream sending (for adaptive bitrate on server)

  • support for recording on demand (start/stop recordinq with/without file append)

I checked your flash examples (recording) but they are not production ready and they even don’t have support for multi bitrate streams. Can you recommend any software suitable to our needs? Thanks.

Hi,

Hi,

The record option in FMLE is fpr recording the live capture locally on the computer running the encoder.

Zoran

It’s not true, I mean dvr record butoon located at bottom of windows, as shown here: http://imgur.com/HnB891S - it actually sends to server command that should tell serwer to start recording. However, Wowza seems to ignore it?

You can use on-demand recording on Wowza server side by following the instructions from the How to record live streams (Wowza Streaming Engine) forum article.

Yes, I know but I rather looking somenthing with functionality the same as Flash Media Encoder (most important are multi bitrate streams) + integrated on demand recording possibility. Actually, I’m looking for tool, not API that I can use to develop such tool. Do you provide any production ready apps to stream to Wowza with recording? Or, maybe it’s possible to use Flash Media Encoder and its dvr record functionality?

Hi,

Are there any production ready tools, similar to Flash Media Encoder that I can use, with wowza recording support?

Hello,

I set up multi bitrate via siml file. There are 3 streams, sent from Flash Media Encoder - for example: myStream1, myStrem2 and myStream3. Live dynamic bitrate with FlowPlayer seems to work ok. But how to record that 3 streams simultaneously to get all recorded files available later as vod with dynamic bitrate?

I can only see possibility to make recording for each stream separately and it’s not that I want to. End user should not even see my transmission as 3 separate streams in web recording panel - instead, I need to provide single switch to invoke recording 3 strams simultaneously. Is this possible?