Archive for the ‘HDFVR’ Category

25% off AVChat, AVConference, ZuzuBooth, FLVAR and HDFVR this week only!

Monday, October 29th, 2012

Halloween is upon us again this year and we have some special prices this week for you guys.

From today (29th of October) until Friday (2nd of November) we have a special offer for most of our products.

25% off the price of new licenses for the following products:

and all their integration kits.

To get the discount just use the following discount code during checkout: HALLOWEEN2012 .

The discount does not apply to AVChat IM and Audior.

The discount does not apply to services, support & updates and upgrades.

Pumpkin icon taken from http://icons.yootheme.com

HDFVR now supports .NET webservers

Wednesday, August 29th, 2012

This article will show you how to run HDFVR on .NET web servers.

The last stable build of HDFVR, 505,  ships with only PHP and classic ASP support.  In the next build we will add .NET support, but until then you can use the following guide to run HDFVR on .NET web servers.

Here’s the archive with all the .NET files needed :.NET HDFVR files

Installation tutorial:

  1. Download the archive with all the .NET files
  2. Copy all the files from the archive to the root folder of HDFVR on your webserver
  3. Open the “VideoRecorder.html” file from your HDFVR root folder, in any compatible editor
  4. edit the following 2 tags  by adding the following flash var sscode=aspx. So the following line:

<param name="movie" value="VideoRecorder.swf?userId=XXY&qualityurl=audio_video_quality_profiles/320x240x30x90.xml&recorderId=123" />

will become

<param name="movie" value="VideoRecorder.swf?userId=XXY&sscode=aspx&qualityurl=audio_video_quality_profiles/320x240x30x90.xml&recorderId=123" />

The same modification will have to be made to:

<embed src="VideoRecorder.swf?userId=XXY&qualityurl=audio_video_quality_profiles/320x240x30x90.xml&recorderId=123" quality="high" bgcolor="#333333"
width="324" height="276" name="VideoRecorder" align="middle"
play="true"
loop="false"
quality="high"
allowScriptAccess="sameDomain"
type="application/x-shockwave-flash"
pluginspage="http://www.adobe.com/go/getflashplayer">
</embed>

so that it becomes

<embed src="VideoRecorder.swf?userId=XXY&sscode=aspx&qualityurl=audio_video_quality_profiles/320x240x30x90.xml&recorderId=123" quality="high" bgcolor="#333333"
width="324" height="276" name="VideoRecorder" align="middle"
play="true"
loop="false"
quality="high"
allowScriptAccess="sameDomain"
type="application/x-shockwave-flash"
pluginspage="http://www.adobe.com/go/getflashplayer">
</embed>

Important note : if you have other similar .html files for example : VideoRecorder-hd.html, the same modifications will have to be made to all of them.

The sscode flash var specifies what set of server side files HDFVR should use. And if it’s not specified it defaults to the php set of files.

Once you have completed all the steps above, edit avc_settings.aspx.cs and add the connectionstring like this:

That’s it.  The snapshot will now be saved  to the web server through jpg_encoder_download.aspx.cs, while pressing the save button will call save_video_to_db.aspx.cs.

Recording MP4 files (with H.264 video and AAC audio) with HDFVR and WOWZA

Friday, June 8th, 2012

Introduction

With the launch of Flash Player 11 (4th Ocotober 2011) Adobe introduced the H.264 video codec in Flash Player for video encoding. For those of you who don’t know yet what H.264 is, it is a standard for video compression, and is currently one of the most commonly used formats for the recording, compression, and distribution of high definition video. The final drafting work on the first version of the standard was completed in May 2003.

The  Problems:

There are 3 major media servers on the market: FMIS, Red5 and Wowza. All three are supported by HDFVR, our video recording product.

From these three only FMIS and Wowza can produce mp4 files. Red5 can’t save the audio and video data in mp4 files.

None of them can produce MP4 files with AAC audio because the only audio encoding codecs available in Flash Player  are NellyMoser’s ASAO and Speex and none of these audio codecs are recommended with MP4 containers.

In addition FMIS produces mp4 files using an industry-standard recording technology known as “fragments” or “moof atoms.” Some MPEG-4 compatible tools and players do not support moof atoms and therefore cannot recognize files recorded by Adobe Media Server unless they are post-processed with a tool called F4V Post Processor  that can be downloaded from here.

The solution:

After digging deeper into the problem we’ve came across the  Transcoder addon for Wowza. The Transcoder takes a live stream, decodes the video and audio and then re-encodes the data to suit your needs (delivery to iOS devices, etc.).  It seems it works just as good for recording streams.

To produce mp4 files with H.264 video and AAC audio we need the Transcoder to

  1. take in the audio and video data coming from HDFVR,
  2. leave the video intact,
  3. decode the audio and re-encode it with AAC
  4. put everything back in an .mp4 file

With a few configurations tweaks for HDFVR we’ve managed to do that. Let’s see how we’ve done it.

Requirements

Here’s everything we need (download and install step by step):

When running Wowza on Windows you will also need:

  • .NET Framework 3.5.1 Feature (download)
  • Desktop Experience  if you run Windows Server (details)

After installing everything, including the Transcoder you have to start Wowza in standalone mode. To do so you have to run startup.bat (on Windows) or startup.sh (on Linux) inside Wowza/bin folder.

Once Wowza is started, at the beginning of the log messages in the command line window you should see a message  telling you that the Transcoder is available (at the beginning of the console screen). The message should look something like this: INFO server comment – Transcoder Streams Available.



In case your Transcoder appears as unavailable you should  check the log messages in the console window that show the  Java version. The correct line should look like this : : INFO server comment – Java Architecture: 64. If this is not correct you should try install Java again and set your Java path, details here.

Important note about Wowza Patch:

After testing with the latest Wowza (at the time of writing this article it was 3.0.3) and the Transcoder we’ve found that the recorded mp4 files could not be played  with any external player. After researching a little bit we’ve came across a patch for Wowza that fixed this problem. The patch can be found here : http://www.wowza.com/downloads/WowzaMediaServer-3-0-3/WowzaMediaServer3.0.3-patch3.zip .
You will need to replace the files inside of your Wowza installation folder with the ones inside the patch (only the files contained inside the patch).

Wowza (3.1.1) even though is newer than the one we used does not contain this patch.

After getting everything above installed and running follow these steps to configure HDFVR and Wowza/Trnascoder addon for recording mp4 files with AAC audio and h.264 video.

Step 1 : Setting up HDFVR

1.1 Set the proper Audio Video Quality Profile in HDFRV

First we need to tell HDFVR we’re using Wowza + the Transcoder addon.

Set <vcodec> tag to h264_w_t in the video quality profile of your choice and the <snd> tag to speex10 as in the screenshot below.

By default HDFVR uses the following video quality profile files depending on the HTML page that embeds HDFVR:

  • VideoRecorder.html -> audio_video_quality_profiles/320x240x30x90.xml
  • VideoRecorder-api.html -> audio_video_quality_profiles/320x240x30x90.xml
  • VideoRecorder-sd-16by9.html -> audio_video_quality_profiles/wide/640x360x30x90.xml
  • VideoRecorder-hd.html -> audio_video_quality_profiles/wide/1280x720x30x90.xml

Here’s the <vcodec>tag properly set to h264_w_t in the 320x240x30x90.xml video quality profile file.

This will produce a stream with video encoded with h.264 and audio encoded with Speex or NellyMoser (the Transcoder can decode both so the sound codec choice does not matter) but upon reaching the media server Wowza will know that it has to transcode the audio.

speex10 will produce an audio stream containing 16khz audio at 42.2kbits/s.

According to the transcoder guide, Wowza does not know to decode NellyMoser’s ASAU audio codec so don’t use it, use Speex.

1.2 Configure  Application.xml

The next step is configure the Application.xml file for HDFVR. The Application.xml file for HDFVR is found inside Wowza/conf/hdfvr directory. Here’s what you need to change from the default Application.xml with which HDFVR is delivered:

  • set the <StreamType> tag  to  live-record.
  • uncomment the <LiveStreamPacketizers> and make sure it’s set to cupertinostreamingpacketizer, smoothstreamingpacketizer, sanjosestreamingpacketizer
  • uncomment the <Transcoder> and <HTTPStreamers> tags
  • set the <LiveStreamTranscoder> tag to transcoder (this will enable the Transcoder addon)
  • set the <HTTPStreamers> tag to cupertinostreaming,smoothstreaming,sanjosestreaming

If  these options are not present in your Application.xml please add them. Make sure that they are  not commented.

Your Application.xml should look like this:

<Root>
	<Application>
		<!-- Uncomment to set application level timeout values
		<ApplicationTimeout>60000</ApplicationTimeout>
		<PingTimeout>12000</PingTimeout>
		<ValidationFrequency>8000</ValidationFrequency>
		<MaximumPendingWriteBytes>0</MaximumPendingWriteBytes>
		<MaximumSetBufferTime>60000</MaximumSetBufferTime>
		<MaximumStorageDirDepth>25</MaximumStorageDirDepth>
		-->
		<Connections>
			<AutoAccept>true</AutoAccept>
			<AllowDomains></AllowDomains>
		</Connections>
		<!--
			StorageDir path variables

			${com.wowza.wms.AppHome} - Application home directory
			${com.wowza.wms.ConfigHome} - Configuration home directory
			${com.wowza.wms.context.VHost} - Virtual host name
			${com.wowza.wms.context.VHostConfigHome} - Virtual host config directory
			${com.wowza.wms.context.Application} - Application name
			${com.wowza.wms.context.ApplicationInstance} - Application instance name

		-->

		<Streams>
			<StreamType>live-record</StreamType>
			<StorageDir>${com.wowza.wms.context.VHostConfigHome}/content</StorageDir>
			<KeyDir>${com.wowza.wms.context.VHostConfigHome}/keys</KeyDir>
			 <LiveStreamPacketizers>cupertinostreamingpacketizer, smoothstreamingpacketizer, sanjosestreamingpacketizer</LiveStreamPacketizers>
			<Properties>
			</Properties>
		</Streams>

		<Transcoder>
			<!-- To turn on transcoder set to: transcoder -->
			<LiveStreamTranscoder>transcoder</LiveStreamTranscoder>
			<!-- [templatename].xml or ${SourceStreamName}.xml -->
			<Templates>hdfvr.xml</Templates>
			<ProfileDir>${com.wowza.wms.context.VHostConfigHome}/transcoder/profiles</ProfileDir>
			<TemplateDir>${com.wowza.wms.context.VHostConfigHome}/transcoder/templates</TemplateDir>
			<Properties>
			</Properties>
		</Transcoder>

		<HTTPStreamers>cupertinostreaming,smoothstreaming,sanjosestreaming</HTTPStreamers>

		<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/[type]Methods defined in Authentication.xml. Default setup includes; none, basic, digest -->
			<Authentication>
				<PublishMethod>digest</PublishMethod>
				<PlayMethod>digest</PlayMethod>
			</Authentication>
			<!-- RTP/AVSyncMethod. Valid values are: senderreport, systemclock, rtptimecode -->
			<AVSyncMethod>senderreport</AVSyncMethod>
			<MaxRTCPWaitTime>12000</MaxRTCPWaitTime>
			<IdleFrequency>75</IdleFrequency>
			<RTSPSessionTimeout>90000</RTSPSessionTimeout>
			<RTSPMaximumPendingWriteBytes>0</RTSPMaximumPendingWriteBytes>
			<RTSPBindIpAddress></RTSPBindIpAddress>
			<RTSPConnectionIpAddress>0.0.0.0</RTSPConnectionIpAddress>
			<RTSPOriginIpAddress>127.0.0.1</RTSPOriginIpAddress>
			<IncomingDatagramPortRanges>*</IncomingDatagramPortRanges>
			<!-- Properties defined here will override any properties defined in conf/RTP.xml for any depacketizers loaded by this application -->
			<Properties>
			</Properties>
		</RTP>

		<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>customServerHDFVR</Name>
				<Description>Server HDFVR</Description>
				<Class>com.naicuandnaicu.server.MyModule</Class>
			</Module>
		</Modules>
		<!-- Properties defined here will be added to the IApplication.getProperties() and IApplicationInstance.getProperties() collections -->
		<Properties>
		</Properties>
	</Application>
</Root>

You can download the above Application.xml code/file from here: http://codeviewer.org/view/code:26eb.

1.3 Setting up a Wowza application for playback:

Now we are ready to record mp4 files on Wowza but how about playing them inside of HDFVR.

Because the <StreamType> tag is set to live-record inside Application.xml after you finish recording you will not be able to play back the file. The stream can only be played only while it’s being recorded because Wowza treats it as a live stream.

Not to worry though because we have a solution. Wowza is storing the recorded files inside a folder (Wowza/content) that is shared by all the applications so all we need to do now is set up another app with a different <StreamType> tag that will recognize the files as recorded streams and play them back properly.

On your Wowza media server you will have to copy the hdfr_play files (they’re in the HDFVR build 508 (beta version) archive) as a normal application and the rest is done automatically by HDFVR.

The Application.xml for the hdfr_play app (Wowza/conf/hdfvr_play) should have the <StreamType> tag set to record.

For those of you who do not use HDFVR and want a better understanding of how it works the principle is pretty straight forward: HDFVR connects to one application (hdfvr) with its set of settings and uses the Transcoder addon to record mp4 files. To play the files HDFVR connects to another application (hdfvr_play) with a different set of settings.

Step 2: Setting up the Transcoder

Inside Application.xml for the hdfvr app (Wowza/conf/hdfvr) mentioned the following things are specified:

  • the <Transcoder> tag contains the information  about where the configuration file for the addon can be found,
  • the <TemplateDir> tag contains the path to the templates folder,
  • the <Templates> tag contains the name of the template file to use and it has the following value hdfvr.xml .

Here’s the contents of hdfvr.xml, copy and paste it in a hdfvr.xml file inside your Wowza/transcoder/templates folder.

<Root>
	<Transcode>
		<Encodes>
			<!-- Example Encode block for source, not required unless Member of StreamNameGroup. -->
			<Encode>
				<Enable>true</Enable>
				<Name>aac</Name>
				<StreamName>mp4:${SourceStreamName}</StreamName>
				<Video>
					<!-- H.264, PassThru, Disable -->
					<Codec>PassThru</Codec>
					<Bitrate>${SourceVideoBitrate}</Bitrate>
					<Parameters>
					</Parameters>
				</Video>
				<Audio>
					<!-- AAC, PassThru, Disable -->
					<Codec>AAC</Codec>
					<Bitrate>48000</Bitrate>
				</Audio>
				<Properties>
				</Properties>
			</Encode>
		</Encodes>
		<Decode>
		</Decode>
		<StreamNameGroups>
		</StreamNameGroups>
		<Properties>
		</Properties>
	</Transcode>
</Root>

Here’s the above doe explained:

  • The <StreamName> tag will tell the Transcoder to produce an mp4 file.
  • The <Video> tag will leave the video untouched  as the <Codec> tag is set to  PassThru and the <Bitrate> tag is set to the maintain the source’s one.
  • The <Audio> tag will encode audio as AAC set through the <Codec> tag and a bitrate of 48000 set through the <Bitrate> tag.

Results

After all this set up is time to run HDFVR in the browser. Press the record button and have fun. After you finished recording press play. If the recorded file does not play go back and see the section about the hdfvr_play app. To see the recorded mp4 files go to Wowza/content folder.

Conclusion

I m sure most of you know  why mp4 files are useful but for those of you who can’t quite get why this is a major feature here it goes: Flash Player is not supported by iOS and Android Internet Browsers thus .flv files can not be played on these devices. With this feature you will now be able to play you recordings straight away on any type of  OS.

There are many possibilities offered by the Transcoder add on not just recording mp4 files but saving different copies of your file with different quality settings , making playlists and so forth (the documentation is available here) , all you have to do is to configure the Transcoder configuration file hdfvr.xml to suit your needs.

Video Quality in Flash Video Chat Applications

Monday, June 4th, 2012

I am going to explain in this blog post how video quality functions in flash video chat apps.

Understanding the steps the video quality goes trough in its travel from the broadcaster to the viewer is vital when trying to raise the general video quality experienced by your users.

This tutorial applies to AVChat, AVConference, SimplChat but also in some extent to HDFVR and AVChat IM.

So, here we go.

The  journey of the video from the broadcaster to the viewer can be imagined as a funnel with 8 steps. At each step the video quality can suffer. To increase the video quality at the end (on the viewer’s side) you can take measures at every step.

Step 1:  the lighting.

The amount of light in the space where the video is being captured is very important for the frame rate and detail a webcam can capture. The more light the better. Lots of natural light works best. Most of the lower end webcams can not capture more than 5fps when just a light bulb is lighting a room.

Step 2: the webcam itself.

Good “HD” webcams can capture video at high resolutions, high fps and high detail.

Step 3: the video settings used to capture video.

Once you have good light (Step 1) and a good webcam (Step 2) you must make sure nothing is lost in the encoding process.

Al0 our products ship with at least 90% picture quality setting and 15fps so if you’re getting low picture quality or low frame rate, something is happening in one of the other 8 steps.

Step 4: the CPU on the broadcaster’s computer.

Let’s say we have good light a good webcam and we’ve setup AVChat to record 400×300 at 30fps with 90% picture quality. Cool!

The limit will now be the CPU on the computer doing the encoding. A slow CPU will limit the amount of frames it can encode/second.

Microsoft recommends an Intel Dual-Core 3.0 GHz or higher CPU for 720p (HD) video calling with the Microsoft LifeCam Studio.

Step 5: the Internet connection of the broadcaster with the media server.

Once the video is properly captured and encoded, it needs to be sent to the media server.

For a live stream the connection bandwidth is vital. If there’s not enough “upload” bandwidth Flash Player will stop sending the video data to the media server and only send the audio data. On the viewer’s end this will be experienced as blocked/choppy video.

Low “upload” bandwidth can be caused by:

  • the “upload” limit of the broadcaster’s Internet connection
  • busy/high traffic network/internet connection
  • the peak bandwidth limit of the media server hosting account (both influxis.com and uvault.com have peak bandwidth limits for their shared media server hosting accounts)

For when doing 2 way video chat the latency is also vital. If the video arrives with delay the 2 way video chat will not be very fluid.

Latency can be caused by any of these factors:

  • broadcaster being connected via wifi
  • media server being far away from the broadcaster (in another country/continent)
  • broadcaster is behind a proxy

We recommend getting a media server as close as possible to your users and without any limit on peak bandwidth if you’re shooting for HD video broadcasting.

Step 6: the media server software

The media server just passes the video stream from one user to another but there are slight differences between the 3 big media servers: Red5, FMIS and Wowza.

There are also differences in what regards the load a media server software puts on the hardware with Wowza and FMIS being more efficient than Red5.

Step 7: the connection of the viewer with the media server

Again we’re hitting the internet connection limit but this time it’s the “download” connection from the media server to the viewer.

If the viewer has a “download” connection slower than the bandwidth/s used by the stream it will get choppy video.

Step 8: the CPU on the viewer’s computer

If you’re broadcasting high quality HD video and it manages to get trough all previous 7 steps without losing any quality, then a slow CPU will transform that beautifully smooth crisp video in’to choppy playback.

HDFVR Client Side Source Files Now Available

Friday, May 25th, 2012

Today we’re making available for purchase the AS3 Client Side Source Code for our video recorder HDFVR.

Price: $199

Requirements: Standard HDFVR license, Flex 4.6 SDK, Flash Builder .

Future clients can buy it from: http://hdfvr.com/buy-now .

Previous clients can buy it from: email us at contact@hdfvr.com for the link .

What’s it made of:

  • zip archive containing the Flash Builder project ready to be compiled
  • AS3 source code for all HDFVR classes
  • AS3 source code for all used libraries
  • all image assets used in the HDFVR
  • Use use FLEX SDK 4.6 to compile it

How to set it up in your Flash Builder workspace:

  1. Download the hdfvr_sources.zip archive from your client area (once you purchase it)
  2. Start Flash Builder
  3. File -> Import Flash Builder Project …
  4. Browse…  -> select the hdfvr_sources.zip archive -> Open
  5. Finish

make sure you have Flex 4.6.0 SDK installed.

What we’ve been up to recently

Thursday, May 24th, 2012

Adobe has announced Adobe Media Server 5 (no more Flash in the name :( ) most probably our products will work with it out of the box (as always).

The Red5 Team have released Red5 1.0 RC2, unfortunately they made quite a few changes and it breaks compatibility with our products so we do not support it yet.

On Monday (28th of May) we’ll release a new version of the AVChat Integration Kit for Joomla! with major improvements (there will be some video involved as well ;) )

We’ve made slight changes to the documentation area of AVChat, it should now be easier to find your way around and browse the area.

We’re working on a tutorial for HDFVR and Wowza on how to record mp4 videos with h.264 video and AAC audio. More on that soon!

We’re running 2 big discount campaigns until Thursday, the 31st of May:

We’re preparing a cool new build of AVChat for the 4th of June, the 1st beta should be available early next week in your private trial/client area.

Changes to the way we’ll do builds and issue trials

Monday, May 14th, 2012

Starting with the June build of AVChat we will make a few changes to the way we’ll release builds and issue trial keys for all our products.

Regarding new builds

Currently we generally try to do a build of AVChat every month on the 1st Monday of that month. We do this to make sure if any bugs show up we’re here during the build day and next day to fix them.

Starting with the June build of AVChat we will introduce the notion of beta builds. Beta builds will be available for download from the private client area by clicking the [View All Builds] link. Beta builds will properly be marked as beta and they will be announced in this blog or in the forum. We will generally release a flurry of beta builds during the last week of the month leading up to the final release day (1st Monday of every month).

This process of releasing a few beta builds before a final one will help us provide more stable final builds.

According to this new calendar you can expect a new BETA build of AVChat on 28th of May and a final build on 4th of June.

Regarding trials

Our current trial system has seen some abuse lately so we’re taking the following steps to protect our customers and their purchase:

  • The trial period will drop from 30 days to 15 days
  • The latest final/beta builds will not be available for download to trial users
  • We will not issue trials/trial keys for some top level domains

Build 505 of HDFVR fixes 2 small things

Friday, May 11th, 2012
Here they are:
  • we mistakenly used double double quotes in the embed code for HDFVR from the 4 HTML files with which HDFVR is delivered
  • corrected documentation in avc_settings.xxx about the hideSaveButton option

That’s it, you can download HDFVR from your private client/trial area.

HDFVR stuck at “Uploading….” ? it’s caused by the latest version of Flash Player (11.2)

Thursday, March 29th, 2012

Yesterday Adobe released Flash Player 11.2 but the new Flash Player version seems to have changed something again because our HDFVR product does not finish uploading anymore and it gets stuck as in the screenshot below.

This is something we will look into over the next few days and issue a patch. Hopefully it will be a client side patch (involving replacing the swf) and not a media server patch.

This is the second time the Flash Player team makes a change that breaks app functionality and it’s getting ridiculous. 2 weeks ago they made a small change in Flash Player that caused us 2 weeks of 0% productivity and 100% issuing patches and explaining the issue to customers.

HDFVR Patch for Flash Player 11.2:

With the launching of Flash Player 11.2 we’ve experienced some problems after finishing recordings due to some missing functionality in the new Flash Player (there are some NetStream events that are not sent by this version of Flash Player such as NetStream.Buffer.Empty,NetStream.Record.Stop and NetStream.Unpublish.Success).

We’ve reported the problem to Adobe (here) but in the mean time we’ve compiled a new build that contains a workaround for  this problem.

3 April 2012 update: a new build (499) with a workaround/patch is available.

Those who downloaded the build 496 and 498 they can use only the swf files with those form version 499 to resolve this problem.

New HDFVR build (496) with h.264 video recording

Wednesday, March 21st, 2012

In October 2011 Flash Player 11 was  released by Adobe adding the ability to capture video from webcams and encode it with the latest and greatest of video codecs: h.264, the same one used in Blu-ray movies.

Today’s HDFVR build implements that functionality. With the release we make today you will be able to record h.264 video directly from your website members.

However, all is not pink in the land of video recording over the web, there are a few issues:

  • When using FMS as a media server the resulting file will be a f4v file (mp4) that plays well when streamed from FMS but to play the video locally or trough progressive download you need to pass the video trough Adobe’s F4v POst Processor Available here. Here is the official explanation: Adobe Flash Media Server version 3.5 and later and Adobe Flash Media Live Encoder 3 can record content in MPEG-4 (F4V) format using an industry-standard recording technology known as “fragments” or “moof atoms.” Some MPEG-4 compatible tools and players do not support moof atoms, and therefore cannot recognize files recorded by Flash Media Server. The F4V Post Processor tool aggregates the information from all the moof atoms into a single moov atom and outputs a new file. Use the F4V Post Processor tool to prepare F4V files for editing in Adobe Premiere® Pro, delivery over HTTP, or in video players that support H.264 and AAC formats, including Adobe Media Player.

    This tool can be used in Windows or Linux.
  • When using Wowza or Red5 the resulting file will be a .flv file, not an .f4v (mp4) file.
  • In what regards the sound codec you are still limited to Speex or NellyMoser’s ASAO which one does not expect to find in an .mp4 file (there is very limited support in desktop video players for playing back Speex audio).

HDFVR still defaults to the Sorenson Spark video codec, if you want to switch to h.264 just edit the video quality .xml file and set the value of the new <vcodec> tag to h264_r, h264_w or h264_f depending on your media server.

Other changes in this build include:

  • a new setting in avc_settings.xxx (showTimer) that controls weather or not the countdown timer is shown
  • another new setting in avc_settings.xxx (showSoundBar) that controls weather or not the sound bar is shown in the bottom right of the video recording area
  • fixed memory leak issue when using FMS

To get the new HDFVR build just download it from your private client area on http://avchathq.com .

To update your HDFVR installation: only the swf file and the video quality .xml files have been changed so just overwrite your old files with the new ones.

Flash Player 11.1 will be needed by your members to run the new video recorder.