[h323plus] Adding H263 codec to openmcu

Jan Willamowius jan at willamowius.de
Tue Jan 12 10:34:24 EST 2010


I compiled on a 64bit system. I would guess ffmpeg uses different
assembler code on your 32bit system. I don't really want to
get into supporting such an old ffmpeg version. I'm glad it works here
and hope that Somon soon has the new version ready for a current ffmpeg.

Jan

Michael Bondi wrote:
> Hi Jan,
> 
> I tried the ffmpeg 0.4.7 patched version you sent but the following happens:
> 
> voyage:~/ffmpeg# make
> make -C libavcodec all
> make[1]: Entering directory `/root/ffmpeg/libavcodec'
> gcc -O3 -Wall -fPIC -g -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 
> -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o msmpeg4.o msmpeg4.c
> msmpeg4.c: In function 'msmpeg4_pred_dc':
> msmpeg4.c:845: warning: pointer targets in assignment differ in signedness
> msmpeg4.c: At top level:
> msmpeg4.c:660: warning: 'ff_old_msmpeg4_dc_scale' defined but not used
> wmv2.c:103: warning: 'wmv2_encode_end' defined but not used
> wmv2.c:481: warning: 'ff_wmv2_decode_init' defined but not used
> msmpeg4.c: In function 'msmpeg4_decode_dc':
> msmpeg4.c:734: error: can't find a register in class 'BREG' while 
> reloading 'asm'
> common.h:281: error: 'asm' operand has impossible constraints
> common.h:281: error: 'asm' operand has impossible constraints
> common.h:281: error: 'asm' operand has impossible constraints
> common.h:281: error: 'asm' operand has impossible constraints
> common.h:281: error: 'asm' operand has impossible constraints
> common.h:281: error: 'asm' operand has impossible constraints
> common.h:281: error: 'asm' operand has impossible constraints
> common.h:281: error: 'asm' operand has impossible constraints
> bswap.h:26: error: 'asm' operand has impossible constraints
> common.h:281: error: 'asm' operand has impossible constraints
> msmpeg4.c:734: error: 'asm' operand has impossible constraints
> msmpeg4.c:698: error: 'asm' operand has impossible constraints
> msmpeg4.c:698: error: 'asm' operand has impossible constraints
> make[1]: *** [msmpeg4.o] Error 1
> make[1]: Leaving directory `/root/ffmpeg/libavcodec'
> make: *** [lib] Error 2
> 
> 
> voyage 0.6.2 
> apt-get install flex bison build-essential subversion cvs pkg-config
> 
> Mike
> 
> 
> 
> Jan Willamowius wrote:
> > Hi Michael,
> >
> > here's my patched ffmpeg source. Its really just a quick fix until the
> > updated codec is ready.
> >
> > Regards,
> > Jan
> >
> > Michael Bondi wrote:
> >   
> >> Hi Jan,
> >>
> >> Any idea of when the new ffmpeg 0.5 will be able to be compiled with 
> >> h323 support?
> >>
> >> Are you able to supply me with your patched ffmpeg 0.4.7 so I can 
> >> continue with my current compilation with gcc 4.3, albeit an inelegant 
> >> solution?
> >>
> >> I'd like to learn how the openmcu works with your fantastic gnugk before 
> >> the day is over.
> >>
> >> Mike
> >>
> >> Jan Willamowius wrote:
> >>     
> >>> Yes, the old ffmpeg code doesn't compile with gcc 4.x.
> >>>
> >>> Jan
> >>>
> >>> Michael Bondi wrote:
> >>>   
> >>>       
> >>>> Hi Jan,
> >>>>
> >>>> It appears that I have ver 4.3 of gcc.
> >>>>
> >>>> Could that be the reason for the ffmpeg 0.4.7 make failure?
> >>>>
> >>>> Thanks
> >>>>
> >>>> Mike
> >>>>
> >>>>
> >>>> Jan Willamowius wrote:
> >>>>     
> >>>>         
> >>>>> I have a patched version of ffmpeg-0.4.7, that compiles with gcc 4.4.x,
> >>>>> but there is work going on to let the H.323-ffmpeg plugin compile with
> >>>>> current versions of ffmpeg, which is a much better solution.
> >>>>>
> >>>>> Regards,
> >>>>> Jan
> >>>>>
> >>>>> Michael Bondi wrote:
> >>>>>   
> >>>>>       
> >>>>>           
> >>>>>> Thanks Prasad,
> >>>>>>
> >>>>>> I try install ffmpeg 0.4.7 from 
> >>>>>> http://www.voxgratia.org/bin/ffmpeg-0.4.7.tar.gz but I get the following:
> >>>>>>
> >>>>>> voyage:~/ffmpeg-0.4.7# make
> >>>>>> make -C libavcodec all
> >>>>>> make[1]: Entering directory `/root/ffmpeg-0.4.7/libavcodec'
> >>>>>> gcc -O3 -Wall -g -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 
> >>>>>> -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o common.o common.c
> >>>>>> In file included from avcodec.h:14,
> >>>>>>                  from common.c:27:
> >>>>>> common.h:65: error: array type has incomplete element type
> >>>>>> common.h:69: error: array type has incomplete element type
> >>>>>> make[1]: *** [common.o] Error 1
> >>>>>> make[1]: Leaving directory `/root/ffmpeg-0.4.7/libavcodec'
> >>>>>> make: *** [lib] Error 2
> >>>>>>
> >>>>>> But I proceed and continue  to configure and make and make install the 
> >>>>>> a/v pugins in the ~/h323plus/plugins directory.
> >>>>>>
> >>>>>> I create a directory ~/codecs and copy both 
> >>>>>> h263-ffmpeg_video_pwplugin.so and libavcodec.so (from the 
> >>>>>> libavcodec-0.4.7-linux.bin.tar.gz file) into there. I rename 
> >>>>>> libavcodec.so to avcodec
> >>>>>>
> >>>>>> I set export P_T_LIBPLUGINDIR=~/codecs           (does this have to be 
> >>>>>> P_W_LIBPLUGINDIR ?????)
> >>>>>>
> >>>>>> I run openmcu and connect with Polycom PVX, and I see the video 
> >>>>>> window!!  But the video has strange lines with pink and blue colours, 
> >>>>>> but it is the video from the webcam!
> >>>>>>
> >>>>>> I assume it may be because I do not have the ffmpeg 0.4.7 installed 
> >>>>>> correctly?
> >>>>>>
> >>>>>> I will have a look at installing ffmpeg 0.4.7 direct from ffmpeg site.
> >>>>>>
> >>>>>> So I am closer....
> >>>>>>
> >>>>>> Thanks again for the help.
> >>>>>>
> >>>>>> Mike
> >>>>>>
> >>>>>>
> >>>>>> Prasad Mohire wrote:
> >>>>>>     
> >>>>>>         
> >>>>>>             
> >>>>>>> HI Michael,
> >>>>>>>
> >>>>>>> I guess you have compiled PTLIB and H323plus and OpenMCU correctly. 
> >>>>>>> H323plus doesn't need ffmpeg. ffmpeg is needed by h323plus avplugin. 
> >>>>>>> You were able to hear audio because h323plus comes with G711 codecs. 
> >>>>>>> You will need to build H263 plugin separately.
> >>>>>>>
> >>>>>>> h263 plugin needs ffmpeg version 0.47. To install it:
> >>>>>>>  run ./configure --enable-shared, then make and make install in ffmpeg 
> >>>>>>> directory.
> >>>>>>>
> >>>>>>> Once that is done, download the plugins directory from h323plus.com 
> >>>>>>> <http://h323plus.com>.
> >>>>>>> untar the direcory under h323plus directory so that you will have 
> >>>>>>> plugins directory under h323plus.
> >>>>>>> Goto plugins directory.
> >>>>>>> run ./configure
> >>>>>>> You should see h263 : yes in output of configure script. This means it 
> >>>>>>> will build H.263 plugin. If it is 'no' there is something wrong with 
> >>>>>>> prerequisites i.e. ffmpeg. make sure that libavcodec.h file is in 
> >>>>>>> include path.
> >>>>>>>
> >>>>>>> once you see H.263: yes as output, run make and make install in 
> >>>>>>> plugins directory.
> >>>>>>> create a directory to store the plugins. Set environment variable 
> >>>>>>> PWLIBPLUGINDIR pointing to that directory. Copy 
> >>>>>>> h323plus/plugins/video/h.263/h263-ffmpeg_video_pwplugin.so file to 
> >>>>>>> $PWLIBPLUGINDIR. Copy libavcoded.so to $PWLIBPLUGINDIR  and rename it 
> >>>>>>> to avcodec.
> >>>>>>>
> >>>>>>> Now start openmcu, it should load with H.263 capability.
> >>>>>>>
> >>>>>>> File "C:\\traces.txt" will be created in directory from which you will 
> >>>>>>> start openmcu. You can see what all capabilities are added while 
> >>>>>>> openmcu is started in that file.
> >>>>>>>
> >>>>>>>
> >>>>>>> Thanks and Regards,
> >>>>>>> Prasad.
> >>>>>>>
> >>>>>>>
> >>>>>>> On Fri, Jan 8, 2010 at 3:32 PM, Michael Bondi 
> >>>>>>> <mike at bridgeconference.co.za <mailto:mike at bridgeconference.co.za>> wrote:
> >>>>>>>
> >>>>>>>     Hi all and Happy 2010!
> >>>>>>>
> >>>>>>>     This may have been asked before, but I cannot help myself but to
> >>>>>>>     ask again.
> >>>>>>>
> >>>>>>>     I have compiled ptlib 2.4.5 and h323plus 1.21 and openmcu 2.2.5 on
> >>>>>>>     a Debian 5 machine.
> >>>>>>>
> >>>>>>>     I am able to connect and hear the tones and message for connecting
> >>>>>>>     but am unable to get video on the screen.
> >>>>>>>
> >>>>>>>     I have tried compiling h323plus with only the 0.4.7 ffmpeg
> >>>>>>>     libavcodec.so placed in a directory /root/codec and compiled with
> >>>>>>>     ./configure --enable-rfc2190avcodec=/root/ffmpeg switch, all
> >>>>>>>     compiles fine, but still no h.263 video. Is there any more I need
> >>>>>>>     to do here?
> >>>>>>>
> >>>>>>>     Also, I am getting confused where to unpack and install the a/v
> >>>>>>>     plugins from file
> >>>>>>>     http://www.h323plus.org/source/download/plugins-v1_21_0.tar.gz
> >>>>>>>
> >>>>>>>     Thanks
> >>>>>>>
> >>>>>>>     Mike
> >>>>>>>
> >>>>>>>
> >>>>>>>       
> >>>>>>>           
> >>>>>>>               
> >>>>>   
> >>>>>       
> >>>>>           
> >>>   
> >>>       
> >
> >
> >   


-- 
Jan Willamowius, jan at willamowius.de, http://www.gnugk.org/



More information about the h323plus mailing list