Posts Tagged ‘hdfvr’

HDVR and FLVAR tip: How to save the recorded files in a different folder on FMIS!

Monday, March 15th, 2010

Both the HD Flash Video Recorder and the FLV Audio Recorder grab the audio/video data from the webcam/mic, encode it and send it to the media server where it is saved in a .flv file.

The folder where the .flv files are crated can be changed on FMIS. To do this you need to :

  1. Copy conf\_defaultRoot_\_defaultVHost_\Application.xml to applications/hdfvr or to applications/audiorecorder.
  2. Edit the newly copied Application.xml with a text editor.
  3. Change the value of the <StorageDir></StorageDir> tag (line 191) to the folder where you want the .flv files to be created.
  4. Save Application.xml and restart FMIS or reload the application using the FMIS Management Console.

Ensuring high connection success rate

Tuesday, February 23rd, 2010

Why a connection attempt to a working media server might fail:

Red5, FMIS and Wowza by default only accept  rtmp connections over port 1935. This will work fine for most home Internet connections however when you’re behind a corporate firewall/network you might hit 2 major restrictions:

  1. NO traffic/connections to non standard ports like 1935 (default port for rtmp). Traffic is only allowed to standard ports like 80 (http) and 443 (https) . The solution for this is to configure the media server to accept  rtmp connections over ports 443 and 80 .
  2. NO non-http traffic allowed (or a proxy server is used). The solution for this is to configure the media server to accept  rtmpt connections. Rtmpt is rtmp wrapped as http and its slower. It also adds some overhead/consumes more bandwidth because each rtmp packet needs to be wrapped as http. According to a 2004 Adobe article, only 4% of Internet users are behind such a network.

The automatic connection sequence in Flash Player:

By default, when a Flash Player app (AVChat 3 for example) tries to connect to a media server (Red5, FMIS or Wowza), it automatically tries to establish a connection by using the following sequence of ports and protocols:

  1. rtmp://myserver:1935/avchat30/_definst_
  2. rtmp://myserver:443/avchat30/_definst_
  3. rtmp://myserver:80/avchat30/_definst_
  4. rtmpt://myserver:80/avchat30/_definst_

This connection sequence can enable connections to succeed that otherwise would not. This automatic retry sequence occurs only if the initial connection specifies the RTMP protocol and does not specify a port - for example rtmp://myserver/avchat30/_definst_ . During this connection sequence, users may wait several seconds for multiple connection attempts to time out.

However for the above connection sequence to actually produce more sucessfull connection attempts the media server must also be properly configured to listen for rtmp connections over ports 1935, 443 and 80 and for rtmpt connections over port 80.

Configuring your media server for best connection success rate:

[Before making the below changes make sure there is no other program listening on port 80 or 443 on your media server. These ports are surely already used by Apache. Use the netstat -ant command on linux to see which ports are already used.  FMIS, Red5 and Wowza use port 1935 by default for a reason!].

If you’re using FMIS:

  • solution for restriction 1: move it to a separate server and configure it listen for rtmp connections over ports 1935, 443 and 80. You need to edit conf/fms.ini, set ADAPTOR.HOSTPORT = :1935,443,80 and restart FMIS. Make sure you don’t have other apps (like the Apache web server) started and listening on 80 or 443.
  • solution for restriction 2:  same as above, FMIS can listen for both rtmp and rtmpt connections over the same ports at the same time

Most FMIS hosting services (like influxis.com) are already configured like this  out of the box.

If you’re using  Wowza:

  • solution for restriction 1: move it to a separate server and make it listen for rtmp connections over ports 1935, 443 and 80. You need to edit conf/VHost.xml , set <Port>1935,443,80</Port> and restart Wowza. Make sure you don’t have other apps (like the Apache web server) started and listening on 80 or 443.
  • solution for restriction 2: same as above, Wowza can listen for both rtmp and rtmpt connections over the same ports at the same time

If you’re using Red5:

  • solution for restriction 1: move it to a separate dedicated/vps server and bind rtmp connections to port 443 instead of 1935 (Red5 0.9 can not listen for rtmp connections over several simultaneous ports like Wowza and FMIS can). You need to edit conf/red5.properties, set rtmp.port=443 and restart Red5. Make sure you don’t have other apps (like the Apache web server) started and listening on 443 . You can also use port 80 but we will use that for listening for rtmpt connections as explained below.
  • solution for restriction 2: bind rtmpt connections to port 80. You need to edit conf/red5.properties, set rtmpt.port=80 and restart Red5. Make sure you don’t have other apps (like the Apache web server) started and listening on 80.

How can you check your connection

Here you will find 2 port testers which will attempt to establish rtmp and rtmpt connections (using all ports) to a properly configured media server. Red5 ships with a similar tool and you can download another one from here.

More info

There is a great article (from 2005 I think) on the Adobe website that goes more in depth about these issues. I recommend you read it if you want to understand a little bit more about how the Internet works and why these steps are necessary and why such configurations are not the default: http://www.adobe.com/devnet/flashcom/articles/firewalls_proxy.html .

Small HDFVR update (build 191)

Thursday, December 10th, 2009

HDFVR embedded in a HTML page

HDFVR embedded in a HTML page

Today we’ve rolled out the second build of our HD Flash Video Recorder. We have fixed the issues that were discovered by our first clients and also added some new features.

New features:

  • added tool tips on buttons
  • updated all video quality profiles to use 30fps by default
  • added minimum recording duration setting
  • added setting to enable/disable the snapshot taking feature (snapshotEnable in avc_settings.xxx, enabled by default)
  • added setting to enable/disable the automatic deletion of UNSAVED flv’s (deleteUnsavedFlv in avc_settings.xxx, disabled by default)
  • added option to add the userId to the file name (useUserId in avc_settings.xxx, false by default)
  • added min:sec estimation of the time remaining until the entire video data streams to the media server
  • added 2 new JS hooks to the API: onSaveJpgOk() and onSaveJpgFailed()

Fixed issues:

  • when the automatic snapshot was taken the video recorder would freeze for half a second, this pause was also present in the resulting .flv files.
  • the record button would sometimes start as disabled
  • lots of other smaller fixes

Our new app: the HD Flash Video Recorder

Monday, November 23rd, 2009

We are launching today a new application, the HD Flash Video Recorder:

HDFVR allows you to record up to 720p HD video directly on your website from your users.

Some of the features:

  • Record video up to 1280×720px @ 30fps (720p HD).
  • Java Script and PHP/ASP API for seamless integration with your recording procedure.
  • Design flexibility: you can change the colors and size to better fit your website.
  • Works with all media servers: FMIS , Red5 and Wowza (our first Wowza compatible product).
  • Takes jpeg snapshots automatically.

You can read all about the cool features here: http://hdfvr.com/features .

Demo

You can start the demo from the HDFVR home page:  http://hdfvr.com .

Pricing:

  • $195 for the SD version (records video of up to 640×480 resolution)
  • $245 for the HD version (records video of up to 1280×720 resolution)

You can purchase the HDFVR right now from http://hdfvr.com/buy-now .

Upgrades for previous customers

All our previous customers who have bought the video recorder will get a free upgrade to the SD version of our  HD Flash Video Recorder, just drop us an email at contact@avchat.net .

30 day trial

To get the trial email support@avchat.net with the domain on which you want to test the new recorder.

Future Plans

We hope you like the new video recorder. Some of the features (like the snapashot taking functionality) have been requested by our customers for a long time and we are happy to finally deliver them.

We’ve also tried to take the video recorder to the next step by allowing HD video to be recorded trough it. We’ve successfully recorded 720p video @ 30 fps using the Microsoft LifeCam Cinema HD, but more on that in a future post!

As of today this new app will replace our existing video recorder app.

The plans are now to extend the JS API even further, support for the new Speex audio codec introduced in Flash Player recently and improve the overall design/usability/experience of the app.

This is also our first product to be hosted on a new website/domain. In the following months we will move all our apps to their own websites. This will mean the existing and potential customer will get better, more customized information (requirements, FAQ’s , support info, purchase and refunds info, pricing,  source code availability) about the specific app.