Skip to main content
October 30, 2009
Question

FMS 3.5 DVR question

  • October 30, 2009
  • 1 reply
  • 962 views

Hello!

I have question about DVR functionality.

Anyone knows how to constantly record last 10 minutes of live video.

If i use stream.record()  I rewrite existing file,

or if I use stream.record("append") video is added to file, but I want to have fixed 10 minutes of playback

So I want to have something like 10 minutes long buffer, but in stored file on disk.  (like they use it in surveillance systems )

Thanks,

Dejan

    This topic has been closed for replies.

    1 reply

    November 11, 2009

    Hi,

    You would like to record the livestream into multiple clips of 10min duration as long as the livestream is available.

    Do let me know if I got your question right?

    If that's the case, you would have to handle that logic in Server-Side actionscript, When the livestream is available you create a new stream and start recording and at the same time start a timer to trigger a stop record (Stream.record(false)) when 10mins are up and then start the record on another new Stream. So on and so forth..

    Regards

    Mamata

    November 11, 2009

    Hello!

    At the end I've already created something like you said. Server - side script based on intervals, which records to first file for 10 minutes, and than starts to record to second file...

    This issue is partly solved, becouse I guess there is no class that could support something between append in file and rewriting the file. (Like - constant length of video and rewriting from beginning without deleting all data).

    Thank you for your help,

    Dejan

    November 11, 2009

    There is no class or API which allows the specific function as you mentioned. But there is one other way which may be helpful. There are settings in Application.xml:

    <Recording>
                <!-- The default maximum size (in KB) of a recorded file.    -->
                <!-- recording completely. -1 means that no maximum size is to be enforced. Default is -1. -->
                <MaxSize>-1</MaxSize>
                <!-- Sets a cap on the maximum size (in KB) of a recorded file.        -->
                <!-- Values set using the MaxSize field or SSAS will not be allowed to exceed this value.-->
                <!-- 0 disables recording completely. -1 means that no size cap is to be enforced. -->
                <!-- Default is -1. -->
                <MaxSizeCap>-1</MaxSizeCap>
                <!-- The default maximum duration (in seconds) of a recorded file.          -->
                <!-- 0 disables recording completely. -1 means that no maximum duration is to be enforced. -->
                <!-- Default is -1. -->
                <MaxDuration>-1</MaxDuration>
                <!-- Sets a cap on the maximum duration (in seconds) of a recorded file.    -->
                <!-- Values set using the MaxDuration field or SSAS will not be allowed to exceed this value.-->
                <!-- 0 disables recording completely. -1 means that no size cap is to be enforced. -->
                <!-- Default is -1. -->
    <MaxDurationCap>-1</MaxDurationCap>

    Or you could alternatively use the Stream.record("record",<MaxDuration>,<MaxSize>)

    With this you could set the recording duration limit to 600secs(10mins) and when that limit reaches you would get "NetStream.Record.DiskQuotaExceeded" status when you can reintiate the Stream.record( ) with MaxDuration set to 600secs. This might make the logic lot more simpler.

    Thanks

    Mamata