Le 25/03/2014 12:15, David Woodfall a
écrit :
On
(25/03/14 11:31), Thierry Simonnet
<thierry simonnet esiee fr> put forth the proposition:
Le 25/03/2014 10:03, David Woodfall a
écrit :
On (25/03/14 09:39), Thierry Simonnet
<thierry simonnet esiee fr> put
forth the proposition:
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 :
...................
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
usr/lib64/opal-3.10.10/codecs/video/h261_vic_ptplugin.so
usr/lib64/opal-3.10.10/codecs/video/theora_ptplugin.so
usr/lib64/opal-3.10.10/codecs/video/mpeg4_ffmpeg_ptplugin.so
usr/lib64/opal-3.10.10/codecs/video/h264_x264_ptplugin.so
usr/lib64/opal-3.10.10/codecs/video/h263_ffmpeg_ptplugin.so
usr/lib64/opal-3.10.10/codecs/video/h264_video_pwplugin_helper
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
Yeah, I have a patch for that AVCodecID problem.
Here's a full message though. It seems to be looking in the
wrong place
for them:
2014/03/25 08:59:40.120 0:04.095
Pool:0x7fd0900d8700 dlopen error ./: cannot read file
data: Is
a directory
2014/03/25 08:59:40.120 0:04.095
Pool:0x7fd0900d8700 dlopen error /usr/local/lib/:
cannot read
file data: Is a directory
2014/03/25 08:59:40.121 0:04.096
Pool:0x7fd0900d8700 dlopen error libavcodec: cannot
open
shared object file: No such file or directory
2014/03/25 08:59:40.121 0:04.096
Pool:0x7fd0900d8700 dlopen error ./libavcodec: cannot
open
shared object file: No such file or directory
2014/03/25 08:59:40.122 0:04.097
Pool:0x7fd0900d8700 dlopen error
/usr/local/lib/libavcodec:
cannot open shared object file: No such file or directory
2014/03/25 08:59:40.122 0:04.097
Pool:0x7fd0900d8700 dlopen error avcodec-55: cannot
open
shared object file: No such file or directory
2014/03/25 08:59:40.122 0:04.097
Pool:0x7fd0900d8700 dlopen error ./avcodec-55: cannot
open
shared object file: No such file or directory
2014/03/25 08:59:40.123 0:04.098
Pool:0x7fd0900d8700 dlopen error
/usr/local/lib/avcodec-55:
cannot open shared object file: No such file or directory
2014/03/25 08:59:40.125 0:04.101
Pool:0x7fd0900d8700
Opal Error creating transcoder instance from H.264-0 to
YUV420P
2014/03/25 08:59:40.257 0:04.232
Pool:0x7fd0900d8700
PVidInDev G_STD failed for fd=59 with error:
Inappropriate ioctl
for device
2014/03/25 08:59:40.262 0:04.237
Pool:0x7fd0900d8700
PVidInDev G_STD failed for fd=59 with error:
Inappropriate ioctl
for device
2014/03/25 08:59:40.286 0:04.261
Pool:0x7fd0900d8700 dlopen error ./: cannot read file
data: Is
a directory
2014/03/25 08:59:40.286 0:04.261
Pool:0x7fd0900d8700 dlopen error /usr/local/lib/:
cannot read
file data: Is a directory
2014/03/25 08:59:40.287 0:04.262
Pool:0x7fd0900d8700 dlopen error libavcodec: cannot
open
shared object file: No such file or directory
2014/03/25 08:59:40.287 0:04.262
Pool:0x7fd0900d8700 dlopen error ./libavcodec: cannot
open
shared object file: No such file or directory
2014/03/25 08:59:40.287 0:04.262
Pool:0x7fd0900d8700 dlopen error
/usr/local/lib/libavcodec:
cannot open shared object file: No such file or directory
2014/03/25 08:59:40.288 0:04.263
Pool:0x7fd0900d8700 dlopen error avcodec-55: cannot
open
shared object file: No such file or directory
2014/03/25 08:59:40.288 0:04.263
Pool:0x7fd0900d8700 dlopen error ./avcodec-55: cannot
open
shared object file: No such file or directory
2014/03/25 08:59:40.288 0:04.263
Pool:0x7fd0900d8700 dlopen error
/usr/local/lib/avcodec-55:
cannot open shared object file: No such file or directory
2014/03/25 08:59:40.289 0:04.264
Pool:0x7fd0900d8700
x264-pipe Error when trying to remove UL named pipe - No
such
file or directory
2014/03/25 08:59:40.289 0:04.264
Pool:0x7fd0900d8700
x264-pipe Error when trying to remove DL named pipe - No
such
file or directory
2014/03/25 08:59:40.291 0:04.266
Pool:0x7fd0900d8700
Opal Error creating transcoder instance from YUV420P to
H.264-0
Looks like I need to build this in a chroot, since my system
is multilib.
That may be messing with it.
_______________________________________________
ekiga-list mailing list
ekiga-list gnome org
https://mail.gnome.org/mailman/listinfo/ekiga-list
PATHS can be set in configure to set LIBAVCODEC_LIBS and
LIBAVUTIL_LIBS
Now the original error is back:
ekiga -d 4 2>&1 | grep -i Error
2014/03/25 11:05:34.692 0:03.945 Pool:0x7f9ba40c0700
H264 Error linking function avcodec_init,
error=/usr/lib64/libavcodec.so.55: undefined symbol: avcodec_init
ffmpeg is not stripped and has both static and shared libs.
Opal configured by:
----
LIBAVCODEC_LIBS="/usr/lib${LIBDIRSUFFIX}/libavcodec.so" \
LIBAVUTIL_LIBS="/usr/lib${LIBDIRSUFFIX}/libavutil.so" \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--localstatedir=/var \
--enable-shared \
--build=$ARCH-slackware-linux
make VERBOSE=1
make install DESTDIR=$PK
----
Quite frankly I'm stumped...
_______________________________________________
ekiga-list mailing list
ekiga-list gnome org
https://mail.gnome.org/mailman/listinfo/ekiga-list
Avcodec_init is defined as static av_cold void in libavcodec/utils.c
and not referenced in libavcodec/avcodec.h. Then it is usable only
by local functions (no output when using nm). It is done like that
because avcodec_init is deprecated and only usable through
avcodec_register...
To make it usable, 2 solutions :
- register it in libavcodec/avcodec.h and remove static in
libavcodec/utils.c
- use avcodec_register instead
I tested both methods
--
Thierry
Simonnet
ESIEE-Paris
Par
respect pour
l’environnement, n’imprimez ce mail que si nécessaire
|