我运行Ubuntu并尝试使用Java中的ffmpeg包装器: http://code.google.com/p/javacv/
它似乎在其他系统上运行良好,但在Ubuntu中项目崩溃 出现以下错误: 线程“main”中的异常java.lang.UnsatisfiedLinkError:查找时出错 function'avcodec_decode_video2':/usr/lib/i686/cmov/libavcodec.so: 未定义的符号:avcodec_decode_video2
不过,ffmpeg在命令行中工作得很好。
JavaCV作者建议我查看这个链接: http://linux-tipps.blogspot.com/2009/05/pretending-package-is-installed-by.html
可能我做错了什么,但它无法重新安装libavcodec51 像这样。
所以问题是: 这些解决方案是否优秀,所以我应该把它变成成功 不知何故? 2.解决问题的其他方法有哪些?
提前感谢您的建议!
答案 0 :(得分:0)
libavcodec是使用C链接构建的,但是当使用C ++构建时,标头不会将声明放在extern "C"
包装器周围。如果libavcodec的Java Native Interface包装器是用C ++编译器构建的,它将使用C ++链接定义函数。在这种情况下,它需要像:
extern "C" {
#include <libavcodec.h>
}
答案 1 :(得分:0)
方法1 1.如果要求您更新,请首先更新您的Flash播放器。 下载并以root用户身份提取Flash tar.gz.open该文件夹。现在输入以下命令:
TGS install_flash_player_11_linux.x86_64#cp -v libflashplayer.so / var / lib / mozilla / plugins / 'libflashplayer.so' - &gt; “/var/lib/mozilla/plugins/libflashplayer.so”
TGS install_flash_player_11_linux.x86_64#cp -v libflashplayer.so / usr / lib / adobe-flashplugin / 'libflashplayer.so' - &gt; “/usr/lib/adobe-flashplugin/libflashplayer.so”
TGS install_flash_player_11_linux.x86_64#
milan @ TGS~ $ sudo add-apt-repository ppa:kirillshkrogalev / ffmpeg-next
milan @ TGS~ $ sudo apt-get update
milan @ TGS~ $ sudo apt-get install ffmpeg
方法2
在firefox中启用libavcodec: 在地址栏中输入about:config,输入 点击&#34;我接受风险&#34;搜索libavcodec 将media.libavcodec.allow-obsolete; false更改为true
http://www.techyo.ga/2016/12/solved-libavcodev-may-be-vulnerable-or.html