Category Archives: Red5

Testing Media Server Latency

Remus Negrota,
Product Manager

Published by Remus on | No Comments

AVChat 3, Flash Media Server, Red5, Research, Wowza

Latency and especially high latency is one of the main problems when it comes to real time communication between a client and a server, so we decided to do some testing that would ultimately tell us which of the 3 main media-servers (AMS, Wowza and Red5) can achieve the lowest latency.

The Testbed

The testing was done using our flagship product, AVChat 3, for both client and server side as application.

The client side of AVChat was installed on a local machine in Romania. The local machine has the following processing and memory specifications: Intel i5 CPU @ 3.30Ghz and 8 GB of RAM, on a Windows 7 x64 OS.

For the media server I’ve used a VPS located in New York and one in Amsterdam, both with the following specifications: 4 CPUs and 8 GB of RAM, on a Linux CentOS 6.5 x64 OS.

This test was done using just one connected client.

The delay was probed in two ways:

  1. Using an implemented  ‘ping’ like call from the client to the server that measured the round trip time (RTT) of the message:
  2. Turning on the live-stream and measuring the delay between the broadcast and the viewing of the stream by simply holding a stopwatch app in front of the camera and measuring the difference that was shown between the 2 videos, like so:

delay

Notice that in the image above there is a time difference of 120 ms between the two videos, which corresponds approximately with the RTT, shown in the green box, of 99 ms. The difference between the two obtained values of 21 ms can be accounted by the time it takes to encode the video on the broadcasters side and to decode the video on the viewer’s side.

The Actual Results

I’ve made a comparison table for all the 3 media-servers tested for both the RTT and the delay between broadcast stream and viewing stream and here are the results:

Media ServerRTTStream Delay
AMS 5.0.3 default settings146 - 229 ms390 ms - 520 ms
AMS 5.0.3 tweaked settings140 - 160 ms390 ms - 780 ms
Red5 1.0 RC1140 - 192 ms240 - 390 ms
Wowza Streaming Engine 4.0.3139 - 221 ms390 - 580 ms

The tweaked AMS settings mentioned in the table above are the ones Adobe recommends for obtaining lower latencies:

  • StreamManager/Live/Queue/MaxQueueSize  in Application.xml. Setting the MaxQueueSize to lower values reduces latency but is less efficient performance wise.
  • StreamManager/Live/Queue/MaxQueueDelay in Application.xml.  Decreasing the queue size reduces latency but is less efficient.

Overall these settings are designed to scale better with more clients connected at once. In this case is not really applicable as there is only one client connected.

The number of clients connected at any given time also plays a major role when it comes to latency. Some media-servers scale better in this regard but this is not the focus of our current experiment.

With that being said as you can see there are no major differences between the 3 media-servers when it comes to either RTT or stream delays.

To further the experiment I’ve made the same tests with an identical VPS only this time located in Amsterdam, so the connection was Romania – Amsterdam, instead of Romania – New York as previously tested, and here are the results:

Media ServerRTTStream Delay
AMS 5.0.3 default settings58 - 82 ms90 - 130 ms
Wowza Streaming Engine 4.0.362 - 87 ms80 - 140 ms
Red5 1.0 RC159 - 91 ms100 - 150 ms

After this final testing we can draw the following conclusion: the most important aspect when it comes to latency between client and server is the location of the server in relation to the location of the client.

Different technologies and tweaks may help with decreasing the latency but ultimately the distance between client and server will be the determining point.

New phpFox build adds mobile support integration for AVChat3 (build 2202)

Stefan Nour,
Integrations Specialist

Published by stefan on | No Comments

AVChat 3, Builds, Flash Media Server, Integrations, phpFox, Red5

Hello everyone,

As I promised , I updated the phpFox integration kit for AVChat to support the latest changes (ex. mobile version) that were made to our video chat (find out more). Here is a list of what was updated in the phpFox module:

  • Never miss a new message from now. New browser tab notification lets you see how many new messages you received if you are in another browser tab.
  • Detect if the browser is mobile or desktop and provide the appropriate content.
  • Detect if you installed the AVChat files into the component directory.
  • Facebook Application ID field integration in backend.

Remember that you need the latest build of AVChat (build 2170) to have access to these great features and also Red5 or FMS media server. This update is currently available only for phpFox 3, but if users demand, we will support other version of phpFox also.

You can download the latest version(build 2202) from you private client area.

Have a great day!

AVChat Build 2160 has arrived.

Remus Negrota,
Product Manager

Published by Remus on | 2 Comments

AVChat 3, Builds, Mobile, Red5

We are proud to bring you this year’s first build of AVChat that has a lot of major changes and a heap of improvements for both the Flash client and the HTML5 client

Here are the new features:

1. Red5 support for the mobile AVChat 3 client is here.

Setting it up: The mobile client requires a Web Server: A  web server with at least PHP 5.3.10  hosting the chat. 

Socket support must be enabled. You can use phpinfo(); to check if sockets are enabled.

After a normal installation, open avchat3.properties and change the webServerIp setting (new setting) to reflect the IP  of your web server.

Also you might want to disable some of the red5 logs, because when someone connects from the mobile client, Red5 will generate a lot of logs. To do this go in the installation directory of your Red5 server -> conf – > logback.xml, and here edit the following 2 settings:

<logger name="org.red5.io">
<level value="DEBUG" />
</logger>.

Change the level value from “DEBUG” to “INFO” in the code above..

<logger name="org.red5.server.adapter.MultiThreadedApplicationAdapter" >
<level value="OFF"/>
</logger>

Change the level value from “DEBUG” to “OFF” in the code above.

2. Updated .aspx files

upload.aspx, avc_settings.aspx and style.aspx have been brought up to date to their .php counterparts so now they pull all the configuration data from  avc_settings.xml, file_types.xml and style.xml .

3. New mechanism for removing empty rooms automatically

A new delete rooms mechanism has been implemented.  Previously the rooms were  automatically deleted  as soon as the last person left the room as described in the documentation

The media server now constantly checks for empty rooms and if:

  • deleteRoomsWhenTheyBecomeEmpty = true ,
  • the room is not protected (not included in the doNotDeleteTheseRoomsWhenTheyBecomeEmpty array) and
  • is inactive for more than the number of hours expressed by a new setting ( deleteEmptyInactiveRoomsOlderThan ), then the room is deleted.

4. Better UI for when used in narrow spaces

AVChat now fits correctly in narrow spaces, this was a problem well known with some integrations. Here’s a quick view of it

5. New feature: CHAT HISTORY (for copying the entire chat history)

Added new button (Chat history) that opens up a new window with the whole chat history of the rooms it is opened in. This feature also take into account the setting autoAddIpToUsername. Here’s how it looks:

6. New ability to block all requests for access to a private stream

We added a new button that can be used to block all the view private stream requests.

 

7. Lots of improvements for the AVChat 3 Mobile Client:

 

  1. The mobile client now supports emote icons. The path to the icons is stored in the same setting as for the flash client (emoticonsurl).

  2. The mobile client now displays distinct icons for users that come from other mobile clients or from the desktop flash client.

    The camera/microphone icons now have 3 states: active ( icons are shown normal), inactive (icons are shown faded), and hidden(user has no cam/mic).

  3. The connect button on the mobile client is now disabled unless a username with a least 3 characters is typed in.

  4. Welcome message has been added to the chat room upon entry.

  5. Pinch-zoom has been disabled for the mobile client to avoid unwanted scaling of the elements.

  6. Fixed an issue with the mobile client that caused the Login button from the rooms list to not work after it was clicked if the rooms list was reloaded

 

8. The following issues have been fixed on the Flash client:

  1. We implemented a cleanup for  the rooms list on connect for all media servers, to check if all the rooms contained in the rooms list are still physically on the disk, if not we delete them. This was discovered to cause the empty text chats and empty users list problem.
  2. The background of the uploaded images when shown in the top right corner of the text chat area now scale according to the image size.

  3. The user’s own camera no longer launches in another separate window if autoStartMyCamera and autoStartCameras are set to true.
  4. Fixed issue with error messages that could not be seen entirely when the chat window was too narrow, here’s how it looks now:

  5. Fixed small issue with owner name of a room being filled with the room name instead, in the users__.xml file on FMS.
  6. Fixed issue with rotating text chat messages when leaving all rooms.
  7. Fixed issue with the aligning of elements on the Y axis after an image that wasn’t square shaped was uploaded ( the issue was all other elements left a gap between the image and the next element )
  8. Fixed padding for welcome messages and rotating messages.

  9. Fixed issue with emoticons being  replaced when formed with the “event:” string used by FP and a username like this “event:paula” where “:p” would be seen as an emoticon and replaced with spaces, redirecting to an empty html link instead of triggering an event.
  10. Fixed issue with search in users list working only in the first room that was joined.
  11. Fixed small issue with shadow direction on the tab bar when flipTabMenu was set to true.

How to download and upgrade?

You can download this new build of AVChat from your client area. As a trial user you do not yet have access to this build.

Steps to upgrade an old installation:

  1. overwrite all old client side files (You can keep your old language files. The missing phrases will default to English until you add them to your existing language XML file.)
  2. overwrite the media server files and restart the media server

If you have issues with it after upgrading make sure you clear your browser’s cache. If you still have issues after doing that send us an email at support@avchathq.com.

If you want us to upgrade your AVChat installation for you you can purchase our additional AVChat Installation Service from here: http://avchat.net/buy-now#services .  Once you make the purchase just email us at contact@avchathq.com .

 

How to use multiple installations of Red5 on the same server

Alin Oita,
Director of Tech Support

Published by alin on | No Comments

AVChat 3, Flash Media Server, Red5, Research, Tips & Tricks

“I’d like to know if I can run other Red5 instances on my server, besides the one that AVChat requires.”

This is an issue that came recently for some of our existing customers and I thought that we can share this info to everybody.

 

It happens that you have been using a software that requires Red5 to transmit data and you have installed, for example, Red5 0.9. Good..

Now, after you got an AVChat license, you heard that the only compatible versions of Red5 with the chat software are 0.8 and 1.0 RC1. This made you wonder if you can still use your previous software running on the same Red5 0.9 as before and make a different installation of Red5, for AVChat to run.

You have to know that all versions of Red5 are using the same port configuration and if 2 copies of Red5 are started, there will be a port conflict there.

The default ports used by Redt5 are:

  • 5080 for HTTP
  • 1935 for RTMP
You need to configure one copy of Red5 to use different ports. Here’s how to do it:
  1. Open the /conf folder and search for a file called red5.properties.
  2. Open it with a text editor
  3. Change the value of all the ports, but make sure that the new ones are available, no other application on the server is using them.
This screenshot shows an example of the lines that must be edited for each of the paragraphs:

 

 

 

 

 

 

 

 

 

 

 

 

After editing this file, Red5 must be restarted in order for the changes to apply.

Good..now we can start both Red5 instances with 2 different software using them.

I hope this helped and..happy chatting !

New AVChat October build 1772 introduces great new features

Remus Negrota,
Product Manager

Published by Remus on | 2 Comments

AVChat 3, Builds, Flash Media Server, Red5, Wowza

Hello, my name is Remus and i am a new employee at AVChat Software. I will be from now on , the main developer for AVChat 3.0 and build 1772 is my first build, and the one that helped me understand the inner workings of how it was developed so far. I hope i managed to implement a useful set of new features along with the other developers, and that we will continue to do so in the future.

Here are the major changes we did for you in this build:

  1. We added a new feature that allows users to filter NSFW (not safe for work) content through the setting userCanSeeNSFWContent in avc_settings.xxx. This feature has 3 types of filtering: full filter which doesn’t allow any kind of NSFW content, a more permissive filter that allows the content to be available to other users but it is hidden unless the user chooses to see it, and fully permissive filter. The feature can also  be disabled altogether from avc_settings.xxx through the enableNSFWFeature setting. This will also completely remove the UI elements from the chat interface ( the checkboxes).
  2. We added a new feature that allows users to choose the position of the tab menu (up or down) relative to the text chat area through the setting flipTabMenu in avc_settings.xxx
  3. We added a new search feature to the users list which allows you to search users by username (case insensitive)
  4. We improved the media server logs, they now contain logs on users joining/leaving rooms, users getting kicked from rooms, users getting kicked from chat and users getting banned. This will allow site owners to better supervise the activity of their moderators.
  5. AVChat can now be setup to prevent duplicate usernames. A nickname can be used only once. This feature is disabled by default because we’re still getting reports of ghost users (and this will affect integrated versions) but it can be enabled from the media server settings file (settings.asc on FMS, avchat3.properties on Red5 and Wowza), just look for the uniqueUserNames setting.
  6. The size of the side menus for the users list, user items and webcam area, now scale accordingly to the text length.
  7. The names of the uploaded files on your web server through AVChat now contain the username of the uploader in them.
  8. We added more YouTube link support so short youtube links will also be previewed.
  9. Pressing enter on the login screen now has same effect as pressing the connect button. Yaay.

Other improvements:

  • Ability to choose the default state of the button that enables the sounds in chat, through the setting defaultStateTextChatSoundButton in avc_settings.xxx
  • Ability to choose the default user color used in the color picker through defaultUserColor setting in avc_settings.xxx if the toggleRandomColors feature is disabled
  • Added all the new phrases in en.xml for all the new features, together with fallback ones
  • Updates to style.css

Here’s what’s fixed

  • Fixed issue with automatically created  rooms with password not working on Wowza
  • Fixed issue with infinite rooms being created when auto create rooms was enabled on FMS
  • Fixed issue with NSFW feature not working properly on Wowza and on private message tabs
  • Fixed issue with close room button not being displayed correctly

How to download and upgrade?

You can download this new build of AVChat from your client area. As a trial user you do not yet have access to this build.

Steps to upgrade an old installation:

  1. overwrite all old client side files (You can keep your old language files. The missing phrases will default to English until you add them to your existing language xml file.)
  2. overwrite the media server files and restart the media server

If you have issues with it after upgrading make sure you clear your browser’s cache. If you still have issues after doing that send us an email at support@avchathq.com.

If you want us to upgrade your AVChat installation for you you can purchase our additional AVChat Installation Service from here: http://avchat.net/buy-now#services .  Once you make the purchase just email us at support@avchathq.com .

What’s next?

With more hands on the deck we’re preparing at least  2 major builds before Christmas.