gpt4 book ai didi

c++ - libavcodec.so 的 Asterisk 模块 app_transcoder 失败( undefined symbol avacodec_init)

转载 作者:行者123 更新时间:2023-11-28 06:57:33 25 4
gpt4 key购买 nike

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

当我加载模块“app_transcoder.so”(执行实际的视频转码)时,

Asterisk 挂起,我得到了“asterisk -vvvvvc”

asterisk: symbol lookup error: /usr/lib/asterisk/modules/app_transcoder.so: undefined symbol: avcodec_init

通过“ldd/usr/lib/asterisk/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 -a /usr/local/lib/libavcodec.so.54

给出:

nm: /usr/local/lib/libavcodec.so.54: no symbols

我正在按照 Medooze 中的说明进行操作

CentOS-6.4

ffmpeg-1.2.6

asterisk-1.4.0

x264- 0.142x

ptlib-2.6.7

mpeg4ip-1.6.1

如有任何建议,我们将不胜感激。

最佳答案

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

之后,执行“ldconfig”

重新编译 Asterisk 。

找到这个 ffmpeg 邮件列表:avcodec_init() 现在不使用了。而是使用 avcodec_register_all()。看来您可能需要降级 ffmpeg。

关于c++ - libavcodec.so 的 Asterisk 模块 app_transcoder 失败( undefined symbol avacodec_init),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22960067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com