[Asterisk-video] Videomixing in MeetMe

Klaus Darilion klaus.mailinglists at pernau.at
Tue Jun 19 08:56:24 CDT 2007


Hi Lorenzo!

Things are getting better: Asterisk talks with the videomixer but I 
think there is a codec problem:

Asterisk log: (Iuse eyebeam with all codecs enabled)

INVITE sip:869 at mediaserver2.at43.at SIP/2.0
Via: SIP/2.0/UDP 
10.10.0.50:29552;branch=z9hG4bK-d87543-755a95473e758f6d-1--d87543-;rport
Max-Forwards: 70
Contact: <sip:202 at 83.136.33.3:29552;transport=udp>
To: "869"<sip:869 at mediaserver2.at43.at>
From: "202"<sip:202 at mediaserver2.at43.at>;tag=d964697b
Call-ID: OWFmNjQxNzA5ZGM2ODAxNTA2YmIwNjc4MTNkZDZiNGU.
CSeq: 2 INVITE
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, 
SUBSCRIBE, INFO
Content-Type: application/sdp
Proxy-Authorization: Digest 
username="202",realm="asterisk",nonce="608ee24d",uri="sip:869 at mediaserver2.at43.at",response="d66122dffca85f89e638f032da552306",algorithm=MD5
User-Agent: eyeBeam release 1011s stamp 41121
Content-Length: 869

v=0
o=- 3 2 IN IP4 83.136.33.3
s=CounterPath eyeBeam 1.5
c=IN IP4 83.136.33.3
t=0 0
m=audio 44770 RTP/AVP 100 106 0 97 105 8 18 3 101
a=fmtp:18 annexb=yes
a=fmtp:101 0-15
a=rtpmap:100 SPEEX/16000
a=rtpmap:106 SPEEX-FEC/16000
a=rtpmap:97 SPEEX/8000
a=rtpmap:105 SPEEX-FEC/8000
a=rtpmap:18 G729/8000
a=rtpmap:101 telephone-event/8000
a=sendrecv
a=x-rtp-session-id:3E345C6E2BF14E93B85B2C742B94481F
m=video 28898 RTP/AVP 125 126 115 34
a=fmtp:125 profile-level-id=42e00a; packetization-mode=1; max-br=524; 
max-mbps=11880
a=fmtp:126 profile-level-id=42e015; packetization-mode=1; max-br=524; 
max-mbps=11880
a=fmtp:115 QCIF=1 CIF=1 I=1 J=1 T=1 MaxBR=10485
a=fmtp:34 QCIF=1 MaxBR=10485
a=rtpmap:125 H264/90000
a=rtpmap:126 H264/90000
a=rtpmap:115 H263-1998/90000
a=rtpmap:34 H263/90000
a=sendrecv
a=x-rtp-session-id:B19248251246423CA8CBCC65CF99E729

<------------->
--- (13 headers 27 lines) ---
Sending to 83.136.33.3 : 29552 (NAT)
Using INVITE request as basis request - 
OWFmNjQxNzA5ZGM2ODAxNTA2YmIwNjc4MTNkZDZiNGU.
Found peer '202'
Found RTP audio format 100
Found RTP audio format 106
Found RTP audio format 0
Found RTP audio format 97
Found RTP audio format 105
Found RTP audio format 8
Found RTP audio format 18
Found RTP audio format 3
Found RTP audio format 101
Found RTP video format 125
Found RTP video format 126
Found RTP video format 115
Found RTP video format 34
Peer audio RTP is at port 83.136.33.3:44770
Found description format SPEEX for ID 100
Found description format SPEEX-FEC for ID 106
Found description format SPEEX for ID 97
Found description format SPEEX-FEC for ID 105
Found description format G729 for ID 18
Found description format telephone-event for ID 101
Found description format H264 for ID 125
Found description format H264 for ID 126
Found description format H263-1998 for ID 115
Found description format H263 for ID 34
Capabilities: us - 0x8060e (gsm|ulaw|alaw|speex|ilbc|h263), peer - 
audio=0x38030e (gsm|ulaw|alaw|g729|speex|h263|h263p|h264)/video=0x380000 
(h263|h263p|h264), combined - 0x8020e (gsm|ulaw|alaw|speex|h263)
Non-codec capabilities (dtmf): us - 0x1 (telephone-event), peer - 0x1 
(telephone-event), combined - 0x1 (telephone-event)
Peer audio RTP is at port 83.136.33.3:44770
Peer video RTP is at port 83.136.33.3:28898
Looking for 869 in from_sipphones (domain mediaserver2.at43.at)
list_route: hop: <sip:202 at 83.136.33.3:29552;transport=udp>

<--- Transmitting (NAT) to 83.136.33.3:29552 --->
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 
10.10.0.50:29552;branch=z9hG4bK-d87543-755a95473e758f6d-1--d87543-;received=83.136.33.3;rport=29552
From: "202"<sip:202 at mediaserver2.at43.at>;tag=d964697b
To: "869"<sip:869 at mediaserver2.at43.at>
Call-ID: OWFmNjQxNzA5ZGM2ODAxNTA2YmIwNjc4MTNkZDZiNGU.
CSeq: 2 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
Contact: <sip:869 at 83.136.32.165>
Content-Length: 0


<------------>
     -- Executing [869 at from_sipphones:1] MeetMe("SIP/202-0821fec0", 
"869") in new stack
Video is at 83.136.32.165 port 11946
Audio is at 83.136.32.165 port 10144
Adding codec 0x200 (speex) to SDP
Adding codec 0x2 (gsm) to SDP
Adding codec 0x4 (ulaw) to SDP
Adding codec 0x8 (alaw) to SDP
Adding codec 0x80000 (h263) to SDP
Adding non-codec 0x1 (telephone-event) to SDP

<--- Reliably Transmitting (NAT) to 83.136.33.3:29552 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 
10.10.0.50:29552;branch=z9hG4bK-d87543-755a95473e758f6d-1--d87543-;received=83.136.33.3;rport=29552
From: "202"<sip:202 at mediaserver2.at43.at>;tag=d964697b
To: "869"<sip:869 at mediaserver2.at43.at>;tag=as4ce911b8
Call-ID: OWFmNjQxNzA5ZGM2ODAxNTA2YmIwNjc4MTNkZDZiNGU.
CSeq: 2 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
Contact: <sip:869 at 83.136.32.165>
Content-Type: application/sdp
Content-Length: 388

v=0
o=root 21086 21086 IN IP4 83.136.32.165
s=session
c=IN IP4 83.136.32.165
b=CT:384
t=0 0
m=audio 10144 RTP/AVP 97 3 0 8 101
a=rtpmap:97 speex/8000
a=rtpmap:3 GSM/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv
m=video 11946 RTP/AVP 34
a=rtpmap:34 H263/90000
a=sendrecv

<------------>
   == Parsing '/etc/asterisk/meetme.conf': Found
     -- Created MeetMe conference 1023 for conference '869'
     --  Requesting new VideoMixer session for conference 869
     -- [CVM] Conference 869 --> Session 4
     --  Started Video RTP Channel for user 1 on port 10706, notifying 
VideoMixer...
     --  Format 524288 --> 34/H.263 (confirmed)
     -- Video Format: H.263
     -- <SIP/202-0821fec0> Playing 'conf-onlyperson' (language 'en')
     -- [CVM] User 1 (869) --> Session 4 / Peer 8
     --  Incoming H.263 (34) Video RTP Channel waiting on port 10040, 
notifying VideoMixer...
     --  VideoMixer (34) RTP-Listener for ConferenceID 869 started
     -- [CVM] <cvm_protocol> Error (Invalid Port for destination)

<--- SIP read from 83.136.33.3:29552 --->
ACK sip:869 at 83.136.32.165 SIP/2.0
Via: SIP/2.0/UDP 
10.10.0.50:29552;branch=z9hG4bK-d87543-351f687e427f6424-1--d87543-;rport
Max-Forwards: 70
Contact: <sip:202 at 83.136.33.3:29552;transport=udp>
To: "869"<sip:869 at mediaserver2.at43.at>;tag=as4ce911b8
From: "202"<sip:202 at mediaserver2.at43.at>;tag=d964697b
Call-ID: OWFmNjQxNzA5ZGM2ODAxNTA2YmIwNjc4MTNkZDZiNGU.
CSeq: 2 ACK
Proxy-Authorization: Digest 
username="202",realm="asterisk",nonce="608ee24d",uri="sip:869 at mediaserver2.at43.at",response="d66122dffca85f89e638f032da552306",algorithm=MD5
User-Agent: eyeBeam release 1011s stamp 41121
Content-Length: 0


<------------->



Videomixer log:
CVM_CLI*> Session 4 created
CVM_CLI*> Process thread started for Session n.4 (Conference 869)
CVM_CLI*> Process thread for Session n.4 (Conference 869) put to sleep...
ortp-message-Using permissive algorithm
CVM_CLI*> Source 8 added to Session 4
CVM_CLI*> Source thread: session 4, peer 8, RTP /13148
CVM_CLI*>       RTP:     OK
CVM_CLI*>       Context: OK
CVM_CLI*>       Decoder: OK
CVM_CLI*>       Frames:  OK
CVM_CLI*> Waking up the process thread...
CVM_CLI*> Process thread for Session n.4 (Conference 869) woken up
ortp-message-Using permissive algorithm
[h263 @ 0xb7eafca0]bitrate tolerance too small for bitrate
CVM_CLI*> Error opening codec
CVM_CLI*> Destination 4294967295 added to Session 4
CVM_CLI*> Error 'Message: Invalid Port for destination'


I read that only QCIF is supported. How do I know what codec eyebeam uses?

thanks
klaus



Lorenzo Miniero wrote:
> Hi Klaus,
> 
> the videoswitch command only works for normal MeetMe conferences. It is 
> used for mixing too, as you noted: with it you activate a video source; 
> I was just too lazy to create a new console command, so I used the one I 
> already created for basic videoswitching. When no source is active, 
> however, each client should receive a video with a static logo image in 
> it. There's no limitation in how many video sources there can be: the 
> only limitation is on the layout at the moment: that is, you can0t have 
> more than 8 people together on the screen.
> 
> Which codecs did you enable in Eyebeam and X-Lite?
> 
> Here's all the required steps to test (hopefully with success) the 
> videomixer:
> 
> 
> 	1) launch the videomixer;
> 
> 	2) launch Asterisk (at this point both should report the connection);
> 
> 	3) have a client call the number associated to a MeetMe conference 
> (I'll assume that the number 8600 is associated to the conference 1234);
> 
> 	4) when the client calls, many notifications appear in Asterisk, as:
> 		* the messages exchanged with the videomixer (in green), where you can 
> see if the session has been established, and the peer created successfully;
> 		* the video codec negotiated by the client;
> 		* the notifications regarding the created RTP channels to bridge the 
> video;
> 
> 	5) notifications appear in the mixer too, and you can get info on the 
> sessions by typing 'show sessions' (you'll probably have to look for the 
> output, since ffmpeg "steals" the console with its debug output);
> 
> 	6) even with no source active yet, the client should already see some 
> video, in this case a static logo image;
> 
> 	7) to enable a source, you use the videoswitch command; so, assuming 
> Eyebeam is user 2 in the conference (you can get the list of users by 
> typing 'meetme list 1234'), type:
> 
> 		videoswitch 1234 2
> 
> 	if the source has been successfully enabled, you'll see a "Peer X 
> enabled in session Y", where X and Y are the related videomixer 
> identifiers; the source should then be included in the mix, and the 
> layout updated;
> 
> 	8) you can repeat the step 7 for each source you want to enable; to 
> disable a source, use the same command, since the videoswitch command is 
> an on/off trigger.
> 
> 
> With these steps all should work, assuming the codecs are supported, and 
> QCIF resolutions are exploited (CIF and others are not supported yet).
> 
> In case it still doesn't work, could you paste me the output of Asterisk 
> when you have your clients join the conference?
> 
> 
> Thanks again for the feedback, hope to hear you soon,
> Lorenzo
> 
> 
> 
> Klaus Darilion ha scritto:
>> Hi Lorenzo!
>>
>> I still have no success. I tried it with 2 clients - one eyebeam with 
>> webcam (send and receive video) and one xlite (no webcam, thus receive 
>> video only).
>>
>> I saw video RTP packets to Asterisk, but no video packets from Asterisk 
>> to the SIp phones.
>>
>> I played around with the the videoswitch command. I thought that 
>> switching the video source to the eyebeam client with camera should give 
>> me this video streamed to both clients - but there was no video at all.
>>
>> Thus, are there some requirements - e.g. a minimum of x clients with 
>> webcam which send video to Asterisk?
>>
>> When using standard Meetme conferences (no B option, thus no BCP) - is 
>> it possible to use the videomixer too or do I only can use videoswitch 
>> to activate a certain video source?
>>
>> regards
>> klaus
>>
>> Lorenzo Miniero wrote:
>>> Hi Klaus,
>>>
>>> the prefix you see there is for XCON-compliant conferences, i.e. for 
>>> conferences with BFCP support, and they are created and configured in 
>>> another configuration file (xcon.conf).
>>>
>>> However, if you are using a softphone which is not our enhanced Minisip, 
>>> you should use normal MeetMe conferences instead, since otherwise you 
>>> wouldn't be able to exploit the new protocols anyway. Normal MeetMe 
>>> conferences are added as usual in meetme.conf.
>>>
>>> So, just enable a voice in the dialplan for the default meetme conference:
>>>
>>> 	exten => 8600,1,MeetMe(1234)
>>>
>>> and have your clients call that number to test the videomixer. To enable 
>>> and disable users' video use the videoswitch command:
>>>
>>> 	videoswitch conf user (e.g. videoswitch 1234 1)
>>>
>>> Let me know what you think of it, regards!
>>> Lorenzo
>>>
>>>
>>>
>>>> Hi Lorenzo!
>>>>
>>>> using "./configure --enable-libogg --enable-libvorbis --enable-gpl 
>>>> --enable-shared --enable-swscaler" worked for then. Then I only had to 
>>>> uncomment -lswscale in the make and linking was fine. Starting was also 
>>>> fine and when Asterisk started it connected to the videomixer:
>>>>
>>>> CVM_CLI*> New client connected (127.0.0.1:36218)
>>>>
>>>> Also the status in Asterisk looks fine:
>>>> samuel*CLI> xcon info
>>>> samuel*CXCON prefix 867xxxx
>>>>          BFCP Server listening on port 2345 (TCP/BFCP)
>>>>          BFCP Server List active with max 10 conferences allowed (0 active).
>>>>          XconScheduler Server listening on port 2346
>>>>          Remote Confiance VideoMixer listening on 127.0.0.1:7000
>>>>
>>>>
>>>> I added the extensions:
>>>> [xcon]
>>>> ; XCON through MeetMe: example of wildcards to add flexibility
>>>> ;       - First 7 numbers = conference
>>>> ;       - Next (1-4) numbers = PIN (Phone PIN, not Admin's password)
>>>> ;
>>>> ; the 'B' flag tells MeetMe this is an XCON conference (B => BFCP)
>>>> ;
>>>> exten => _867.,1,Meetme(${EXTEN:0:7}|B|${EXTEN:7})
>>>> exten => _867.,2,Hangup
>>>> ;
>>>> ; XconScheduler
>>>> ;
>>>> exten => 868,1,Answer
>>>> exten => 868,2,XconScheduler()
>>>> exten => 868,3,Hangup
>>>> ;
>>>>
>>>>
>>>> But if I call a conference room (e.g. 8671234) I only get "That is not a 
>>>> valid conference number":
>>>>
>>>> -- Executing [8671234 at from_sipphones:1] MeetMe("SIP/201-0823cf88", 
>>>> "8671234|B|") in new stack
>>>> == Parsing '/etc/asterisk/xcon.conf': Found
>>>>    -- <SIP/201-0823cf88> Playing 'conf-invalid' (language 'en')
>>>>
>>>>
>>>> I also tried adding the conference room to meetme.conf:
>>>> conf => 8671234
>>>> conf => 1234
>>>>
>>>> But the same result: "That is not a vlaid conference number"
>>>>
>>>>
>>>> any hints?
>>>>
>>>> thanks
>>>> klaus
>>>>
>>>> Lorenzo Miniero wrote:
>>>>> PS: if it can be of help, these are the settings I configured FFmpeg 
>>>>> with, and which surely work:
>>>>>
>>>>> FFmpeg version SVN-r8380, Copyright (c) 2000-2007 Fabrice Bellard, et al.
>>>>>    configuration: --prefix=/usr --enable-libfaac --enable-libgsm 
>>>>> --enable-libmp3lame --enable-xvid --enable-x264 --enable-libogg 
>>>>> --enable-libvorbis --enable-libtheora --enable-gpl --enable-shared 
>>>>> --enable-libfaad --enable-swscaler --cross-prefix=/usr/bin/
>>>>>    libavutil version: 49.4.0
>>>>>    libavcodec version: 51.40.4
>>>>>    libavformat version: 51.12.1
>>>>>    built on May 29 2007 10:54:40, gcc: 4.1.1 20070105 (Red Hat 4.1.1-51)
>>>>>
>>>>> Cheers,
>>>>> Lorenzo
>>>>>
>>>>>
>>>>> Klaus Darilion ha scritto:
>>>>>> Hi Lorenzo!
>>>>>>
>>>>>> Now with ortp 0.13.1 and adding -lavutil:
>>>>>>
>>>>>> darilion at samuel:/export/darilion/confiance/confiance_videomixer-0.1$ make
>>>>>> gcc  -ggdb -o cvm.o -c cvm.c -Wall -Wstrict-prototypes 
>>>>>> -Wmissing-prototypes -Wmissing-declarations -O2
>>>>>> gcc  -ggdb -o cvm_protocol.o -c cvm_protocol.c -Wall -Wstrict-prototypes 
>>>>>> -Wmissing-prototypes -Wmissing-declarations -O2
>>>>>> gcc  -ggdb -o cvm_session.o -c cvm_session.c -Wall -Wstrict-prototypes 
>>>>>> -Wmissing-prototypes -Wmissing-declarations -O2
>>>>>> gcc  -ggdb -o confiance_vm cvm.o cvm_protocol.o cvm_session.o -Wall 
>>>>>> -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -O2 
>>>>>> -lortp -lavcodec -lavformat -lavutil -lpthread
>>>>>> /usr/local/lib/libavformat.a(utils.o)(.text+0x2947): In function 
>>>>>> `av_find_stream_info':
>>>>>> /export/darilion/confiance/ffmpeg/libavformat/utils.c:1908: undefined 
>>>>>> reference to `avcodec_pix_fmt_to_codec_tag'
>>>>>> /usr/local/lib/libavformat.a(allformats.o)(.text+0x21): In function 
>>>>>> `av_register_all':
>>>>>> /export/darilion/confiance/ffmpeg/libavformat/allformats.c:47: undefined 
>>>>>> reference to `avcodec_register_all'
>>>>>> /usr/local/lib/libavformat.a(raw.o)(.text+0xb3c): In function `ac3_probe':
>>>>>> /export/darilion/confiance/ffmpeg/libavformat/raw.c:435: undefined 
>>>>>> reference to `ff_ac3_parse_header'
>>>>>> /usr/local/lib/libavformat.a(mov.o)(.text+0x213b): In function 
>>>>>> `mov_read_cmov':
>>>>>> /export/darilion/confiance/ffmpeg/libavformat/mov.c:1136: undefined 
>>>>>> reference to `uncompress'
>>>>>> /usr/local/lib/libavformat.a(mp3.o)(.text+0x92): In function 
>>>>>> `mp3_read_probe':
>>>>>> /export/darilion/confiance/ffmpeg/libavformat/mp3.c:410: undefined 
>>>>>> reference to `ff_mpa_decode_header'
>>>>>> collect2: ld returned 1 exit status
>>>>>>
>>>>>>
>>>>>> I tried to change the order of the ffmpeg libraries during linking, but 
>>>>>> then other errors occour.
>>>>>>
>>>>>>
>>>>>> regards
>>>>>> kalus
>>>>>>
>>>>>> Lorenzo Miniero wrote:
>>>>>>> Hi Klaus,
>>>>>>>
>>>>>>> first of all thanks for giving the videomixer a try!
>>>>>>>
>>>>>>> libortp4 must be really updated, since the latest version of oRTP is 
>>>>>>> 0.13.1, which is the one I'm using. In case you don't find a deb 
>>>>>>> package, you can get the source here:
>>>>>>>
>>>>>>> 	http://download.savannah.nongnu.org/releases/linphone/ortp/sources/
>>>>>>>
>>>>>>> About FFmpeg, the LIBS variable is probably missing a -lavutil. Try 
>>>>>>> adding it after -lavformat. Let me know if it fixes the problem and I'll 
>>>>>>> correct it in the package too.
>>>>>>>
>>>>>>> Cheers,
>>>>>>> Lorenzo
>>>>>>>
>>>>>>>
>>>>>>> Klaus Darilion ha scritto:
>>>>>>>> Hi Lorenzo!
>>>>>>>>
>>>>>>>> I have problems when linking the videomixer:
>>>>>>>>
>>>>>>>> cvm_session.o(.text+0x93b): In function `cvm_peer_new':
>>>>>>>> /export/darilion/confiance/confiance_videomixer-0.1/cvm_session.c:315: 
>>>>>>>> undefined reference to `rtp_session_set_connected_mode'
>>>>>>>> /usr/local/lib/libavformat.a(utils.o)(.text+0x2947): In function 
>>>>>>>> `av_find_stream_info':
>>>>>>>> /export/darilion/confiance/confiance_videomixer-0.1/ffmpeg/libavformat/utils.c:1908: 
>>>>>>>> undefined reference to `avcodec_pix_fmt_to_codec_tag'
>>>>>>>> /usr/local/lib/libavformat.a(allformats.o)(.text+0x21): In function 
>>>>>>>> `av_register_all':
>>>>>>>>
>>>>>>>> I use libort4 (from backports.org for debian woody) and
>>>>>>>> ffmpeg self-installed from todays SVN trunk.
>>>>>>>>
>>>>>>>> Which version of ortp do you use.
>>>>>>>>
>>>>>>>> regards
>>>>>>>> klaus
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Lorenzo Miniero wrote:
>>>>>>>>> Klaus Darilion ha scritto:
>>>>>>>>>> Hi Lorenzo!
>>>>>>>>>>
>>>>>>>>>> How can the VideoMixer be used with Asterisk?
>>>>>>>>>>
>>>>>>>>>> regards
>>>>>>>>>> klaus
>>>>>>>>> Hi Klaus,
>>>>>>>>>
>>>>>>>>> both the videomixers are external elements, which receive commands 
>>>>>>>>> through dedicated protocols. The patch which you can get on 
>>>>>>>>> http://confiance.sf.net/ enables MeetMe to talk this protocols, and to 
>>>>>>>>> bridge the video RTP connections between the users and the active 
>>>>>>>>> videomixer.
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> Lorenzo
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> Lorenzo Miniero wrote:
>>>>>>>>>>> Hi all,
>>>>>>>>>>>
>>>>>>>>>>> I just uploaded on the CONFIANCE webpage, http://confiance.sf.net/, 
>>>>>>>>>>> the patch to enable videomixing and continuous presence in MeetMe. 
>>>>>>>>>>> The patch enables such functionality both for our enhanced MeetMe 
>>>>>>>>>>> (i.e. video sources are enabled/disabled through BFCP moderation) and 
>>>>>>>>>>> for basic MeetMe rooms (the videoswitch console command I uploaded 
>>>>>>>>>>> some time ago is used to enable/disable video sources). All the 
>>>>>>>>>>> instructions needed to build and configure it are attached with the 
>>>>>>>>>>> patch.
>>>>>>>>>>>
>>>>>>>>>>> To provide such a feature MeetMe can make use of two videomixers:
>>>>>>>>>>>
>>>>>>>>>>>     * the CONFIANCE VideoMixer we're writing (available on 
>>>>>>>>>>> http://confiance.sf.net/);
>>>>>>>>>>>     * the VideoMixer Sergio Garcia Murillo is writing (available via 
>>>>>>>>>>> svn, svn co http://sip.fontventa.com/svn/mcu, needs xmlrpc-c 1.1).
>>>>>>>>>>>
>>>>>>>>>>> You can choose which one to use by setting a value in the 
>>>>>>>>>>> configuration file. You can even disable them both and still rely on 
>>>>>>>>>>> basic videoswitching, if you're not interested in videomixing...
>>>>>>>>>>>
>>>>>>>>>>> All is work in progress, so both Sergio and I would really appreciate 
>>>>>>>>>>> any kind of feedback you'll be able to provide us.
>>>>>>>>>>>
>>>>>>>>>>> I'll spend two words on my work, and I'll let Sergio speak of his own 
>>>>>>>>>>> since I couldn't do it better than him. The CONFIANCE VideoMixer 
>>>>>>>>>>> currently provides:
>>>>>>>>>>>
>>>>>>>>>>>     * adaptive layouts according to how many active video sources are 
>>>>>>>>>>> feeding the mix;
>>>>>>>>>>>     * continuous presence for up to 8 users (this can be easily 
>>>>>>>>>>> enhanced by adding new layouts in the code; if you look at the code, 
>>>>>>>>>>> you'll see that creating and modifying layouts is really simple);
>>>>>>>>>>>     * a static logo when no video sources are active;
>>>>>>>>>>>     * support for H.261, H.263 and H.263+ (QCIF only for the moment).
>>>>>>>>>>>
>>>>>>>>>>> Currently, only one global layout is available for all users in the 
>>>>>>>>>>> same conference, but this will be changed in the future.
>>>>>>>>>>>
>>>>>>>>>>> We tested it with many softphones, as:
>>>>>>>>>>>
>>>>>>>>>>>     * Minisip, one the softphone we're enhancing to add XCON support, 
>>>>>>>>>>> and which makes use of H.263+ as codec;
>>>>>>>>>>>     * another custom client we're writing, making use of H.263 (JMF);
>>>>>>>>>>>     * X-Lite 3.0, H.263;
>>>>>>>>>>>     * Ekiga stable 2.0.x (H.261).
>>>>>>>>>>>
>>>>>>>>>>> All work quite fine except Ekiga, since H.261 support in our 
>>>>>>>>>>> videomixer is still quite buggy (probaby related to how we handle the 
>>>>>>>>>>> H,261 payload header), and sometimes makes Ekiga crash. Any feedback 
>>>>>>>>>>> upon this will be more than welcome!
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> If you're interested in knowing something more about the 
>>>>>>>>>>> implementation details and/or how the videomixers have been 
>>>>>>>>>>> integrated in MeetMe, feel absolutely free to ask.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Hope to hear you soon, regards,
>>>>>>>>>>> Lorenzo
>>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> --Bandwidth and Colocation provided by Easynews.com --
>>>>>>>>>>
>>>>>>>>>> asterisk-video mailing list
>>>>>>>>>> To UNSUBSCRIBE or update options visit:
>>>>>>>>>>   http://lists.digium.com/mailman/listinfo/asterisk-video
>>>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> --Bandwidth and Colocation provided by Easynews.com --
>>>>>>>>
>>>>>>>> asterisk-video mailing list
>>>>>>>> To UNSUBSCRIBE or update options visit:
>>>>>>>>    http://lists.digium.com/mailman/listinfo/asterisk-video
>>>>>>>>
>>>>>> _______________________________________________
>>>>>> --Bandwidth and Colocation provided by Easynews.com --
>>>>>>
>>>>>> asterisk-video mailing list
>>>>>> To UNSUBSCRIBE or update options visit:
>>>>>>    http://lists.digium.com/mailman/listinfo/asterisk-video
>>>>>>
>>>> _______________________________________________
>>>> --Bandwidth and Colocation provided by Easynews.com --
>>>>
>>>> asterisk-video mailing list
>>>> To UNSUBSCRIBE or update options visit:
>>>>    http://lists.digium.com/mailman/listinfo/asterisk-video
>>>>
>> _______________________________________________
>> --Bandwidth and Colocation provided by Easynews.com --
>>
>> asterisk-video mailing list
>> To UNSUBSCRIBE or update options visit:
>>    http://lists.digium.com/mailman/listinfo/asterisk-video
>>
> 
> 



More information about the asterisk-video mailing list