Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

Selective recording in new recording and playback feature

Avatar

Level 2

Hi folks,

I was just wondering - given the large number of components that can be recorded in the 2.0 release's recording and playback feature (Webcam/Audio Subscribers/Publishers, Screenshare Publishers/Subscribers etc), is it possible to select only certain components within a room to record when starting recording via the server-server api (i.e. AccountManager.startRecording("<YOUR-ROOM-NAME>", "<YOUR-ARCHIVE-ID>", guestsAllowed); ).

For example, if I want to record only certain streams within the room, or if I want to record video only and not audio, am I able to control this when calling AccountManager.startRecording? If not, do I have more control over this controlling the recording through client code?

Thanks,

Davis

1 Accepted Solution

Avatar

Correct answer by
Former Community Member

Hi Davis,

No, the service records the whole shebang in either case - any traffic that flows through that particular room is recorded.

On the data transfer side, you can actually delete streams you didn't need and don't intend to play back once the recording has been sent your way. Just unzip, delete, then rezip with the same name. So at least you can minimize the recurring data transfer for playback with that.


  hope that helps

   nigel

View solution in original post

3 Replies

Avatar

Former Community Member

Hi Davis,

We toyed with that capability for a while, but it was getting too

complicated to support.

However, it is pretty easy to build a playback application which just

ignores stuff you don't want to play back. You can set the publisherIDs of

your subscribers, for instance, or exclude whole components or pods from the

interface. Because playback takes place in an application, you have pretty

much unlimited flexibility.

Hope that helps

nigel

Avatar

Level 2

Hi Nigel,

Thanks, that is good to know.

In the same way that you have flexibility when building an application to playback a recorded session, do you also have flexibility in building a separate application to record a session?

That is, if you choose to record a session through client code rather than the server side call, can you build an application that will record only the elements you want? If I have a client with only WebcamSubscribers and AudioSubscribers (no Publishers), with explicitly set publisherIDs, within a given ConnectSession, and I use the client to start recording (as documented here: http://learn.adobe.com/wiki/display/lccs/10.3+Starting+and+Stopping+Recording ), will it only record the streams as picked up by those WebcamSubscribers and AudioSubscribers, rather than everything that is happening in the room?

Are separate stream files recorded for WebcamPublishers and WebcamSubscribers (i.e. a file for what the WebcamPublisher streams out and another file for what the WebcamPublisher picks up)? The overview of recording and playback capabilities (http://learn.adobe.com/wiki/display/lccs/10.1+Overview) seems to suggest that it is the WebcamSubscribers and WebcamPublishers that get 'recorded'.

Just looking for a way to keep data transfer to a minimum =)

Thanks,

Davis

Avatar

Correct answer by
Former Community Member

Hi Davis,

No, the service records the whole shebang in either case - any traffic that flows through that particular room is recorded.

On the data transfer side, you can actually delete streams you didn't need and don't intend to play back once the recording has been sent your way. Just unzip, delete, then rezip with the same name. So at least you can minimize the recurring data transfer for playback with that.


  hope that helps

   nigel

The following has evaluated to null or missing: ==> liqladmin("SELECT id, value FROM metrics WHERE id = 'net_accepted_solutions' and user.id = '${acceptedAnswer.author.id}'").data.items [in template "analytics-container" at line 83, column 41] ---- Tip: It's the step after the last dot that caused this error, not those before it. ---- Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign answerAuthorNetSolutions = li... [in template "analytics-container" at line 83, column 5] ----