Page 1 of 1

Compiled demos, set 3: Media server (video chat, conference)

Posted: Mon Oct 07, 2013 7:28 am
by Sergey Tkachenko
Below you can find some compiled demo projects showing how applications can send and receive data via the network. These applications consists of two parts: a server and a client. Clients send and receive video (and other information) to each other via the network, but, unlike the send and receive demos, clients are not connected to each other directly. Instead, they are connected to a media server.

All demos are compiled with a bug reporting module. If a demo crashes (or stops responding for more than 20 seconds), it offers to send a bug report to us. Please allow it to send this information. A bug report does not contain any personal information - all it contents are shown in a bug report window.

Make sure that a firewall or an antivirus does not block Internet for these demos.

Please do not discuss demos in this topic - create a new topic if you have a question, a bug report or a suggestion.

All compiled demos in a single file: http://www.trichview.com/support/rvmedi ... -demos.zip
Other demos:
- Video from cameras
- Send and receive video (direct connection)

Upd 2014-02-25: download links are removed; you can find them here: http://www.trichview.com/download/mediademo.html
Upd 2014-10-19: RVMedia 2.0 adds a new demo in this group: "Login" demo shows how to implement authorization. This demo is not listed here.

Posted: Mon Oct 07, 2013 10:12 am
by Sergey Tkachenko
Media server

This application is used as a server for all clients in this topic

Image

Run this demo and click "Start Server" button.

This demo uses TRVMediaServer component.
This server can work with all kinds of clients presented in this topic at the same time: different types of clients do not interfere with each other (it happens because "Chat" communicates only with clients belonging to the specific group on the server, and "Messenger" and "Conference" communicate only with clients belonging to a predefined contact list; while "Messenger" and "Conference" use the same user names in contact lists, user identifiers are different in these demos)

You can run these demos on the same computer or on different computers connected via the Internet.

Normally (in real world applications) clients send video from local web cameras. To simplify testing these applications on the same computer (especially because only one application can use a web camera at the same time), all clients can choose a video source: they can choose either a local web camera or a sample IP camera from the predefined list.

Posted: Mon Oct 07, 2013 10:34 am
by Sergey Tkachenko
Chat

Video chat demo

Image

These applications connect to the media server demo (see above) and can send to each other: video, sound from a microphone, files, text messages.
By default, they connect to media server running on the same computer. If it is running on another computer, enter its address before clicking "Connect"

You can choose video that you will broadcast to another users ("my video"). It will be displayed at the small panel. You can also choose a chat user to receive video from ("receive video from user").
By default, text messages and files are sent to everybody. You can send them privately by choosing an addressee ("send text and files to"). It will be displayed in the large panel.

In this demo, all clients join to the specific group on the server. With minor modifications, this demo could implement chat rooms (they could choose a group to join)

Posted: Mon Oct 07, 2013 3:01 pm
by Sergey Tkachenko
Messenger

Another type of video chat

Image

This demo looks very similar to the previous Chat demo. Messengers connect to the Media Server (see above) and send video, audio, text and files to each other.

Differences:
- Chat client generates new unique identifier and allow to enter a new name for each new client; Messenger logs in as one of predefined accounts (having a stored name and an identifier)
- Chat client enters to a group on the server and communicates with other members in this group. Messenger communicates only to a fixed set of clients (from a contact list)
- Chat sends messages and files to all other members of the group (but can send them privately); messages are shown in a common chat text viewer. Messenger sends text and files privately; it creates a separate chat text viewer for each user.
- Chat's user list contains online members of the group. Messenger displays all users in its contact list; offline users are red, online users are green.

Possibility to improve this demo: implement a contact list editing - request for adding to a contact list, deletion from a contact list, etc.

Posted: Mon Oct 07, 2013 3:26 pm
by Sergey Tkachenko
Conference

One more kind of a video chat

Image

This demo is similar to the previous demo. Conferences connect to the Media Server (see above) and send video, audio and text messages to each other.

Like the Messenger demo, Conference client uses a contact list. It logs in as one of predefined accounts, and communicates only with other members of the contact lists.
Differences:
- Messenger displays video from a single user. Conference displays video from up to 5 users (checked in the list)
- Messenger uses a separate chat text viewer for each user; Conference uses a common chat text viewer for all users, like in the Chat demo
- Sending files and private messages is not implemented in the Conference demo
- Conference displays system messages in the chat viewer.
- Conference displays a traffic statistic at the bottom of the window