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



On (25/03/14 14:33), Thierry Simonnet <thierry simonnet esiee fr> put forth the proposition:
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 :

1. register it in libavcodec/avcodec.h and remove static in
   libavcodec/utils.c
2. use avcodec_register instead

I tested both methods

Thanks, I did try patching some of the code to do a avcoded_register and some of the avcodec_alloc_context to avcodec_alloc_context3, but after a few changes it kept segfaulting.

Could you make a patch of what you did so I can test it please?

I downgraded ffmpeg to 0.10.12 now and it works fine for me. Not quite
sure how I'm going to handle on slackbuilds.org though. A patch would
be ideal.

-Dave


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