我正在尝试将3G视频网关与Asterisk(1.4.0)集成。
当我加载模块" app_transcoder.so" (实际的视频转码),然后
asterisk挂起并与" asterisk -vvvvvc"我得到了
星号:符号查找错误:/usr/lib/asterisk/modules/app_transcoder.so:undefined symbol: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
x264- 0.142x
ptlib-2.6.7
MPEG4IP-1.6.1
感谢任何建议。
答案 0 :(得分:1)
将/usr/local/lib
添加到您的图书馆路径/etc/ld.so.conf
之后,执行“ldconfig”
重新编译星号。
发现此ffmpeg邮件列表:avcodec_init()
现在不使用。而是使用avcodec_register_all()
。看来你可能需要降级ffmpeg。