libavcodec.so的星号模块app_transcoder失败(未定义的符号avacodec_init)

Asterisk module app_transcoder failed for libavcodec.so (undefined symbol avacodec_init)

本文关键字:未定义 符号 avacodec init 失败 transcoder 模块 app libavcodec so      更新时间:2023-10-16

我正在尝试将3G视频网关与Asterisk(1.4.0)集成。

当我加载模块"app_transcoder.so"(它进行实际的视频转码)时,

星号挂起,加上"星号-vvvvvc",我得到了

星号:符号查找错误:/usr/lib/a星号/modules/app_transcoder.so:未定义的符号:avcodec_init

通过"ldd/usr/lib/abster/modules/app_transcoder.so"显示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-/usr/local/lib/libavcodec.so.54

给出:

nm:/usr/local/lib/libavcodec.so.54:无符号

我遵循Med软泥的指示

CentOS-6.4

ffmpeg-1.2.6

星号-1.4.0

x264-0.142x

ptlib-2.6.7

mpeg4ip-1.6.1

欢迎提出任何建议。

/usr/local/lib添加到库路径/etc/ld.so.conf

之后,执行"ldconfig"

重新编译星号。

发现这个ffmpeg邮件列表:avcodec_init()现在不使用了。而是使用CCD_ 4。看来你可能需要降级ffmpeg。