[h323plus] Optmized version os libs

Simon Horne s.horne at packetizer.com
Mon Feb 18 07:44:12 EST 2008


Marcos

You can send the modified files to me as I will probably apply the changes ASAP. Generally they should be put in the tracker on SF.

With respect to knowing who gets added where and when in the MCU. There is a quite extensive H.230 framework support now in H323plus which allows you to exchange all kinds of information via H.245 messaging between the participants and the MCU in the conference. OpenMCU does not support this yet however here is basically how it works.

You load the H323_ConferenceControlCapability into the capability list of both the endpoint and the MCU. 

The MCU & endpoint call H323Connection::OpenConferenceControlSession() to open a conference control session. This really does not do too much but if it returns False then you know the remote does not support conference controls.

You create a H230Control object for each connection that supports conference controls.
Each time someone registers you call in the MCU
H230Control::UserEnquiryResponse() and you can send a list of all the participants in the MCU to the user including their id, name and number.

The H230Control can do a lot more than this including being able to inviting and ejecting people. Make sure you use h323plus 1.20.x as a lot of changes where made after the 1.19.x release.

Simon


-----Original Message-----
From: h323plus-bounces at lists.packetizer.com [mailto:h323plus-bounces at lists.packetizer.com]On Behalf Of Marcos Fábio Jardini
Sent: Monday, February 18, 2008 9:10 PM
To: H323plus
Subject: Re: [h323plus] Optmized version os libs


Thanks Simon

I'll track the files in CVS and begin the upgrade in our OpenMCU.
Our MCU already accepts 4CIF, are there some place to i can send the modified source or a diff file?
It is a little modification on OpenMCU src. The new behaviour is:

-MCU allways send 4CIF, participans can send QCIF or CIF-
  1 person   with video > no video at all
  2 persons with video > the MCU rescale to 4CIF and send.
  3 persons with video > the MCU rescale to 4CIF and mix videos in 2x2 CIF
...
16 persons with video > the MCU rescale to 4CIF and mix videos in 4x4 QCIF

The processor runs at 85% in a dual-core pentium4.

The only awful think in MCU is the non-sequential way that videos are added to the frame sended by the MCU. With an ordered sequence we can track the name of the participants in each respective video.

Other possibility is to send the coordinates of the participant's video with the presence-message, or by other type of message. Is this possible?

2008/2/15, Simon Horne <s.horne at packetizer.com>:
Marcos

To set being about to send 4CIF you use the command
H323EndPoint::SetVideoFrameSize(H323Capability::H323Capability::cif4MPI)
Note this a maximum value so you still will be able to receive CIF or QCIF.

Sizes above CIF use a generic plugin codec definition and this command sets the parameters of that generic codec to a maximum size of 4CIF.

You will need to use the H323plus CVS as it does not work in v1.20.2. (needs patch in h323pluginmgr.cxx)

Of course you will need to alter your OpenMCU video mixer code etc to handle 4CIF.

Just to note H323plus also supports extendedVideo capability (see H.239 code) which also allows you to create a generic capability with the ability to use multiple Video Inputs. :-)

Simon
-----Original Message-----
From: h323plus-bounces at lists.packetizer.com [mailto:h323plus-bounces at lists.packetizer.com]On Behalf Of Marcos Fábio Jardini
Sent: Friday, February 15, 2008 9:40 PM
To: h323plus at lists.packetizer.com

Subject: Re: [h323plus] Optmized version os libs


Thanks Simon, actualy we are developing with PWLib 1.10.3 and OpenH323 1.18.0. I already played arround PVideoOutputDevice, injecting the incoming video (converted to BGR) to an Java BufferedImage Data Buffer directly and re-split the video of participants in separate panels (in the tests we have realtime response). Now I'm trying to move the project from the old versions to the H323+ new versions (a very good job, I need no more that's hacks to compile in Windows :)

About the H.263 codec, there some app to see an exemple of how set the H263 Capability and set it 4CIF?
We're successfully using the ffmpeg H.263 plugin in linux and windows in a modified version o OpenMCU 2.2.0. But just I'm moving the old libs no this new project I'm a little stuck with H263 Capability and 4CIF.

Thanks again.


2008/2/14, Simon Horne <s.horne at packetizer.com>: 
Marcos

All video codecs in h323plus are plugin. Seperate files which are read in at startup with your application. These plugins are just generic c/c++ code which do not need linking to the main h323plus library. There are plugins for H.261,H.263 and a H.264 under testing. The H.263 and H.264 plugins use the FFMPEG library however having the AMD option would be good. The best place to start would be to look at the H.263 plugin which is available with the A/V plugins (Linux) from the H323plus website. Knowledge of the interworkings of h323plus is not needed although you may need assistance with how the plugins are linked in and used in the library.

If you need further assistance please let me know.

Simon

 -----Original Message-----
From: h323plus-bounces at lists.packetizer.com [mailto:h323plus-bounces at lists.packetizer.com]On Behalf Of Marcos Fábio Jardini
Sent: Friday, February 15, 2008 4:56 AM
To: h323plus at lists.packetizer.com
Subject: [h323plus] Optmized version os libs


To not spend work in reinventing the wheel I want to know if there are people working in the codecs and PColourConverter classes using the AMD Performance Library.

AMD is providing the APL lib in Linux, Windows and Solaris flavours, and they version of GNU GCC 4 for RH and SuSe.
(http://developer.amd.com)


I'm woking in a project for use in internet2, so I'll 'spend' some time in create of a RAW YVU420 codec, but reading the APL manuals they provide suport for H.264 :). If some have interest or already in the same effort....

If someone already have a RAW codec or already using the APL please can share some hints on sourceforge forums of this project, I'll be pleased.

Other question I have is how to add the H.263 video capability in H323Plus, I'm new to the H.323 and openH323 implementation and I am a bit lost with the modifications in H323plus.

When the work is done I'll ask to put the code or the link it to the internet (it's a project sponsored by the government for a public university so, I think I'll have no problems in sharing the codes produced/modified)

-----




-- 
-----
Jogue RPG, alimente o lado criativo! 



-- 
-----
Jogue RPG, alimente o lado criativo! 





More information about the h323plus mailing list