[h323plus] [Opalvoip-devel] error H.263

Simon Horne s.horne at packetizer.com
Tue Feb 22 04:38:13 EST 2011


Jan 

You are correct . To match to a bandwidth the encoder must know frame size
and rate. The plugin support is very much h323plus specific. You can
calculate the frame size/rate by using the internal table or can use a
supplied list of supported frame sizes/rates. These can be manually coded
from largest to smallest or retrieved from the video input device.
DirectShow for instance supports retrieving the list of supported sizes and
rates via calling PVideoInputDevice:: GetDeviceCapabilities().

These can be passed to the codec via calling
PLUGINCODEC_CONTROL_SET_FORMAT_OPTIONS.  In h323plus the function to do this
is H323VideoCodec::SetSupportedFormats. The function returns the default
frame size and rate for the given bitrate that is supported by the input
device. Then you can set the input device with the returned frame size /rate
in the MyH323Endpoint::OpenVideoChannel. See Applications/SimplePlus for
example of how that is done.

The bandwidth (and level\MBPS etc) values for the X264 Encoder is set by
PLUGINCODEC_CONTROL_SET_CODEC_OPTIONS which is called after the local and
remote capabilities have been merged in h323plus.

Then there is flowControl which does basically the same thing. You pass to
the plugin a bitrate value via PLUGINCODEC_CONTROL_FLOW_OPTIONS it then
returns a supported frame size/rate (internal or supplied earlier) then you
pass these value to the input device via calling PVideoInputDevice::
FlowControl(). 

The architecture of Opal has deviated a lot from its h323plus roots and I
think there is a lot more things to consider to getting this to work with
it. 

Simon

-----Original Message-----
From: Jan Willamowius [mailto:jan at willamowius.de] 
Sent: 22 February 2011 18:46
To: opalvoip-devel at lists.sourceforge.net
Subject: Re: [Opalvoip-devel] error H.263

When I debugged a similar bandwidth issue on H323Plus a few months ago, I
found that the bit rate setting was passed to the encoder correctly, but to
correctly meet this target the encoder needs to know the correct values of
influencing parameters, like the frame rate.
In my case the frame rate wasn't passed in correctly, so the encoder kept
producing video at the wrong rate.

I haven't fixed the issue back then, but worked around it. I'm not sure if
anybody else has (or if the same applies to the OPAL version of the codec).

Regards,
Jan

Robert Jongbloed wrote:
> Quick question on this helper app, do you know if the bit rate control 
> works with it?
> 
>  
> 
> As far as I can tell, I am setting it to 256kbps and it is still 
> sending at 4Mbps. So, before I go digging deeper, I was hoping for a 
> bit of a sanity check.
> 
>  
> 
> Thank you very much!
> 
>  
> 
> Robert Jongbloed
> 
> OPAL/OpenH323/PTLib Architect and Co-founder.
> 
>  
> 
> From: Simon Horne [mailto:s.horne at packetizer.com]
> Sent: Monday, 7 February 2011 10:01 PM
> To: 'Robert Jongbloed'; 'ZAHRA dehghanianfard'
> Cc: 'opal'; 'opal'; h323plus at lists.packetizer.com
> Subject: RE: error H.263
> 
>  
> 
> I think both the opal and h323plus community can benefit.
> 
> http://www.h323plus.org/source/download/ffmpeg_x264.zip
> 
>  
> 
> Place all files in your application directory.
> 
> The FFMPEG (with w32threads) and X264 is built with mingw/msys.
> x264plugin_helper.exe is built with vs2008 and requires vs2008 runtime.
> 
>  
> 
> Simon
> 
>  
> 
> From: Robert Jongbloed [mailto:robertj at voxlucida.com.au]
> Sent: 07 February 2011 15:48
> To: ZAHRA dehghanianfard
> Cc: opal; opal
> Subject: Re: [Opalvoip-devel] error H.263
> 
>  
> 
> The answer to your questions are:
> 
>  
> 
> 1) Yes, but you need to compile it.
> 
> 2) The result of compiling it is a DLL
> 
> 3) You will have to figure out why it doesn't compile under windows.
> 
>  
> 
>  
> 
> I have to admit to not being able to get the H.263 (or x264) codecs to 
> compile and work under Windows, though I have only tried somewhat briefly.
> Unfortunately the authors of all the libraries mainly use Linux, 
> though it is my understanding that it can be compiled using MinGW/Cygwin.
> 
>  
> 
>  
> 
> I am sure the OPAL community would be incredibly grateful to anyone 
> that can provide a pre-built binary for the H.263 (and x264!) codec.
> 
>  
> 
> 
> --------
> 
> Robert Jongbloed
> 
> Vox Lucida Pty. Ltd.
> 
>  
> 
>  
> 
>  
> 
> On 03/02/2011, at 5:33 PM, ZAHRA dehghanianfard wrote:
> 
>  
> 
> 
> Hi robert.
> 
> Many thanks for your last support; I need to use OpenPhone3.8.2 by 
> H.263 codec run.
> 
> 1)      Is OpenPhone 3.8.2 with Opal 3.8.2 & Ptlib2.8.2 support H.263
codec
> inside?
> 
> 2)      If the above response is YES, Are you suggesting any H.263 DLL
file?
> 
> 3)      I find a source that name is "H.263-1998" then I download that and
> compiles it but I find below Error inside:
> 
>  
> 
> 1>------ Build started: Project: H.263-1998 (FFMPEG) Video Codec,
> Configuration: Debug Win32 ------
> 1>Compiling...
> 1>h263pframe.cxx
> 1>c:\opal\plugins\video\h.263-1998\../common/ffmpeg.h(155) : fatal 
> 1>error
> C1083: Cannot open include file: 'libavcodec\avcodec.h': No such file 
> or directory
> 1>h263-1998.cxx
> 1>c:\opal\plugins\video\h.263-1998\../common/ffmpeg.h(155) : fatal 
> 1>error
> C1083: Cannot open include file: 'libavcodec\avcodec.h': No such file 
> or directory
> 1>Generating Code...
> 1>Build log was saved at
> "file://c:\opal\plugins\Debug\H263-1998\BuildLog.htm
> <file:///c:\opal\plugins\Debug\H263-1998\BuildLog.htm> "
> 1>H.263-1998 (FFMPEG) Video Codec - 2 error(s), 0 warning(s)
> ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped 
> ==========
> 
>  
> 
> I try to solve this problem by download a "libavcodec" that use some 
> header & DLL file that I copy in "C:\opal\plugin\video\common" but I 
> take below
> error:
> 
>  
> 
>  
> 
> 1>------ Build started: Project: H.263-1998 (FFMPEG) Video Codec,
> Configuration: Debug Win32 ------
> 1>Compiling...
> 1>h263pframe.cxx
> 1>c:\opal\plugins\video\h.263-1998\../common/ffmpeg.h(185) : fatal 
> 1>error
> C1189: #error :  Libavcodec LIBAVCODEC_VERSION_INT too old.
> 1>h263-1998.cxx
> 1>c:\opal\plugins\video\h.263-1998\../common/ffmpeg.h(185) : fatal 
> 1>error
> C1189: #error :  Libavcodec LIBAVCODEC_VERSION_INT too old.
> 1>Generating Code...
> 1>Build log was saved at
> "file://c:\opal\plugins\Debug\H263-1998\BuildLog.htm
> <file:///c:\opal\plugins\Debug\H263-1998\BuildLog.htm> "
> 1>H.263-1998 (FFMPEG) Video Codec - 2 error(s), 0 warning(s)
> ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped 
> ==========
> 
>  
> 
> Please guide me to i can have H.263 codec with DLL & source over 
> OpenPhone
> 3.8.2 here.
> 
> I am in wait for your response.
> 
> Best Regards.
> 
> Zahra. 

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

----------------------------------------------------------------------------
--
Index, Search & Analyze Logs and other IT data in Real-Time with Splunk
Collect, index and harness all the fast moving IT data generated by your
applications, servers and devices whether physical, virtual or in the cloud.
Deliver compliance at lower cost and gain new business insights. 
Free Software Download: http://p.sf.net/sfu/splunk-dev2dev
_______________________________________________
Opalvoip-devel mailing list
Opalvoip-devel at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opalvoip-devel




More information about the h323plus mailing list