AVChat 3 feature highlight: Recording the Video Streams

AVChat 3 uses a media server (like Red5 and FMIS) to stream audio and video between users. The audio and video data travels from the broadcaster user to the media server and from there to the receiver user. While it goes trough the server the audio and video data can be captured and stored in .flv files.

Codecs being used…

The audio data will be encoded with the NellyMoser codec and the video track will be encoded with the Sorenson Spark h.263 video codec. The audio and video encoding is done  by Flash Player (before it sends the data to the media server), and Flash Player can only encode with those codecs.

So when the audio and video data hits the media server it is already encoded, the media server just saves the data into .flv files!

Enabling audio/video streams recording

The feature is disabled by default because it tends to use large amounts of space over the time.

If you use Red5:

  1. edit avchat30/avchat3.properties
  2. set recordAudioVideoStreams=true
  3. restart Red5

You will find the new .flv files in Red5/webapps/avchat30/streams/_definst_

The flv files are named like this: username+ “_”+ unique user id assigned by FMS + “_”+ timestamp (from when the userstarted publishing ).

If you use FMIS:

  1. edit avchat30/settings.asc
  2. set recordAudioVideoStreams=true
  3. reload the avchat30 FMIS application using the FMIS Management Console (or restart FMIS)

You will find the new .flv files in FMS/applications/avchat30/streams/_definst_.

The flv files are named like this: username+ “_”+ unique user id assigned by FMS + “_”+ timestamp (from when the user connected to FMIS).

If you use Wowza:

  1. edit Wowza/conf/avchat30/Application.xml
  2. On line 25 change live-lowlatency with live-record and save
  3. Restart Wowza

You will find the new .flv files in Wowza/content/ .

The flv files are named like this: username+ “_”+ unique user id assigned by Wowza .

Audio Video Quality

On the media server it is recorded whatever gets sent from the client .swf file, so to increase the audio/video quality of the recordings you need to increase the audio/video quality used inside the video chat software.

Important: Because you are recording audio/video streams that are destined for live viewing, the quality of the recordings  is not as high as the quality that you get with a dedicated Flash video recording software like our Flash Video Recorder. Live streams are maintained as “live” as possible by Flash Player and the media server by dropping video frames and even stopping the video data from being sent to the media server because audio data has higher priority than video data (this will only happen over slow connections tough where audio+video data just doesn’t t fit trough in a “live” way).

Important 2: When you have auto bandwidth reduction turned on (it’s on by default) streams are passed trough the media server only when there is someone watching the respectiv stream. So even tough user X is broadcasting, his stream will only be recorded if he has one or more viewers. teh steram recording process will also stop when user X has no more viewers. You can turn off auto bandwidth reduction.

Playing back the recorded files

To play back the .flv files on your desktop you can use  this desktop flv player from Martijn de Visser.

To play back the .flv files on your website directly from the media server you can use any flash video player for websites that supports streaming. I recommend JW FLV Media Player or Flow Player. You can also move the .flv files from your media server to your web server and deliver them to your users via progressive download (YouTube in its first months)

.flv files with no meta data

Because of the way they are recorded, some .flv files will end up having no duration metadata, thus resulting in funny playback. To fix this run those flv files trough flvmdi or flvtool2.

Tags: ,

One Response to “AVChat 3 feature highlight: Recording the Video Streams”

  1. New AVChat 3 documentation and more | AVChat Software Says:

    [...] Recording video streams [...]

Leave a Reply