[Asterisk-video] Videomixing in MeetMe

Klaus Darilion klaus.mailinglists at pernau.at
Wed Jun 20 06:13:48 CDT 2007


HI Lorenzo  - this fix works. Thus, I got mixed video. Below some comments:

- I have lots of troubles with eyebeam when video is activated. System 
and eyebeam need lots of CPU resource and I can't do anything else on my PC.

- ffmpeg reports some compilation problems when started - do you know 
how to solve this?

CVM_CLI*> Session 1 created
CVM_CLI*> Process thread started for Session n.1 (Conference 869)
CVM_CLI*> Process thread for Session n.1 (Conference 869) put to sleep...
ortp-message-Using permissive algorithm
CVM_CLI*> Source 1 added to Session 1
CVM_CLI*> Source thread: session 1, peer 1, RTP /27770
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.1 (Conference 869) woken up
ortp-message-Using permissive algorithm
CVM_CLI*> Destination 2 added to Session 1
Compiler did not align stack variables. Libavcodec has been miscompiled
and may be very slow or crash. This is not a bug in libavcodec,
but in the compiler. Do not report crashes to FFmpeg developers.

- There are lots of ffmpeg error messages during mixing:

-- this one happens always - even if there is only one, deactiated peer 
and the logo is sent out:
[h263 @ 0xb7de8ca0]vbv buffer overflow
[h263 @ 0xb7de8ca0]vbv buffer overflow
[h263 @ 0xb7de8ca0]vbv buffer overflow
[h263 @ 0xb7de8ca0]vbv buffer overflow
[h263 @ 0xb7de8ca0]vbv buffer overflow
....

-- this one happens very often during mixing
[h263 @ 0xb7de8ca0]I cbpc damaged at 0 4
[h263 @ 0xb7de8ca0]Error at MB: 164
[h263 @ 0xb7de8ca0]I cbpc damaged at 0 8
[h263 @ 0xb7de8ca0]Error at MB: 328
[h263 @ 0xb7de8ca0]I cbpc damaged at 0 12
[h263 @ 0xb7de8ca0]Error at MB: 492
[h263 @ 0xb7de8ca0]I cbpc damaged at 0 16
[h263 @ 0xb7de8ca0]Error at MB: 656
[h263 @ 0xb7de8ca0]I cbpc damaged at 0 20
[h263 @ 0xb7de8ca0]Error at MB: 820
[h263 @ 0xb7de8ca0]I cbpy damaged at 0 24
[h263 @ 0xb7de8ca0]Error at MB: 984
[h263 @ 0xb7de8ca0]concealing 609 DC, 609 AC, 609 MV errors
[h263 @ 0xb7de8ca0]Bad picture start code
[h263 @ 0xb7de8ca0]header damaged
...
[h263 @ 0xb7de8ca0]concealing 707 DC, 707 AC, 707 MV errors
[h263 @ 0xb7de8ca0]Bad picture start code
[h263 @ 0xb7de8ca0]header damaged
[h263 @ 0xb7de8ca0]vbv buffer overflow
[h263 @ 0xb7de8ca0]I cbpc damaged at 0 4
[h263 @ 0xb7de8ca0]Error at MB: 164
[h263 @ 0xb7de8ca0]I cbpc damaged at 0 8
[h263 @ 0xb7de8ca0]Error at MB: 328
[h263 @ 0xb7de8ca0]I cbpc damaged at 0 12
[h263 @ 0xb7de8ca0]Error at MB: 492
[h263 @ 0xb7de8ca0]I cbpc damaged at 0 16
[h263 @ 0xb7de8ca0]Error at MB: 656
[h263 @ 0xb7de8ca0]I cbpc damaged at 0 20
[h263 @ 0xb7de8ca0]Error at MB: 820
[h263 @ 0xb7de8ca0]I cbpc damaged at 0 24
[h263 @ 0xb7de8ca0]Error at MB: 984
...

- I tested with 2 peers, thus the video was split into two parts 
(left/right). One video source was shrunk (as it should be), but the 
other source was enlarged (zoomed in): I found out that the enlarged 
video had different settings in xlite. After setting bandwidth in xlite 
from "Fast Cable ..." to "DSl, Cable..." it worked fine.

- If the videomixer is restarted, Asterisk fails to reconnect to the 
videomixer.

- the videomixer does not close all UDP sockets when a conference is 
terminated.

Finally I have some questions about the architecture of the videomixer. 
If I understand it correctly, the Meetme application receives the video 
frames from Asterisk core (which received it from chan_sip) and forwards 
it to the videomixer via UDP. Videomixer receives the video, mixes it, 
and sends the streams back to Meetme. Meetme sends video to the SIP clients.

Why is ortp needed? Is the communication between videomixer and MeetMe 
based on RTP and Meetme acts as bridge for the RTP video packets?


regards
klaus



> Hi Klaus,
> 
> I've understood the problem, it's here:
> 
>> [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'
> 
> 
> It's a problem I fixed recently, when I updated ffmpeg I had this issue 
> too. You basically need to increase the bit_rate_tolerance value in 
> cvm_session.c which was 0, if I remember well. So change it as follows:
> 
> 	OLD:
> 	peer->context->bit_rate_tolerance = 0;
> 
> 	NEW:
> 	peer->context->bit_rate_tolerance = peer->context->bit_rate/5;
> 
> and recompile/reinstall the Confiance VideoMixer. This fixes the problem 
> (at least it worked for me).
> About QCIF/CIF, I can see from your log that H.263 is negotiated 
> (payload type 34), which in Eyebeam's SDP is
> 
> 	a=fmtp:34 QCIF=1 MaxBR=10485
> 
> So QCIF is used, I suppose.
> 
> Let me know if it works this way!
> 
> Cheers,
> Lorenzo
> 



More information about the asterisk-video mailing list