Page 1 of 2 12 LastLast
Results 1 to 10 of 12

Thread: Strream recorder is versioning files despite being set to 'append' mode

  1. #1

    Default Strream recorder is versioning files despite being set to 'append' mode

    Hi all.

    I'm having a problem recording a live stream. I want the recorder to append rather than version files when a new stream is received. Despite setting the 'streamRecorderVersioningOption' to 'append' this doesn't seem to work.

    This is is my application XML:

    <?xml version="1.0" encoding="UTF-8"?>
    <Root version="1">
    	<Application>
    		<Name>liverecord</Name>
    		<AppType>Live</AppType>
    		<Description></Description>
    		<Connections>
    			<AutoAccept>true</AutoAccept>
    			<AllowDomains></AllowDomains>
    		</Connections>
    		<Streams>
    			<StreamType>live-record</StreamType>
    			<StorageDir>${com.wowza.wms.AppHome}/applications/liverecord</StorageDir>
    			<LiveStreamPacketizers></LiveStreamPacketizers>
    		</Streams>
    		<Transcoder>
    			<!-- To turn on transcoder set to: transcoder -->
    			<LiveStreamTranscoder>transcoder</LiveStreamTranscoder>
    			<!-- [templatename].xml or ${SourceStreamName}.xml -->
    			<Templates>audioonly.xml</Templates>
    			<ProfileDir>${com.wowza.wms.context.VHostConfigHome}/transcoder/profiles</ProfileDir>
    			<TemplateDir>${com.wowza.wms.context.VHostConfigHome}/transcoder/templates</TemplateDir>
    			<Properties>
    			</Properties>
    		</Transcoder>
    		<SharedObjects>
    			<StorageDir></StorageDir>
    		</SharedObjects>
    		<Client>
    			<IdleFrequency>-1</IdleFrequency>
    			<Access>
    				<StreamReadAccess>*</StreamReadAccess>
    				<StreamWriteAccess>*</StreamWriteAccess>
    				<StreamAudioSampleAccess></StreamAudioSampleAccess>
    				<StreamVideoSampleAccess></StreamVideoSampleAccess>
    				<SharedObjectReadAccess>*</SharedObjectReadAccess>
    				<SharedObjectWriteAccess>*</SharedObjectWriteAccess>
    			</Access>
    		</Client>
    		<RTP>
    			<!-- RTP/Authentication/Methods defined in Authentication.xml. Default setup includes; none, basic, digest -->
    			<Authentication>
    				<Method>digest</Method>
    				<PlayMethod>block</PlayMethod>
    			</Authentication>
    			<!-- RTP/AVSyncMethod. Valid values are: senderreport, systemclock, rtptimecode -->
    			<AVSyncMethod>senderreport</AVSyncMethod>
    			<MaxRTCPWaitTime>12000</MaxRTCPWaitTime>
    			<Properties>
    			</Properties>
    		</RTP>
    		<LiveStreamPacketizer>
    			<!-- Properties defined here will override any properties defined in conf/LiveStreamPacketizers.xml for any LiveStreamPacketizers loaded by this applications -->
    			<Properties>
    			</Properties>
    		</LiveStreamPacketizer>
    		<HTTPStreamer>
    			<!-- Properties defined here will override any properties defined in conf/HTTPStreamers.xml for any HTTPStreamer loaded by this applications -->
    			<Properties>
    			</Properties>
    		</HTTPStreamer>
    		<MediaCaster>
    			<RTP>
    				<RTSP>
    					<!-- udp, interleave -->
    					<RTPTransportMode>interleave</RTPTransportMode>
    				</RTSP>
    			</RTP>
    			<!-- Properties defined here will override any properties defined in conf/MediaCasters.xml for any MediaCasters loaded by this application -->
    			<Properties>
    			</Properties>
    		</MediaCaster>
    		<MediaReader>
    			<Properties>
    			</Properties>
    		</MediaReader>
    		<Modules>
    			<Module>
    				<Name>base</Name>
    				<Description>Base</Description>
    				<Class>com.wowza.wms.module.ModuleCore</Class>
    			</Module>
    			<Module>
    				<Name>properties</Name>
    				<Description>Properties</Description>
    				<Class>com.wowza.wms.module.ModuleProperties</Class>
    			</Module>
    			<Module>
    				<Name>logging</Name>
    				<Description>Client Logging</Description>
    				<Class>com.wowza.wms.module.ModuleClientLogging</Class>
    			</Module>
    			<Module>
    				<Name>flvplayback</Name>
    				<Description>FLVPlayback</Description>
    				<Class>com.wowza.wms.module.ModuleFLVPlayback</Class>
    			</Module>
    			<Module>
    				<Name>ModulePushPublish</Name>
    				<Description>ModulePushPublish</Description>
    				<Class>com.wowza.wms.pushpublish.module.ModulePushPublish</Class>
    			</Module>
    		</Modules>
    		<Properties>
    		</Properties>
    		<TimedText>
    			<Properties>
    			</Properties>
    			<VODTimedTextProviders></VODTimedTextProviders>
    		</TimedText>
    		<HTTPStreamers></HTTPStreamers>
    		<StreamRecorder>
    			<Properties>
    				<Property>
    					<Name>streamRecorderVersioningOption</Name>
    					<Value>append</Value>
    					<Type>String</Type>
    				</Property>
    			</Properties>
    		</StreamRecorder>
    	</Application>
    </Root>
    And this is the output I'm getting when restarting a 'test' stream a couple of times:

    -rwxr--r-- 1 nobody nobody 1125544 Mar  4 12:39 test_aac_0.mp4
    -rwxr--r-- 1 nobody nobody 1310054 Mar  4 12:39 test_0.mp4
    -rwxr--r-- 1 nobody nobody 1619786 Mar  4 12:39 test_aac_1.mp4
    -rwxr--r-- 1 nobody nobody 1882723 Mar  4 12:39 test_1.mp4
    -rwxr--r-- 1 nobody nobody 1316703 Mar  4 12:40 test.mp4
    -rwxr--r-- 1 nobody nobody 1089809 Mar  4 12:40 test_aac.mp4
    I'm using Wowza Streaming Engine 4.0.1

    Any idea what I'm doing wrong?

    Thanks,

    Henry

  2. #2

    Default

    Also, I need to be able to change the name of the file that's recorded from the default of the stream name. I'll need to do this programmatically in an HTTP Provider I'm building. Can I do this in conjunction with a 'live-record' application, or do I have to use a 'live' application and handle the start/stop of the recording in code?

  3. #3

    Default

    Hi there, this took some testing to figure out, but to append to the recorded file in Wowza 4.x thru the UI do the following:
    1: Use a StreamType of "live", leave "record all streams" unchecked.
    2: In the Application Properties tab, under the "StreamRecorder Defaults" tab set the "streamRecorderVersioningOption" to "append" save and restart the application.
    3: In the left side bar of the Engine Manger window, (with the live stream being published) choose "Incoming Streams" and select the incoming stream to record
    4:Click on the red "record" button(circle) to see the recording options, click on the "Segmentation" tab to confirm that "Segmentation Option" is set to none, and "Versioning Option" is set to "Append to existing file". Click record.

    Salvadore

  4. #4

    Default

    Hi Salvadore.

    Thanks for the investigation!

    Alas this isn't viable in our workflow though -- I can't manually start recording each stream. The streams need to be recorded automatically by the application, i.e. as soon as the application receives a stream. This is why I picked 'live-record'.

    Is this not possible in version 4.0.1?

    Thanks,

    Henry

  5. #5

    Default

    Henry, I will keep looking into this and let you know what I find out as soon as I have something for you.

    Salvadore

  6. #6

    Default

    I have not had a chance to set this up but I think it might be the solution for you:
    How to start and stop live stream recordings programmatically (LiveStreamRecordAutoRecord example)

    Salvadore

  7. #7

    Default

    Hi Salvadore.

    Whilst I can do this programmatically, I'd rather not unless I really have to. We have a number of applications that make use of live-record on the assumption that append rather than versioning is supported. We typically use this when recording streams and wish to pause mid way through the record -- in this case, we need to pick up where we left off in the same file.

    This was possible in 3.6.4, the following config accomplished this:

                    <Streams>
                            <StreamType>live-record</StreamType>
                            <StorageDir>${com.wowza.wms.AppHome}/applications/vodrecord</StorageDir>
                            <Properties>
                                    <Property>
                                            <Name>versionFile</Name>
                                            <Value>false</Value>
                                            <Type>Boolean</Type>
                                    </Property>
                                    <Property>
                                            <Name>appendFile</Name>
                                            <Value>true</Value>
                                            <Type>Boolean</Type>
                                    </Property>
                            </Properties>
                    </Streams>
    The fact that this is not achievable in 4.0.1 sounds more like a bug than a design decision. Could you confirm if this is the case please?

    One other thing, please ignore my above comment about changing the name of the recorded file, I no longer need to do this. I just need an application that will record (and append) any stream sent to it.

    Thanks,

    Henry

  8. #8

    Default

    Okay Henry, I thought I had tried all these different options earlier today, but I must have missed this combination:

    This configuration will achieve appending to existing file
    A) You need a StreamType of "live-record"
    B) You need to set the "streamRecordVersioningOption" to "append"
    C) You need to add these properties to the Application/Streams Properties section in Application.xml like you described above.
    <Property>
       <Name>versionFile</Name>
       <Value>false</Value>
       <Type>Boolean</Type>
    </Property>
    
    <Property>
      <Name>appendFile</Name>
      <Value>true</Value>
      <Type>Boolean</Type>
    </Property>
    This may actually be a bug so I will submit a bug report to the support team and see what they make of this.

    Salvadore
    Last edited by salvadore; 03-05-2014 at 05:52 AM. Reason: for clerity

  9. #9

    Default

    Hi Salvadore.

    Thanks for this.

    Could you keep me in the loop as to the outcome please? We won't be able to release our application until we have some resolution on this.

    Thanks,

    Henry

  10. #10

    Default

    Henry, my last post outlines a working configuration for what you want to do.
    Is this still not what you are trying to achieve?

    Salvadore

Page 1 of 2 12 LastLast

Similar Threads

  1. Addon streams in append mode
    By Bruno-Eyedo in forum Wowza Transcoder
    Replies: 6
    Last Post: 09-19-2014, 09:45 AM
  2. nDVR with origin-mode set to ON
    By tavius in forum AddOn: Wowza nDVR
    Replies: 1
    Last Post: 06-25-2013, 07:35 PM
  3. Convert video file recorded by Wowza using append mode to another format
    By VSheyanov in forum Live Streaming and Encoder Discussion
    Replies: 2
    Last Post: 01-15-2012, 05:56 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •