Ffmpeg 安装,改写Ffmpeg并封装成so

Ffmpeg 下载包

//1.install libs
//attention: 如果系统的x264版本过低,需要对应升级yasm和x264与所下载的Ffmpeg包适应的。

sudo apt-get install build-essential x264 libx264-dev git-core yasm texi2html libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libvdpau-dev libvorbis-dev libvpx-dev libx11-dev libxfixes-dev libxvidcore-dev zlib1g-dev

//各个包的功能不一样,不需要的包可以去掉,不需要安装!可对应查这些包对应功能,大部分是音视频的包

//install x264 ,自己下载ast_x264.tar.bz2 安装包安装
./configure --prefix=/usr/lib  --enable-shared


//2.configure     enable-shared ->*.so    :pwd---ffmpeg/

CFLAGS="-fPIC" ./configure --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab

//对应开启--enable  对应关闭--disable  具体可查看帮助 --enable-shared 是生成动态链接库

3、make编译                                //  如果安装:路径对应configure --prefix  并make install


4、use gcc  to generate libffmpeg.so    :pwd---ffmpeg/   需要把FFmpeg相关库文件( -lavutil -lswscale -lswresample -lavcodec -lavformat -lavfilter -lpostproc -lavdevice)放到环境变量中或者是直接放到/usr/lib

gcc -fPIC -shared -o libffmpeg.so ffmpeg.o cmdutils.o ffmpeg_opt.o ffmpeg_filter.o -L. -lm  -lavutil -lswscale -lswresample -lavcodec -lavformat -lavfilter -lpostproc -lavdevice  -lpthread -ldl  -lrt -lxcb  -lxcb-shm -lxcb-xfixes -lxcb-shape -lxvidcore -lx264 -lvpx -lvorbisenc -lvorbis -ltheoraenc -ltheoradec -lopencore-amrwb -lopencore-amrnb -lmp3lame -lfaac -lz -lc -lXau -lXdmcp -logg

//ldd 查看so对应链接的库文件

关于改写Ffmpeg 成自己想要的代码

可先查看源代码并对应改写成自己的代码,需要重新编译并生成对应的so文件便可  


5、引用自己生成的libffmpeg.so

可以通过jna调用并使用相关的接口

java引用jna的jar包

public interface LgetLib extends Library{

  LgetLib INSTANCE = (LgetLib) Native.loadLibrary("ffmpeg",LgetLib.class);  //包名,除去lib和.so
  参数 对应方法名(参数列表)
  }


通过LgetLib.INSTANCE.对应方法名(参数列表) 使用





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值