[Asterisk-video] Videomixing in MeetMe
Lorenzo Miniero
lorenzo.miniero at unina.it
Fri Jun 15 07:57:45 CDT 2007
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
>
--
Lorenzo Miniero, Junior Researcher
Dipartimento di Informatica e Sistemistica
Università degli Studi di Napoli "Federico II"
Via Claudio 21 -- 80125 Napoli (Italy)
Phone: +390817683821 - Fax: +390817683816
Email: lorenzo.miniero at unina.it
More information about the asterisk-video
mailing list