Le 25/03/2014 08:54, David Woodfall a
écrit :
On
(24/03/14 15:12), Thierry Simonnet
<thierry simonnet esiee fr> put forth the proposition:
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
Thanks Thierry. This had me looking in the right direction. It
turns
out to be --enable-shared in ffmpeg that is the problem. I still
don't
get video for h.263 but that avcodec_init error is gone.
Here's what I see now:
2014/03/25 07:44:09.828 0:07.099 Pool:0x7f1008084700
Opal
Error creating transcoder instance from H.263 to YUV420P
I'll keep plugging away at this.
_______________________________________________
ekiga-list mailing list
ekiga-list gnome org
https://mail.gnome.org/mailman/listinfo/ekiga-list
For plugins : have a look at opal/plugins/video/
H.261 : internal plugin
H.263/H.263-1998 : ffmpeg
H.264 : system if using libx264
common : tools for ffmpeg use, especially dyna for dynamic loader
Check if configure generates Makefile and make builds all plugins.
I had to add -fpermissive flag in Makefile.in, some CODEC_FLAG_Hxx
in h263xx.cxx, and change CodecID by AVCodecID
--
Thierry
Simonnet
ESIEE-Paris
Par
respect pour
l’environnement, n’imprimez ce mail que si nécessaire
|