hi lccs, some initial questions for you as i get started on the beta..
you say audio and video are saved in separate FLVs on the client server. does LCCS ensure that audio/video sync is maintained during playback?
how are the recorded streams delivered during playback? can you seek into these streams? e.g. if i have a recording of a video chat, can i use a timeline to seek forward and back through that video?
and finally - i will want to play back a recorded audio video chat between two users. will LCCS take care of synchronization between these four streams? (two video, two audio) or do i need to build a synchronized buffering strategy to achieve this?
Solved! Go to Solution.
Views
Replies
Total Likes
To reiterate Raff's point - when you setup a ConnectSessionContainer with a
PlaybackAuthenticator (essentially, a "playback application"), that
ConnectSession does all the work of synchronizing streams for you. As Raff
says, you can build a timeline and seek within it - ConnectSession's
archiveManager exposes all aspects of the playback to you.
In fact, here's a basic seek bar you could try :
<s:HSlider width="800" maximum="{cSession.archiveManager.totalTime}"
value="{cSession.archiveManager.currentTime}" id="slider"
change="cSession.archiveManager.seek(slider.value)"/>
lastly, as Raff also says, you're not restricted to playing back the exact
application you recorded. If you had, say, audio/video chat plus text chat
recorded, and all you wanted for playback was the A/V, remove the text chat
from your playback application (and delete the chat FLV from the recording
zip, to save on bandwidth), and your playback app should just work. You can
also totally re-layout how your app looks for playback as compared to
"live", or allow your users to manipulate the layout or contents of what's
being played back as they watch the recording. We think this will allow for
some really interesting, innovative applications.
hope that helps,
nigel
Views
Replies
Total Likes
When recording FMS stores all streams and collection nodes as separate files. The playback application takes care of synchronizing the playback so when using the standard features there is really nothing you need to do on the client side.
Streams are also seekable (I think you seek by changing the current "position" in ArchiveManager and again, the playback code takes care of synchronizing the operation on all streams.
If you want to playback on audio and video there are two options:
- build a playback application that only has your A/V components and use the standard playback feature
- extract the a/v files from a recording (you'll have one file for audio and one for video, not one for each user), host them on your server and write an application that plays them back synchronized (but you'll have to write that code yourself)
To reiterate Raff's point - when you setup a ConnectSessionContainer with a
PlaybackAuthenticator (essentially, a "playback application"), that
ConnectSession does all the work of synchronizing streams for you. As Raff
says, you can build a timeline and seek within it - ConnectSession's
archiveManager exposes all aspects of the playback to you.
In fact, here's a basic seek bar you could try :
<s:HSlider width="800" maximum="{cSession.archiveManager.totalTime}"
value="{cSession.archiveManager.currentTime}" id="slider"
change="cSession.archiveManager.seek(slider.value)"/>
lastly, as Raff also says, you're not restricted to playing back the exact
application you recorded. If you had, say, audio/video chat plus text chat
recorded, and all you wanted for playback was the A/V, remove the text chat
from your playback application (and delete the chat FLV from the recording
zip, to save on bandwidth), and your playback app should just work. You can
also totally re-layout how your app looks for playback as compared to
"live", or allow your users to manipulate the layout or contents of what's
being played back as they watch the recording. We think this will allow for
some really interesting, innovative applications.
hope that helps,
nigel
Views
Replies
Total Likes
raff, nigel, thank you kindly for the responses.
to clarify, the recorded streams which are stored on my repository server - they're streamed to the client during playback, correct? i.e. not completely downloaded to the client?
that's great news that synchronization is automatic, and thanks for the timeline snippet, that's exactly the confirmation i was looking for.
looking forward to developing with this.
Views
Replies
Total Likes
You got it - they stream from you to LCCS, and then to your clients.
nigel
Views
Replies
Total Likes
Views
Likes
Replies
Views
Likes
Replies