Thank you for using HDFVR, as you will se below, HDFVR is THE video recording app to use!
We hope you will be able to find the answer to your problem here. All of the documentation for HDFVR is on this page so hopefully a “Find…” operation in your web browser can take you to your answer quickly. You may also want to print out this page to PDF for offline access.
If you cannot find the answer you’re looking for here, we encourage you to try our FAQ or forums.
Specific documentation for the integration kits between HDFVR and 3rd party CMS systems is also available:
Download from your client/trial area the HDFVR archive (hdfvr.zip) and extract it somewhere on your computer.
1.1 Installing the hdfvr app on the media server:
| On Red5 0.8 | On FMIS | On Wowza |
|---|---|---|
1) Copy the Red5_0.8/hdfvr folder (from the hdfvr.zip archive) to your Red5/webapps folder. 2) Restart Red5. |
Copy the FMIS/hdfvr folder (from the hdfvr.zip archive) to your FMIS/applications folder. If you're using FMIS hosting create a new application/folder named hdfvr and in it upload the contents of the FMIS/hdfvr folder (from the hdfvr.zip archive).
|
Copy the applications, conf and lib folders (you will find them in the Wowza folder from the hdfvr.zip archive) inside the Wowza installation folder. 2) Restart Wowza. |
1.2 Installing HDFVR on your web site:
- Copy the contents of Files to upload to your web site from the received archive in a folder on your web site
- Edit avc_settings.php (or avc_settings.asp) with a text editor and set the value of $config['connectionstring'] to the correct connection string for your new media server app, here is how it should look:
- $config['connectionstring']='rtmp://mymediaserver.com/hdfvr/_definst_';
- $config['connectionstring']='rtmp://my.media.server.ip/hdfvr/_definst_';
- $config['connectionstring']='rtmp://localhost/hdfvr/_definst_';
- Go to http://www.yoursite.com/your_new_video_recorder/videorecorder.html , you will be asked for your license key which you can obtain from the customer area on AVChat.net! (Use videorecorder-hd.html to record a HD video!
1.3 What we need if you want us to perform the installation
We offer a free installation with every purchase and an Additional Installation Service.
Here's what we need to install HDFVR for you:
- FTP access to the web site (or folder) where HDFVR will be installed
- If you've purchased an integration kit we will need admin acess to the admin area of your CMS (SocialEngine, etc.).
- root ssh access to the vps/dedicated server where the media server (Red5/FMIS/Wowza) is installed (on Windows servers Remote Desktop access will do)
OR (if you're using media server hosting)
access to your media server hosting account (http://influxis.com and http://uvault.com provide shared FMIS hosting)Please send the data to support@avchathq.com.
HDFVR installations generally take 6-24 hours if all the data above is sent correct and complete.
1.4 What we need if you want us to install Red5/FMIS/Wowza for you
We offer a Media Sever installation service for $99/one time fee.
Here's what we need to install the Media Server for you:
- root ssh access to the vps/dedicated server where you want the media server (Red5/FMIS/Wowza) to be installed if have a Linux Server, or Remote Desktop if you have a Windows server.
- If you want FMIS or Wowza installed, we will also need the licence key you received after purchasing them.
Please send the data to support@avchathq.com.
Media Server installations generally take 6-24 hours if all the data above is sent correct and complete.
By default all the recordings will be saved on the media server even tough the user has not pressed [SAVE]! To keep only the recordings for which the user has pressed the [Save] button edit avc_settings.xxx and change the deleteUnsavedFlv var to true.
Both JW FLV Media Player and Flowplayer support both streaming and progressive download!
After recording your first movie look for a new folder called snapshots on your web server in the folder where you installed HDFVR. The .jpg filename corresponds to the .flv filename on the media server.
By default a snapshot of the recording is taken at second 5 and it is saved/uploaded to the web server when you press the [Save] button (or when the video finishes streaming/uploading to the media server if hideSaveButton=1 in avc_settings.xxx)!
You can modify the second at which the snapshot is taken by editing avc_settings.xxx and changing the value of the snapshotSec variable!
You can stop HDFVR from taking snapshots by editing avc_settings.xxx and changing the value of the snapshotEnable variable!
By default HDFVR attempts to use the php files (avc_settings.php, save_video_to_db.php). To force HDFVR to use the .asp ones you need to:
- Edit VideoRecorder.html (or VideoRecorder-hd.html) with a text editor.
- Replace videorecorder.swf with videorecorder.swf?sscode=asp in both places inside the HTML file.
Internet Explorer uses an Active X control to show Flash Player content. Firefox, Safari, Opera and the rest of the browsers use a plugin. This is the reason why you need to make the change in 2 places. One for IE, the other one for the other browsers
Let's say you've bought 2 copies of HDFVR one for a.com one for b.com. You will have 2 different license keys!
To connect both to the same hdfvr app on the same media server just change the last part of the $config['connectionstring'] var value in avc_settings.xxx like this:
- for a.com leave the default:
rtmp://mymediaserver.com/hdfvr/_definst_- for b.com change the last part to something else, for example:
rtmp://mymediaserver.com/hdfvr/sitebRed5, FMIS:
- the .flv files for a.com will be in streams/_definst_
- the .flv files for b.com will be in streams/siteb
Wowza:
- the .flv files for both sites will be in Wowza/content
Wowza:
- edit conf\hdfvr\Application.xml
- change the value of the <StorageDir> tag:
<StorageDir>${com.wowza.wms.AppHome}/content</StorageDir> (this is the default)- save and restart Wowza
For example you could change the path to a folder inside your public Apache web server folder like this :
<StorageDir>/usr/sites/site.com/public_html/recorded_videos/</StorageDir>
FMIS:
- copy Application.xml
from
Flash Media Server\conf\_defaultRoot_\_defaultVHost_\
to
Flash Media Server\applications\hdfvr\- edit hdfvr\Application.xml and change the value of the <StorageDir> tag:
<StorageDir></StorageDir> (by default it's empty)- save and
- restart FMIS or
- reload the hdfvr app using the FMS Management Console .
For example you could change the path to a folder inside your public Apache web server folder like this :
<StorageDir>/usr/sites/site.com/public_html/recorded_videos/</StorageDir>
Red5:
There's no easy way right now!
You will have to reset the license key (delete the old one) if you want to:
- upgrade from the SD to the HD version (a new key is issued)
- change the domain name which you want to us the HDFVR (a new key is issued)
- any license key error
Here's how to do it:
On FMIS:
- delete this file
Flash Media Server\applications\hdfvr\sharedobjects\_definst_\licensekey.fso- restart FMIS or reload the hdfvr app using the FMS Management Console .
- when trying to record you will be asked for the license key again
On Red5:
- delete this file:
Red5\webapps\hdfvr\persistence\SharedObject\_definst_\licensekey.red5- restart Red5
- when trying to record you will be asked for the license key again
On Wowza:
- delete this file:
Wowza Media Server 2\applications\hdfvr\sharedobjects\_definst_\licensekey.rso- restart Wowza
- when trying to record you will be asked for the license key again
HDFVR holds all the texts used in the UI in an external text xml file: translations/en.xml
To change a word/phrase or translate the entire HDFVR user interface just edit that file with a text editor, search for the text you want to translate it and change it!
Now save the new .xml file and upload it to your hdfvr installation folder on your web server!
If the old translation shows up clear your browser cache!
Design
There are 4 variables in avc_settings.xxx that control the looks of HDFVR: backgroundColor, menuColor, radiusCorner and padding.
Here are the variables and explanations from avc_settings.php:
Here's an image explaining what controls what:
![]()
Size
The video recorder is actually a swf file: VideoRecorder.swf embedded in a html file: VideoRecorder.html .
To change the size of HDFVR you need to edit the html file and look for the width and height values of the embed and object tags. You can use fixed values like this: 300px or relative values like this: 100% .
The width and height is specified in 2 places in the HTML file (once for IE, the second time for Firefox, Chrome, etc...) so make sure you change in both.
Red5 0.8 had an issue where when recording high quality video over slow connections (or at a data rate more than ~1Mbit/s which is the max supported by Flash Player) resulted in low quality/scrambled video files (just audio, all video at the end).
Why did it happen? Well because of a combination of issues:
- Flash Player when it can not put all the audio/video data on the wire it buffers the video and sends only the audio to the media server (as if the stream is live!). Wrong, we know because the stream is specifically destined for being recorded!
- In such scenarios Red5 0.8 would not wait for the video data to arrive and would write the audio data in the .flv file (Wowza and FMIS wait longer for the data and rearrange the packets).
Red5 0.9 had recording audio or video totally broken, there's no way to use that.
Red5 1.0 RC1 to the rescue then.
Red5 1.0 RC1 has a mechanism where it waits longer for the audio and video data and rearranges it before writing it to the disk. The problem is that it's server side buffer is way too short.
To increase it's buffer you need to
- Edit: Red5/conf/red5-common.xml and find this line:
<property name="queueThreshold" value="33"/>- Change 33 to any big number (we've used 3600 for example, as if the number would represent seconds but it doesn't! it represents packets).
- Restart Red5 so that it will pick up the new number.
That's it. On our tests the structural and video quality of the resulting .flv files was much, much more better than with Red5 0.8.
You can download Red5 1.0 RC1 from here: http://code.google.com/p/red5/ .
RESULTS WITH THIS SOLUTION HAVE BEEN MIXED. It seems bigger values (like 3600 used below) work for recording huge ammounts of video+audio data (like a HD video recording) but don't work for small video ammount of data (like 320x240 recording).
The next tutorial will help you setup your HDFVR and Flowplayer so that you can stream live with them. This tutorial includes the main media servers available like FMIS,RED5 and WOWZA.
Step 1: Buy HDFVR application from here hdfvr.com and install it,read the installation instruction here http://hdfvr.com/documentation#1.
Step 2: Complete the following settings in avc_settings.xxx from the files for HDFVR application hosted on your web server:
- $config['connectionstring']
- $config['maxRecordingTime'] Set this option to a higher value to be able to stream for a longer amount of time
- $config['outgoingBuffer'] Set this to 0
- $config["streamName"] This will be the name of your stream. Make sure you do not forget to complete this as you will need it later for Flowplayer
Step 3 (Wowza only): In the conf/hdfvr folder you will find the Application.xml file. Inside this file replace the
value of the StreamType tag from record to livelike this:<StreamType>live< /StreamType>. Step 4: Download Flowplayer from here: http://flowplayer.org/download/index.html and the rtmp plugin for this player from here: http://flowplayer.org/plugins/streaming/rtmp.html .
Step 5: Prepare Flowplayer to receive the stream that you will publish. Your embed code should be similar to this (for more details check out this page http://flowplayer.org/plugins/streaming/rtmp.html):
and
Step 6 (final step): Press record button on HDFVR and you are ready to view the live stream on Flowplayer.
Available video & audio codecs
Flash applications (including HDFVR) can currently encode sound with these 2 codecs:
- NellyMoser's ASAO (older, used by default by HDFVR because it is easily converted by ffmpeg to mp3)
- open source Speex (newer, speech oriented, uses less bandwidth, but its not decoded by default by ffmpeg)
and video with:
- H.264
- Sorenson's Spark H.263
HDFVR quality profile files
In the installation folder of HDFVR you will find a folder named audio_video_quality_profiles. It contains several .xml files, we call these .xml files audio video quality profiles.
Each such quality profile file contains the settings (resolution, frames per second, picture and sound quality, audio codec) used to encode the video/audio data that's coming from your computer's webcam and microphone.
HDFVR ships with several such profile files that you can use out of the box, they are divided in two:
- a set with 4:3 resolutions
- a set with 16:9 (wide) resolutions, they're in the wide folder
How to tell HDFVR what quality profile file to use
There are 2 ways you can tell HDFVR to use a certain quality profile file:
- (default) Trough the qualityurl flash var variable. You will find it in the HTML file embedding the video recorder:
![]()
- Trough the qualityurl variable inside avc_settings.php (or avc_settings.asp). Has higher priority than the qualityurl flash var. If this one is set the qualityurl flash var is ignored.
![]()
You can also make your own quality profiles or edit the existing ones.
How to edit existing quality profile files
Each of the quality profile files has the exact same XML structure:
To edit a quality profile file open it in Notepad (or any other text editor), change the variable/value that you want to change and save the file back to the web server. Now reload HDFVR in the browser and you should see the changes in effect.
Each node/value pair in the quality profile files explained:
![]()
You might also be interested in how the video recorder works and the JS and Php/ASP API's .