[Asterisk-video] Videomixing in MeetMe
Klaus Darilion
klaus.mailinglists at pernau.at
Tue Jun 19 02:09:07 CDT 2007
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
>>
>
>
More information about the asterisk-video
mailing list