Я пытаюсь интегрировать видеошлюз 3G с Asterisk (1.4.0).
Когда я загружаю модуль «app_transcoder.so» (который выполняет фактическое транскодирование видео), тогда
Звездочка висит и с «звездочкой -vvvvvc» я получил
звездочка: ошибка поиска символа: /usr/lib/asterisk/modules/app_transcoder.so: неопределенный символ: avcodec_init
Показаны зависимости app_transcoder.so от «ldd /usr/lib/asterisk/modules/app_transcoder.so«дает:
linux-vdso.so.1 => (0x00007fff851ff000)
libavcodec.so.54 => /usr/local/lib/libavcodec.so.54 (0x00007f8604ec3000)
libswscale.so.2 => /usr/local/lib/libswscale.so.2 (0x00007f8604c6e000)
libc.so.6 => /lib64/libc.so.6 (0x00007f86048d9000)
libavutil.so.52 => /usr/local/lib/libavutil.so.52 (0x00007f86046a7000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f860448a000)
libx264.so.142 => /usr/local/lib/libx264.so.142 (0x00007f86040d1000)
libgsm.so.1 => /usr/lib/libgsm.so.1 (0x00007f8603ec6000)
libm.so.6 => /lib64/libm.so.6 (0x00007f8603c42000)
libz.so.1 => /lib64/libz.so.1 (0x00007f8603a2b000)
/lib64/ld-linux-x86-64.so.2 (0x0000003b14200000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f8603827000)
«avcodec_init» происходит из файла libavcodec.so, но не имеет символов, как в командах:
nm -a /usr/local/lib/libavcodec.so.54
дает:
nm: /usr/local/lib/libavcodec.so.54: без символов
я следую инструкциям Medooze
CentOS-6.4
FFmpeg-1.2.6
Звездочка-1.4.0
х264- 0,142х
ptlib-2.6.7
mpeg4ip-1.6.1
Любой совет приветствуется.
добавлять /usr/local/lib
к вашей библиотеке путь /etc/ld.so.conf
после этого выполните «ldconfig»
перекомпилировать звездочку.
Нашел этот список рассылки ffmpeg: avcodec_init()
не используется в настоящее время. Вместо avcodec_register_all()
используется. Кажется, вам может понадобиться понизить рейтинг ffmpeg.
Других решений пока нет …