Re: [Ekiga-list] No video with anything other than h261



Le 24/03/2014 14:38, David Woodfall a écrit :
On (24/03/14 14:19), Damien Sandras <dsandras seconix com> put forth the proposition:
Le 24/03/14 13:49, David Woodfall a écrit :
On (24/03/14 12:40), Dave Woodfall <dave dawoodfall net> put forth the proposition:
On (24/03/14 12:36), Dave Woodfall <dave dawoodfall net> put forth the proposition:
On (24/03/14 11:50), Damien Sandras <dsandras seconix com> put forth the proposition:
Le 24/03/14 10:11, David Woodfall a écrit :
On (24/03/14 09:37), Eugen Dedu <Eugen Dedu pu-pm univ-fcomte fr> put forth the proposition:
On 24/03/14 09:33, Damien Sandras wrote:
Le 23/03/14 19:13, David Woodfall a écrit :
On (23/03/14 17:52), Damien Sandras <dsandras seconix com> put forth the
proposition:
Le 23/03/14 14:37, David Woodfall a écrit :
What Asterisk are you running? Is it a default distro like FreePBX? There
are some configs to check, but they are mush easier using the freePBX GUI.

But apart from my asterisk server I only get video on ekiga.net's echo
tester with h261 too.

If it helps any, these are the output of -d 4. The first is using h261
and the second is h263. I rang the ekiga.net echo line then hungup
afterwards:

h261: http://www.r0t.co.uk/paste/p/qJ9yve44.html
h263: http://www.r0t.co.uk/paste/p/cbgaee38.html


You should report a bug to your distribution maintainer. Things are badly
compiled:

2014/03/23 13:31:34.472 0:05.195 Pool:0x7f799496d700 H263+ Successfully
loaded 'libavcodec.so.55'

2014/03/23 13:31:34.472 0:05.195 Pool:0x7f799496d700 H263+ Successfully
loaded 'libavutil.so.52'

2014/03/23 13:31:34.472 0:05.195 Pool:0x7f799496d700 H263+ Error linking
function avcodec_init, error=/usr/lib64/libavcodec.so.55: undefined symbol:
avcodec_init

2014/03/23 13:31:34.472 0:05.195 Pool:0x7f799496d700 H.263-RFC2190 Encoder
closed

My guess would be that it links to a different libavcodec library than the
one whose headers were used to compile things.

I've just recompiled both Opal and Ekiga and get the same error.

There's no way that it's compiled against a different version. Is
there a recommended ffmpeg version to use?

Currently, I have version 2.1.4.

Have you seen this?:
http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2012-April/123454.html



I will have to patch Opal by the look of it.


If the compilation succeeded, that means that avcodec_init was present in your
headers.
If it fails at runtime, that means that the library you are linking to does not
contain that method.

=> your headers and libraries are different, believe me

Perhaps you have ffmpeg/libav installed from your distribution, and you also installed it manually? During compilation, one of them is used, and during execution the other gets used.

Slackware doesn't have ffmpeg in it's stock repo. But like I said I
rebuilt both Opal and Ekiga from what I had installed, and there is
only one version installed.

Impossible !
What does :
grep avcodec_init /usr/ -r
return ?

Ok

grep -r avcodec_init /usr
Binary file /usr/bin/avidemux2_gtk matches
Binary file /usr/bin/audacity matches
Binary file /usr/bin/avidemux2_qt4 matches
Binary file /usr/bin/avidemux2_cli matches
Binary file /usr/lib64/libADM5avcodec.so.53 matches
Binary file /usr/lib64/opal-3.10.10/codecs/video/mpeg4_ffmpeg_ptplugin.so matches
Binary file /usr/lib64/opal-3.10.10/codecs/video/h264_x264_ptplugin.so matches
Binary file /usr/lib64/opal-3.10.10/codecs/video/h263_ffmpeg_ptplugin.so matches
Binary file /usr/lib64/xine/plugins/1.30/xineplug_decode_ff.so matches
Binary file /usr/lib64/libavcodec.a matches
Binary file /usr/lib64/ADM_plugins/videoEncoder/libADM_vidEnc_avcodec.so matches

So the static /usr/lib64/libavcodec.a has the old _init() function, but:

ugh that was from libav. Thought I'd removed it.

Ok so after removing libav and rebuilding yet again:

ekiga -d 4 2>&1 | grep Error
2014/03/24 12:48:13.627   0:04.360          Pool:0x7fa488e42700 H263+   Error linking function avcodec_init, error=/usr/lib64/libavcodec.so.55: undefined symbol: avcodec_init
2014/03/24 12:48:13.629   0:04.362          Pool:0x7fa488e42700 Opal    Error creating transcoder instance from H.263 to YUV420P
2014/03/24 12:48:13.759   0:04.492          Pool:0x7fa488e42700 H263+   Error linking function avcodec_init, error=/usr/lib64/libavcodec.so.55: undefined symbol: avcodec_init
2014/03/24 12:48:13.760   0:04.493          Pool:0x7fa488e42700 Opal    Error creating transcoder instance from YUV420P to H.263

That means that when compiling OPAL the avcodec_init method was present in the ffmpeg headers, and when running the executable, it is not present anymore.

I see Opal picks the plugins in /usr/lib64/opal-3.10.10/codecs/video/

Isn't that the place of an older Opal plugin that was compiled once with an older ffmpeg ?

Anyway, I can not really help more than this. When you link to a library at runtime and it compiains that it does not find a symbol, it means that the compilation was done with headers from a different (and incompatible) version of the library.

All I did, and this is what I did originally, is build/install ffmpeg
2.1 and then Opal/ekiga.

I don't know where plugins should go, but here is a list of all:

http://www.r0t.co.uk/paste/p/pdoGLS92.html

Trust me, there is no other opal or ffmpeg on my system.
Both the ffmpeg and opal slackbuilds are on slackbuilds.org. If they
are wrong please let me know.

By the way, I'm the slackbuild maintainer for ptlib, opal and ekiga
and I do want to sort this out as ekiga is the only sip/voip app that
looks like any thought went into its gui.

_______________________________________________
ekiga-list mailing list
ekiga-list gnome org
https://mail.gnome.org/mailman/listinfo/ekiga-list
I use ffmpeg from git (version # N-61767-gc08e523) with libx264 from git
./configure --enable-shared --enable-libx264 --enable-gpl --disable-stripping && make && make install
Don't forget disable stripping. I also work with some limitation with libav. (dyna, slopen, dlsym).
Dyna.cxx from opal dlopens libavcodec.so and check functions using dlsym.
If libavcodec is stripped, dlsym fails (and of course dyna).
For avcodec_init, last versions of opal didn't use this call anymore and in opal_10 this call is deprecated -  see opal/plugins/video/common/ffmpeg/libavcodec/avcodec.h

Best regards



--

Thierry Simonnet

ESIEE-Paris

Par respect pour l’environnement, n’imprimez ce mail que si nécessaire




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]